• littledan's avatar
    Async/await Promise dependency graph · 7265fdde
    littledan authored
    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)
    
    BUG=v8:5167
    
    Review-Url: https://codereview.chromium.org/2317383002
    Cr-Commit-Position: refs/heads/master@{#39522}
    7265fdde
async-debug-caught-exception-cases.js 5.09 KB