DescriptionReland Async/await Promise dependency graph
This patch knits together Promises returned by async/await such that when
one async function awaits the result of another one, catch prediction works
across the boundaries, whether the exception comes synchronously or
asynchronously. Edges are added in three places:
- When a locally uncaught await happens, if the value passed into await
is a Promise, from the awaited value to the Promise under construction
in the broader async function
- From a "throwaway" Promise, which may be found on the Promise debug
stack, to the Promise under construction in the async function that
surrounds it
- When a Promise is resolved with another Promise (e.g., when returning a
Promise from an async function)
In this reland, the caught tests are broken up into four parts to avoid
timeouts.
BUG=v8:5167
Committed: https://crrev.com/1b414e283a7db4cca54c6d16e7ccb92c01d27cda
Cr-Commit-Position: refs/heads/master@{#39564}
Patch Set 1 #Patch Set 2 : Remove extra newlines #
Messages
Total messages: 15 (8 generated)
|