• Junliang Yan's avatar
    PPC/s390: [SFI] Add support for flushing old Bytecode from SharedFunctionInfos. · 3136b4f5
    Junliang Yan authored
    Port a55803a1
    
    Original Commit Message:
    
        This change makes the SFI to bytecode link pseudo-weak. The marking visitors
        check whether the bytecode is old, and if so, don't mark it and instead
        push the SFI onto a bytecode_flushing_candidates worklist. Once marking
        is complete, this list is walked, and for any of the candidates who's bytecode
        has not been marked (i.e., is only referenced by the shared function info),
        the bytecode is flushed and the SFI has the function data replaced with
        an UncompiledData (which overwrites the flushed bytecode array).
    
        Since we don't track JSFunctions, these can still think the underlying
        function is compiled, and so calling them will invoke
        InterpreterEntryTrampoline. As such, logic is added to
        InterpreterEntryTrampoline to detect flushed functions, and enter
        CompileLazy instead.
    
    R=rmcilroy@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=v8:8395
    LOG=N
    
    Change-Id: I4a913d318363a584d79aa6d7f4ee09f04a89bbbe
    Reviewed-on: https://chromium-review.googlesource.com/c/1393824Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
    Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
    Cr-Commit-Position: refs/heads/master@{#58508}
    3136b4f5
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...