• 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
..
benchmarks Loading commit data...
cctest Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mozilla Loading commit data...
preparser Loading commit data...
promises-aplus Loading commit data...
simdjs Loading commit data...
test262 Loading commit data...
unittests Loading commit data...
webkit Loading commit data...
bot_default.gyp Loading commit data...
bot_default.isolate Loading commit data...
default.gyp Loading commit data...
default.isolate Loading commit data...
ignition.gyp Loading commit data...
ignition.isolate Loading commit data...
optimize_for_size.gyp Loading commit data...
optimize_for_size.isolate Loading commit data...