• 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
external-reference.cc 44.7 KB