• Jaroslav Sevcik's avatar
    [turbofan] Make the return value explicit in the deoptimization info. · 125d764e
    Jaroslav Sevcik authored
    With this change, the return value is not baked into the translations
    for lazy deoptimization point. Instead, the translation contains
    a position where the return value(s) should be written by
    the deoptimizer. The deoptimizer then constructs the frame as it
    would look before and during the call and then overwrites the relevant
    slot(s) with the return value(s) from the callee.
    
    The advantage is that we do not run the risk of overwriting captured
    objects in the tranlations. Moreover, the translations correctly reflect
    the frame during the call (e.g., if it is inspected by the debugger or
    if an exception is thrown and no value is returned).
    
    Bug: chromium:902608
    Change-Id: I03824f0efec3dd476feacbcc0ab6102c3e6c94bf
    Reviewed-on: https://chromium-review.googlesource.com/c/1329203
    Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
    Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57446}
    125d764e
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni 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 Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind 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...