• Jakob Gruber's avatar
    Reland "[osr] Basic support for concurrent OSR" · d187c6c2
    Jakob Gruber authored
    This is a reland of commit 3ce690ee
    
    Changed for the reland:
    - Remove the currently-unused BytecodeArray member to avoid MSAN
      failures.
    - s/return/continue/ in optimizing-compile-dispatcher.
    
    Original change's description:
    > [osr] Basic support for concurrent OSR
    >
    > This CL adds basic support behind --concurrent-osr,
    > disabled by default.
    >
    > When enabled:
    > 1) the first OSR request starts a concurrent OSR compile job.
    > 2) on completion, the code object is inserted into the OSR cache.
    > 3) the next OSR request picks up the cached code (assuming the request
    >    came from the same JumpLoop bytecode).
    >
    > We add a new osr optimization marker on the feedback vector to
    > track whether an OSR compile is currently in progress.
    >
    > One fundamental issue remains: step 3) above is not guaranteed to
    > hit the same JumpLoop, and a mismatch means the OSR'd code cannot
    > be installed. This will be addressed in a followup by targeting
    > specific bytecode offsets for the install request.
    >
    > This change is based on fanchen.kong@intel.com's earlier
    > change crrev.com/c/3369361, thank you!
    >
    > Bug: v8:12161
    > Change-Id: Ib162906dd4b6ba056f62870aea2990f1369df235
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3548820
    > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    > Commit-Queue: Jakob Linke <jgruber@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#79685}
    
    Bug: v8:12161
    Change-Id: I48b100e5980c909ec5e79d190aaea730c83e9386
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565720Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Commit-Queue: Jakob Linke <jgruber@chromium.org>
    Auto-Submit: Jakob Linke <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#79746}
    d187c6c2