• Benedikt Meurer's avatar
    [ic] Internalize strings on the fly in KeyedLoadICGeneric. · 96b1fdb2
    Benedikt Meurer authored
    This turns on the existing --internalize_on_the_fly flag for the
    MEGAMORPHIC KeyedLoadIC to properly internalize strings before
    looking up the property. This avoids the otherwise taken runtime
    call to %KeyedGetProperty, which is definitely slower.
    
    Initially the --internalize_on_the_fly flag was turned off because
    internalizing strings on the fly causes too much traffic on the
    megamorphic stub cache. We avoid this problem here by not probing
    the stub cache in that case, which still gives the benefit of not
    having to go to the runtime.
    
    This improves the babylon test on the web-tooling-benchmark by around
    2-3% and will probably also help with several tests (like React or
    Ember) on the Speedometer benchmark.
    
    If this CL causes trouble (i.e. tanks something important), we can
    just turn off the --internalize_on_the_fly flag again.
    
    Bug: v8:6936, v8:7026
    Change-Id: If295ed3fd013f8b0ff031f9979e7df21dab817b6
    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
    Reviewed-on: https://chromium-review.googlesource.com/751464Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#49093}
    96b1fdb2
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles 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...
.editorconfig Loading commit data...
.git-blame-ignore-revs 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...
Makefile Loading commit data...
Makefile.android 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...