• Alexey Kozyatinskiy's avatar
    [debug] liveedit in native · 3dfaf826
    Alexey Kozyatinskiy authored
    Liveedit step-by-step:
    1. calculate diff between old source and new source,
    2. map function literals from old source to new source,
    3. create new script for new_source,
    4. mark literals with changed code as changed, all others as unchanged,
    5. check that for changed literals there are no:
      - running generators in the heap,
      - non droppable frames (e.g. running generator) above them on stack.
    6. mark the bottom most frame with changed function as scheduled for
       restart if any.
    7. for unchanged functions:
      - deoptimize,
      - remove from cache,
      - update source positions,
      - move to new script,
      - reset feedback information and preparsed scope information if any,
      - replace any sfi in constant pool with changed one if any.
    8. for changed functions:
      - deoptimize
      - remove from cache,
      - reset feedback information,
      - update all links from js functions to old shared with new one.
    9. swap scripts.
    
    TBR=ulan@chromium.org
    
    Bug: v8:7862,v8:5713
    Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
    Change-Id: I8f6f6156318cc82d6f36d7ebc1c9f7d5f3aa1461
    Reviewed-on: https://chromium-review.googlesource.com/1105493Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54146}
    3dfaf826
Name
Last commit
Last update
..
build Loading commit data...
BUILD.gn Loading commit data...
DEPS Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
injected-script-source.js Loading commit data...
injected-script.cc Loading commit data...
injected-script.h Loading commit data...
injected_script_externs.js Loading commit data...
inspected-context.cc Loading commit data...
inspected-context.h Loading commit data...
inspector_protocol_config.json Loading commit data...
js_protocol-1.2.json Loading commit data...
js_protocol-1.3.json Loading commit data...
js_protocol.json Loading commit data...
js_protocol.pdl Loading commit data...
remote-object-id.cc Loading commit data...
remote-object-id.h Loading commit data...
search-util.cc Loading commit data...
search-util.h Loading commit data...
string-16.cc Loading commit data...
string-16.h Loading commit data...
string-util.cc Loading commit data...
string-util.h Loading commit data...
test-interface.cc Loading commit data...
test-interface.h Loading commit data...
v8-console-agent-impl.cc Loading commit data...
v8-console-agent-impl.h Loading commit data...
v8-console-message.cc Loading commit data...
v8-console-message.h Loading commit data...
v8-console.cc Loading commit data...
v8-console.h Loading commit data...
v8-debugger-agent-impl.cc Loading commit data...
v8-debugger-agent-impl.h Loading commit data...
v8-debugger-script.cc Loading commit data...
v8-debugger-script.h Loading commit data...
v8-debugger.cc Loading commit data...
v8-debugger.h Loading commit data...
v8-function-call.cc Loading commit data...
v8-function-call.h Loading commit data...
v8-heap-profiler-agent-impl.cc Loading commit data...
v8-heap-profiler-agent-impl.h Loading commit data...
v8-injected-script-host.cc Loading commit data...
v8-injected-script-host.h Loading commit data...
v8-inspector-impl.cc Loading commit data...
v8-inspector-impl.h Loading commit data...
v8-inspector-session-impl.cc Loading commit data...
v8-inspector-session-impl.h Loading commit data...
v8-internal-value-type.cc Loading commit data...
v8-internal-value-type.h Loading commit data...
v8-profiler-agent-impl.cc Loading commit data...
v8-profiler-agent-impl.h Loading commit data...
v8-regex.cc Loading commit data...
v8-regex.h Loading commit data...
v8-runtime-agent-impl.cc Loading commit data...
v8-runtime-agent-impl.h Loading commit data...
v8-schema-agent-impl.cc Loading commit data...
v8-schema-agent-impl.h Loading commit data...
v8-stack-trace-impl.cc Loading commit data...
v8-stack-trace-impl.h Loading commit data...
v8-value-utils.cc Loading commit data...
v8-value-utils.h Loading commit data...
wasm-translation.cc Loading commit data...
wasm-translation.h Loading commit data...