• Caitlin Potter's avatar
    [builtins] port Promise.all to CSA · 7ef1df85
    Caitlin Potter authored
    Introduces CodeStubAssembler helpers for common Iterator operations
    (GetIterator, IteratorStep, IteratorClose).
    
    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.debug build by 11.44kb
    
    BUG=v8:5343
    R=cbruni@chromium.org, gsathysa@chromium.org, jgruber@chromium.org
    
    Change-Id: Id69b7f76866b29caccd97f35870154c4be85f418
    Reviewed-on: https://chromium-review.googlesource.com/497974
    Commit-Queue: Caitlin Potter <caitp@igalia.com>
    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@{#45306}
    7ef1df85
code-stub-assembler.cc 336 KB