• Vaclav Brozek's avatar
    TF stubs out of ArrayIndexOf and ArrayInclude builtins · 44bed6a8
    Vaclav Brozek authored
    ArrayIndexOf is a monolithic builtin which does some checking and then handles
    three groups of fast arrays: those with holey doubles, compacted doubles and
    SMIs+objects. TF cannot reuse this efficiently, because calling the TFJ
    ArrayIndexOf duplicates some checks and also does not allow passing arguments
    through registers. Similarly for ArrayInclude.
    
    This CL splits the three different types of fast array handling into a separate
    TF stubs, and makes the parent TFJ as well as TurboFan itself use them where
    appropriate.
    
    The TODOs not tackled in this CL inculde:
    * passing an empty context to spare a register when possible
    * inlining the search loop if there is any performance gain to it
    
    (This is the contiunation of http://crrev.com/2757853002, moved due to Rietveld
    deprecation.)
    
    BUG=v8:5985
    
    Change-Id: I00c97b71be4892f8bc7e1ed6d72e02087618a9a6
    Reviewed-on: https://chromium-review.googlesource.com/573020
    Commit-Queue: Vaclav Brozek <vabr@chromium.org>
    Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#51729}
    44bed6a8
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides 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...
.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...
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...