• Adam Klein's avatar
    [builtins] Widen fast path for IterableToList · f57273ae
    Adam Klein authored
    When TypedArray builtin code was still in JS, we used to completely
    elide IterableToList when passed an array. This meant that it was
    possible for the builtins to observe side-effects which mutated the
    array when that should have been impossible.
    
    When IterableToList was ported to CSA, it changed to clone the passed-in
    array instead of passing it through. This means that there's now no
    need to guard against side-effects due to ToNumber conversions, so we
    can simply return the result of Object::IterationHasObservableEffects.
    
    Though no test changes are included here, this code is covered
    by the regression tests added previously when this runtime function
    was added (and later modified).
    
    This still leaves a future TODO to port IterationHasObservableEffects
    to CSA.
    
    Change-Id: If913c035b124ecb59a5f647344b653429a162a2b
    Reviewed-on: https://chromium-review.googlesource.com/1159733Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
    Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
    Commit-Queue: Adam Klein <adamk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54876}
    f57273ae
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps 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...
.gitattributes 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...