• 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...
build Loading commit data...
docs Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...