Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(370)

Issue 2346363004: Reland Async/await Promise dependency graph (Closed)

Created:
4 years, 3 months ago by Dan Ehrenberg
Modified:
4 years, 3 months ago
Reviewers:
adamk
CC:
caitp, jgruber, kozy, v8-reviews_googlegroups.com, Yang
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Reland 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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+193 lines, -76 lines) Patch
M src/heap-symbols.h View 1 chunk +2 lines, -2 lines 0 comments Download
M src/js/harmony-async-await.js View 4 chunks +29 lines, -17 lines 0 comments Download
M src/js/prologue.js View 1 chunk +2 lines, -1 line 0 comments Download
M src/js/promise.js View 11 chunks +58 lines, -22 lines 0 comments Download
M src/parsing/parser.cc View 2 chunks +4 lines, -2 lines 0 comments Download
M test/mjsunit/harmony/async-debug-caught-exception-cases.js View 4 chunks +86 lines, -24 lines 0 comments Download
A + test/mjsunit/harmony/async-debug-caught-exception-cases0.js View 1 1 chunk +3 lines, -2 lines 0 comments Download
A + test/mjsunit/harmony/async-debug-caught-exception-cases1.js View 1 1 chunk +3 lines, -2 lines 0 comments Download
A + test/mjsunit/harmony/async-debug-caught-exception-cases2.js View 1 chunk +3 lines, -2 lines 0 comments Download
A + test/mjsunit/harmony/async-debug-caught-exception-cases3.js View 1 chunk +3 lines, -2 lines 0 comments Download

Messages

Total messages: 15 (8 generated)
Dan Ehrenberg
4 years, 3 months ago (2016-09-20 18:00:48 UTC) #4
adamk
lgtm
4 years, 3 months ago (2016-09-20 18:03:38 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2346363004/20001
4 years, 3 months ago (2016-09-20 18:05:36 UTC) #10
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 3 months ago (2016-09-20 19:03:27 UTC) #11
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/1b414e283a7db4cca54c6d16e7ccb92c01d27cda Cr-Commit-Position: refs/heads/master@{#39564}
4 years, 3 months ago (2016-09-20 19:04:36 UTC) #13
Michael Achenbach
Could you continue to think about how to make these tests faster? By splitting them ...
4 years, 3 months ago (2016-09-20 20:26:25 UTC) #14
Dan Ehrenberg
4 years, 3 months ago (2016-09-20 20:35:27 UTC) #15
Message was sent while issue was closed.
On 2016/09/20 at 20:26:25, machenbach wrote:
> Could you continue to think about how to make these tests faster? By splitting
them up we might not run into the timeouts, but we still burn quite some
computing time. These tests are still in the top 10 of slowest tests on some
bots, e.g.:
>
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/...
> 
> Please check what makes these tests so slow and if really all
cases/combinations that are tested are relevant.

I think we benefit by testing all combinations; in developing the patch, I found
issues in unexpected combinations. On the other hand, I'd be OK with running
these tests only in Release mode, skipping Debug mode, if they are taking
significant testing resources.

Powered by Google App Engine
This is Rietveld 408576698