• Alexey Kozyatinskiy's avatar
    Reland "[debug] liveedit in native" · 5505c664
    Alexey Kozyatinskiy authored
    This is a reland of 3dfaf826
    
    Original change's description:
    > [debug] liveedit in native
    >
    > 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/1105493
    > Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    > Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
    > Reviewed-by: Yang Guo <yangguo@chromium.org>
    > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#54146}
    
    TBR=dgozman@chromium.org
    
    Bug: v8:7862, v8:5713
    Change-Id: I163ed2fd2ca3115ba0de74cb35a6fac9e40fdd94
    Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
    Reviewed-on: https://chromium-review.googlesource.com/1124879
    Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54187}
    5505c664
liveedit.cc 40.9 KB