• Sigurd Schneider's avatar
    [turbofan] Inline StringCharCodeAt like Crankshaft did. · c509d025
    Sigurd Schneider authored
    This avoids the call to the StringCharCodeAt builtin from
    within TurboFan optimized code and instead emits a loop
    that does the character load. This (together with previously
    reverted CL to the JSCallReducer) almost completely recovers
    the performance regression caused when we shipped TurboFan.
    
    Without untrusted code mitigations the benchmark goes from
    580ms to roughly 490ms, and with the patch to the JSCallReducer
    the time goes down to 280ms, which is very close to what we
    had with Crankshaft.
    
    This also renames the LoadFromString helper method in the
    EffectControlLinearizer to LoadFromSeqString to make it
    clear what it does.
    
    Bug: v8:7326
    Change-Id: I6c77209ae01a3eacbd1e8fd40e4ad842eaf1999a
    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
    Reviewed-on: https://chromium-review.googlesource.com/876102
    Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
    Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#50725}
    c509d025
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...