• bmeurer's avatar
    [turbofan] Decouple inlining and native context specialization. · 9b14e5bb
    bmeurer authored
    Retrieve the native context/global object from the Node being
    specialized in the JSNativeContextSpecialization and the
    JSGlobalObjectSpecialization classes. For this we introduce two
    new methods NodeProperties::GetSpecializationNativeContext and
    NodeProperties::GetSpecializationGlobalObject, which walk up
    the context chain and might in the end take the native context
    from the outermost activation (if native context specialization
    is enabled). This allows us to run the native context specialization
    pass as part of the inlining phase without hacking some of that into
    the JSInliner.
    
    Also refactor the NodeProperties::GetSpecializationContext method
    that was previously local to the JSContextSpecialization.
    
    Also refactor two other oddities in JSNativeContextSpecialization.
    
    R=jarin@chromium.org
    BUG=v8:4470, v8:4493
    LOG=n
    
    Review URL: https://codereview.chromium.org/1451143005
    
    Cr-Commit-Position: refs/heads/master@{#32076}
    9b14e5bb
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
docs 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/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl 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...