• 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
..
runtime-array.cc Loading commit data...
runtime-atomics.cc Loading commit data...
runtime-bigint.cc Loading commit data...
runtime-classes.cc Loading commit data...
runtime-collections.cc Loading commit data...
runtime-compiler.cc Loading commit data...
runtime-date.cc Loading commit data...
runtime-debug.cc Loading commit data...
runtime-forin.cc Loading commit data...
runtime-function.cc Loading commit data...
runtime-futex.cc Loading commit data...
runtime-generator.cc Loading commit data...
runtime-internal.cc Loading commit data...
runtime-interpreter.cc Loading commit data...
runtime-intl.cc Loading commit data...
runtime-literals.cc Loading commit data...
runtime-maths.cc Loading commit data...
runtime-module.cc Loading commit data...
runtime-numbers.cc Loading commit data...
runtime-object.cc Loading commit data...
runtime-operators.cc Loading commit data...
runtime-promise.cc Loading commit data...
runtime-proxy.cc Loading commit data...
runtime-regexp.cc Loading commit data...
runtime-scopes.cc Loading commit data...
runtime-strings.cc Loading commit data...
runtime-symbol.cc Loading commit data...
runtime-test.cc Loading commit data...
runtime-typedarray.cc Loading commit data...
runtime-utils.h Loading commit data...
runtime-wasm.cc Loading commit data...
runtime.cc Loading commit data...
runtime.h Loading commit data...