• Benedikt Meurer's avatar
    [async] Add Promise.all() support to --async-stack-traces. · 6f39ab89
    Benedikt Meurer authored
    This adds support for Promise.all() to --async-stack-traces (also at
    zero cost, since we can derive the relevant information from the resolve
    element closure and context). In case of `Promise.all(a)` the stack
    trace even tells you which element of `a` is responsible, for example
    
    ```js
    async function fine() {}
    async function thrower() { await fine(); throw new Error(); }
    async function test() { await Promise.all([fine(), thrower()]); }
    ```
    
    will generate the following stack trace
    
    ```
    Error
        at thrower (something.js:1:9)
        at async Promise.all (index 1)
        at async test (something.js:3:3)
    ```
    
    so it not only shows the async Promise.all() frames, but even tells the
    user exactly that the second element of `[fine(), thrower()]` is the
    relevant one.
    
    Bug: v8:7522
    Change-Id: I279a845888e06053cf0e3c9338ab71caabaabf45
    Reviewed-on: https://chromium-review.googlesource.com/c/1299248Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57023}
    6f39ab89
Name
Last commit
Last update
..
allocation-site-inl.h Loading commit data...
allocation-site.h Loading commit data...
api-callbacks-inl.h Loading commit data...
api-callbacks.h Loading commit data...
arguments-inl.h Loading commit data...
arguments.h Loading commit data...
bigint.cc Loading commit data...
bigint.h Loading commit data...
builtin-function-id.h Loading commit data...
code-inl.h Loading commit data...
code.h Loading commit data...
compilation-cache-inl.h Loading commit data...
compilation-cache.h Loading commit data...
data-handler-inl.h Loading commit data...
data-handler.h Loading commit data...
debug-objects-inl.h Loading commit data...
debug-objects.cc Loading commit data...
debug-objects.h Loading commit data...
descriptor-array.h Loading commit data...
dictionary.h Loading commit data...
fixed-array-inl.h Loading commit data...
fixed-array.h Loading commit data...
frame-array-inl.h Loading commit data...
frame-array.h Loading commit data...
hash-table-inl.h Loading commit data...
hash-table.h Loading commit data...
heap-object-inl.h Loading commit data...
heap-object.h Loading commit data...
intl-objects.cc Loading commit data...
intl-objects.h Loading commit data...
js-array-buffer-inl.h Loading commit data...
js-array-buffer.cc Loading commit data...
js-array-buffer.h Loading commit data...
js-array-inl.h Loading commit data...
js-array.h Loading commit data...
js-break-iterator-inl.h Loading commit data...
js-break-iterator.cc Loading commit data...
js-break-iterator.h Loading commit data...
js-collator-inl.h Loading commit data...
js-collator.cc Loading commit data...
js-collator.h Loading commit data...
js-collection-inl.h Loading commit data...
js-collection.h Loading commit data...
js-date-time-format-inl.h Loading commit data...
js-date-time-format.cc Loading commit data...
js-date-time-format.h Loading commit data...
js-generator-inl.h Loading commit data...
js-generator.h Loading commit data...
js-list-format-inl.h Loading commit data...
js-list-format.cc Loading commit data...
js-list-format.h Loading commit data...
js-locale-inl.h Loading commit data...
js-locale.cc Loading commit data...
js-locale.h Loading commit data...
js-number-format-inl.h Loading commit data...
js-number-format.cc Loading commit data...
js-number-format.h Loading commit data...
js-objects-inl.h Loading commit data...
js-objects.h Loading commit data...
js-plural-rules-inl.h Loading commit data...
js-plural-rules.cc Loading commit data...
js-plural-rules.h Loading commit data...
js-promise-inl.h Loading commit data...
js-promise.h Loading commit data...
js-proxy-inl.h Loading commit data...
js-proxy.h Loading commit data...
js-regexp-inl.h Loading commit data...
js-regexp-string-iterator-inl.h Loading commit data...
js-regexp-string-iterator.h Loading commit data...
js-regexp.h Loading commit data...
js-relative-time-format-inl.h Loading commit data...
js-relative-time-format.cc Loading commit data...
js-relative-time-format.h Loading commit data...
js-segment-iterator-inl.h Loading commit data...
js-segment-iterator.cc Loading commit data...
js-segment-iterator.h Loading commit data...
js-segmenter-inl.h Loading commit data...
js-segmenter.cc Loading commit data...
js-segmenter.h Loading commit data...
js-weak-refs-inl.h Loading commit data...
js-weak-refs.h Loading commit data...
literal-objects-inl.h Loading commit data...
literal-objects.cc Loading commit data...
literal-objects.h Loading commit data...
managed.cc Loading commit data...
managed.h Loading commit data...
map-inl.h Loading commit data...
map.h Loading commit data...
maybe-object-inl.h Loading commit data...
maybe-object.h Loading commit data...
microtask-inl.h Loading commit data...
microtask-queue-inl.h Loading commit data...
microtask-queue.cc Loading commit data...
microtask-queue.h Loading commit data...
microtask.h Loading commit data...
module-inl.h Loading commit data...
module.cc Loading commit data...
module.h Loading commit data...
name-inl.h Loading commit data...
name.h Loading commit data...
object-macros-undef.h Loading commit data...
object-macros.h Loading commit data...
ordered-hash-table-inl.h Loading commit data...
ordered-hash-table.cc Loading commit data...
ordered-hash-table.h Loading commit data...
promise-inl.h Loading commit data...
promise.h Loading commit data...
property-array-inl.h Loading commit data...
property-array.h Loading commit data...
property-descriptor-object-inl.h Loading commit data...
property-descriptor-object.h Loading commit data...
prototype-info-inl.h Loading commit data...
prototype-info.h Loading commit data...
regexp-match-info.h Loading commit data...
scope-info.cc Loading commit data...
scope-info.h Loading commit data...
script-inl.h Loading commit data...
script.h Loading commit data...
shared-function-info-inl.h Loading commit data...
shared-function-info.h Loading commit data...
slots-inl.h Loading commit data...
slots.h Loading commit data...
stack-frame-info-inl.h Loading commit data...
stack-frame-info.h Loading commit data...
string-inl.h Loading commit data...
string-table.h Loading commit data...
string.h Loading commit data...
template-objects.cc Loading commit data...
template-objects.h Loading commit data...
templates-inl.h Loading commit data...
templates.h Loading commit data...