• 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
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...