• Patrick Thier's avatar
    Reland "[sparkplug] OSR Ignition -> Sparkplug" · 064ca18c
    Patrick Thier authored
    This is a reland of b9c521d0.
    
    Fixes crashes by calling kInstallBaselineCode from BaselineEntry if
    needed, i.e. when there is no feedback vector (required a bit of
    register rejiggling).
    This can happen with cross-realm calls. The OSR arming is stored as
    part of the BytecodeArray and therefore shared across realms.
    
    Original change's description:
    > [sparkplug] OSR Ignition -> Sparkplug
    >
    > Add support for OSR to baseline code.
    > We compile baseline and perform OSR immediately when the bytecode budget
    > interrupt hits.
    >
    > Drive-by: Clean-up deoptimizer special handling of JumpLoop by using
    > the newly introduced GetBaselinePCForNextExecutedBytecode instead of
    > GetBaselineEndPCForBytecodeOffset.
    >
    > Bug: v8:11420
    > Change-Id: Ifbea264d4a83a127dd2a11e28626bf2a5e8aca59
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784687
    > Commit-Queue: Patrick Thier <pthier@chromium.org>
    > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#73677}
    
    Bug: v8:11420
    Change-Id: I67325450514ed5a1170b730b1dd59fa6acc6e1d8
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2800112Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Commit-Queue: Patrick Thier <pthier@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73803}
    064ca18c
code-factory.cc 17.3 KB