• Ross McIlroy's avatar
    Reland "[Compiler] Introduce IsCompiledScope which prevents flushing of compiled code" · e7ea6545
    Ross McIlroy authored
    This is a reland of 10ea3f8a
    
    Original change's description:
    > [Compiler] Introduce IsCompiledScope which prevents flushing of compiled code
    >
    > Introduces a IsCompiledScope object which can be used to check whether a
    > function is compiled, and ensure it remains compiled for the lifetime
    > of the scope without being uncompiled by bytecode flushing. The Compile
    > functions are modified to take a scope so that calling code can ensure
    > the function remains compiled for the lifetime they require.
    >
    > Also, don't allocate a feedback vector for asm-wasm code as this
    > is never used, and will be reallocated if the asm-wasm code fails to
    > instantiate the module and we fallback to regular JavaScript.
    >
    > Also restructure Compiler::PostInstantiation() to allocate the feedback
    > vector once, and do the optimized code check before optimizing for
    > always opt.
    >
    > BUG=v8:8395
    >
    > Change-Id: I3f1a71143fcae3d1a0c01eefe91ebb4b8594221a
    > Reviewed-on: https://chromium-review.googlesource.com/c/1352295
    > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#57971}
    
    TBR=jgruber@chromium.org,mstarzinger@chromium.org
    
    Bug: v8:8395
    Change-Id: I8dc00798a5680997990c879c3380fe4febd47297
    Reviewed-on: https://chromium-review.googlesource.com/c/1357045
    Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
    Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57982}
    e7ea6545
compiler.h 15.5 KB