• Ross McIlroy's avatar
    [Compiler] Introduce IsCompiledScope which prevents flushing of compiled code · 10ea3f8a
    Ross McIlroy authored
    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/1352295Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57971}
    10ea3f8a
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...