• sigurds's avatar
    [turbofan] Deopt support for escape analysis · 3b473d7a
    sigurds authored
    Deopt support is added on two levels. On the IR level,
    a new ObjectState node is added, which represenents an
    object to be materialized. ObjectState nodes appear as
    inputs of FrameState and StateValues nodes. On the
    instruction select/code-generation level, the
    FrameStateDescriptor class handles the nesting
    introduced by ObjectState, and ensures that deopt code
    with CAPTURED_OBJECT/DUPLICATED_OBJECT entries are
    generated similarly to what crankshaft's escape
    analysis does.
    
    Two unittests test correctness of the IR level implementation.
    
    Correctness for instruction selection / code generation
    is tested by mjsunit tests.
    
    R=jarin@chromium.org,mstarzinger@chromium.org
    BUG=v8:4586
    LOG=n
    
    Review URL: https://codereview.chromium.org/1485183002
    
    Cr-Commit-Position: refs/heads/master@{#33115}
    3b473d7a
Name
Last commit
Last update
..
base Loading commit data...
compiler Loading commit data...
heap Loading commit data...
interpreter Loading commit data...
libplatform Loading commit data...
runtime Loading commit data...
wasm Loading commit data...
DEPS Loading commit data...
atomic-utils-unittest.cc Loading commit data...
cancelable-tasks-unittest.cc Loading commit data...
char-predicates-unittest.cc Loading commit data...
counters-unittest.cc Loading commit data...
locked-queue-unittest.cc Loading commit data...
run-all-unittests.cc Loading commit data...
test-utils.cc Loading commit data...
test-utils.h Loading commit data...
unittests.gyp Loading commit data...
unittests.isolate Loading commit data...
unittests.status Loading commit data...