• Patrick Thier's avatar
    Reland "[sparkplug][deoptimizer] Deoptimize to baseline." · e3ccb538
    Patrick Thier authored
    This is a reland of bdcd7d79
    
    Handle lazy deopts when the current bytecode is JumpLoop.
    Instead of advancing to the next bytecode, re-execute the JumpLoop.
    
    TBR=jgruber@chromium.org, neis@chromium.org
    
    Original change's description:
    > [sparkplug][deoptimizer] Deoptimize to baseline.
    >
    > If we have baseline code, deoptimize to baseline instead of the
    > interpreter. The process is similar to deopting to the interpreter.
    > We just use different builtins
    > (BaselineEnterAtBytecode/BaselineEnterAtNextBytecode) instead of
    > InterpreterEnterBytecodeDispatch/InterpreterEnterBytecodeAdvance, that
    > patch an interpreter frame to a baseline frame and continue execution in
    > baseline code (based on the deopt type, at the current or next
    > bytecode).
    >
    > Bug: v8:11420
    > Change-Id: Iabaefb36c05155a435c7b380906a86d9b9d549fa
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695591
    > Commit-Queue: Patrick Thier <pthier@chromium.org>
    > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    > Reviewed-by: Georg Neis <neis@chromium.org>
    > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#73609}
    
    Bug: v8:11420
    Change-Id: Ib8cac028121188ddc23ff29377760ed684eb7392
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2783035Reviewed-by: 's avatarPatrick Thier <pthier@chromium.org>
    Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Commit-Queue: Patrick Thier <pthier@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73636}
    e3ccb538
Name
Last commit
Last update
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
riscv64 Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
aligned-slot-allocator.cc Loading commit data...
aligned-slot-allocator.h Loading commit data...
assembler-arch.h Loading commit data...
assembler-inl.h Loading commit data...
assembler.cc Loading commit data...
assembler.h Loading commit data...
bailout-reason.cc Loading commit data...
bailout-reason.h Loading commit data...
callable.h Loading commit data...
code-comments.cc Loading commit data...
code-comments.h Loading commit data...
code-desc.cc Loading commit data...
code-desc.h Loading commit data...
code-factory.cc Loading commit data...
code-factory.h Loading commit data...
code-reference.cc Loading commit data...
code-reference.h Loading commit data...
code-stub-assembler.cc Loading commit data...
code-stub-assembler.h Loading commit data...
compilation-cache.cc Loading commit data...
compilation-cache.h Loading commit data...
compiler.cc Loading commit data...
compiler.h Loading commit data...
constant-pool.cc Loading commit data...
constant-pool.h Loading commit data...
constants-arch.h Loading commit data...
cpu-features.h Loading commit data...
external-reference-encoder.cc Loading commit data...
external-reference-encoder.h Loading commit data...
external-reference-table.cc Loading commit data...
external-reference-table.h Loading commit data...
external-reference.cc Loading commit data...
external-reference.h Loading commit data...
flush-instruction-cache.cc Loading commit data...
flush-instruction-cache.h Loading commit data...
handler-table.cc Loading commit data...
handler-table.h Loading commit data...
interface-descriptors.cc Loading commit data...
interface-descriptors.h Loading commit data...
label.h Loading commit data...
machine-type.cc Loading commit data...
machine-type.h Loading commit data...
macro-assembler-inl.h Loading commit data...
macro-assembler.h Loading commit data...
optimized-compilation-info.cc Loading commit data...
optimized-compilation-info.h Loading commit data...
pending-optimization-table.cc Loading commit data...
pending-optimization-table.h Loading commit data...
register-arch.h Loading commit data...
register-configuration.cc Loading commit data...
register-configuration.h Loading commit data...
register.h Loading commit data...
reglist.h Loading commit data...
reloc-info.cc Loading commit data...
reloc-info.h Loading commit data...
safepoint-table.cc Loading commit data...
safepoint-table.h Loading commit data...
signature.h Loading commit data...
source-position-table.cc Loading commit data...
source-position-table.h Loading commit data...
source-position.cc Loading commit data...
source-position.h Loading commit data...
string-constants.cc Loading commit data...
string-constants.h Loading commit data...
tick-counter.cc Loading commit data...
tick-counter.h Loading commit data...
tnode.cc Loading commit data...
tnode.h Loading commit data...
turbo-assembler.cc Loading commit data...
turbo-assembler.h Loading commit data...
unoptimized-compilation-info.cc Loading commit data...
unoptimized-compilation-info.h Loading commit data...