• Mike Stanton's avatar
    [CSA builtins] Fast case array iteration does unnecessary prototype walks · 61bb129f
    Mike Stanton authored
    In ArrayBuiltinsAssembler::VisitAllFastElementsOneKind(), we enumerate
    an arrays elements, carefully checking for the "hole" when required.
    This code is only called for arrays whose prototype is the initial array
    prototype. And the path is only available when the initial array
    prototype is free of elements. Since that's the case, we only need to
    verify that the initial array prototype remains free of elements during
    an iteration with javascript callbacks. We don't need a body of code
    that can walk the prototype chain looking for elements visible through
    the "hole" value. In practice, this code was never run.
    
    Change-Id: Iba5e275c559d495aa1cf6a4f29d66e2ce475c981
    Reviewed-on: https://chromium-review.googlesource.com/1015023
    Commit-Queue: Michael Stanton <mvstanton@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#52660}
    61bb129f
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...