• 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
..
runtime-array.cc Loading commit data...
runtime-atomics.cc Loading commit data...
runtime-bigint.cc Loading commit data...
runtime-classes.cc Loading commit data...
runtime-collections.cc Loading commit data...
runtime-compiler.cc Loading commit data...
runtime-date.cc Loading commit data...
runtime-debug.cc Loading commit data...
runtime-forin.cc Loading commit data...
runtime-function.cc Loading commit data...
runtime-futex.cc Loading commit data...
runtime-generator.cc Loading commit data...
runtime-internal.cc Loading commit data...
runtime-interpreter.cc Loading commit data...
runtime-intl.cc Loading commit data...
runtime-literals.cc Loading commit data...
runtime-liveedit.cc Loading commit data...
runtime-maths.cc Loading commit data...
runtime-module.cc Loading commit data...
runtime-numbers.cc Loading commit data...
runtime-object.cc Loading commit data...
runtime-operators.cc Loading commit data...
runtime-promise.cc Loading commit data...
runtime-proxy.cc Loading commit data...
runtime-regexp.cc Loading commit data...
runtime-scopes.cc Loading commit data...
runtime-strings.cc Loading commit data...
runtime-symbol.cc Loading commit data...
runtime-test.cc Loading commit data...
runtime-typedarray.cc Loading commit data...
runtime-utils.h Loading commit data...
runtime-wasm.cc Loading commit data...
runtime.cc Loading commit data...
runtime.h Loading commit data...