• Caitlin Potter's avatar
    Reland "[builtins] port Promise.all to CSA" · 8ada7538
    Caitlin Potter authored
    Simplifies the implementation of IteratorClose in IteratorBuiltinsAssembler, and makes clear that it is only invoked when an exception occurs. Adds exception handling support to GetIterator, IteratorStep, and IteratorCloseOnException.
    
    Moves the Promise.all resolveElement closure and it's caller to
    builtins-promise-gen.cc.
    
    Instead of creating an internal array (and copying its elements into a
    result
    array), a single JSArray is allocated, and appended with
    BuildAppendJSArray(),
    falling back to %CreateDataProperty(), and elements are updated in the
    resolve
    closure the same way. This should always be unobservable.
    
    This CL increases the size of snapshot_blob.bin on an x64.release build
    by 8.51kb
    
    BUG=v8:5343
    R=cbruni@chromium.org, gsathysa@chromium.org, jgruber@chromium.org, hpayer@chromium.org, tebbi@chromium.org
    
    Change-Id: I29c4a529154ef49ad65555ce6ddc2c5b7c9de6b3
    Reviewed-on: https://chromium-review.googlesource.com/508473
    Commit-Queue: Caitlin Potter <caitp@igalia.com>
    Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
    Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
    Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
    Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#45946}
    8ada7538
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...
.gitignore Loading commit data...
.gn 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...