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

Issue 1274133002: Don't zone-register async callbacks for every await call in the VM. (Closed)

Created:
5 years, 4 months ago by floitsch
Modified:
5 years, 4 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org, Cutch
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Don't zone-register async callbacks for every await call in the VM. This has the nice side-effect that the stack_trace package provides nicer chains. Fixes issue 23394. R=hausner@google.com Committed: https://github.com/dart-lang/sdk/commit/4dae43d63727268f2e0cc45d6020246eb49177b8 Reverted: https://github.com/dart-lang/sdk/commit/cb4f9fc925c5a92c6cf756751e38296383f66507 Committed: https://github.com/dart-lang/sdk/commit/debf1d6f7c2f97831cda1f6fa18093f76ed0545c

Patch Set 1 #

Total comments: 5

Patch Set 2 : Address comments and a few fixes. #

Patch Set 3 : Add source position to await #

Patch Set 4 : Don't capture variable that isn't used in closure. Add test. #

Patch Set 5 : Rename function in test. #

Patch Set 6 : Move async-classes to async patch. Address comments. #

Total comments: 6

Patch Set 7 : Address comments. #

Patch Set 8 : Upload after revert #

Patch Set 9 : load async-op var. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+493 lines, -208 lines) Patch
M runtime/lib/async_patch.dart View 1 2 3 4 5 6 1 chunk +178 lines, -0 lines 0 comments Download
M runtime/lib/core_patch.dart View 1 2 3 4 5 2 chunks +0 lines, -132 lines 0 comments Download
M runtime/vm/ast_transformer.cc View 1 2 3 4 5 6 7 8 4 chunks +34 lines, -72 lines 0 comments Download
M runtime/vm/parser.cc View 1 2 3 4 5 6 7 8 8 chunks +131 lines, -3 lines 0 comments Download
M runtime/vm/symbols.h View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download
M sdk/lib/async/future_impl.dart View 1 3 chunks +3 lines, -1 line 0 comments Download
A tests/lib/async/async_await_zones_test.dart View 1 2 3 4 5 6 1 chunk +142 lines, -0 lines 0 comments Download

Messages

Total messages: 14 (3 generated)
Lasse Reichstein Nielsen
Optimization comments. https://chromiumcodereview.appspot.com/1274133002/diff/1/runtime/lib/async_patch.dart File runtime/lib/async_patch.dart (right): https://chromiumcodereview.appspot.com/1274133002/diff/1/runtime/lib/async_patch.dart#newcode22 runtime/lib/async_patch.dart:22: var future, Function thenCallback, Function errorCallback) { ...
5 years, 4 months ago (2015-08-06 14:19:58 UTC) #2
floitsch
I ended up moving the other async helper to the async-patch, too. This way they ...
5 years, 4 months ago (2015-08-11 15:27:50 UTC) #5
floitsch
https://chromiumcodereview.appspot.com/1274133002/diff/1/runtime/lib/async_patch.dart File runtime/lib/async_patch.dart (right): https://chromiumcodereview.appspot.com/1274133002/diff/1/runtime/lib/async_patch.dart#newcode22 runtime/lib/async_patch.dart:22: var future, Function thenCallback, Function errorCallback) { On 2015/08/11 ...
5 years, 4 months ago (2015-08-11 15:28:37 UTC) #6
hausner
LGTM. Thank you for the comments and explanations in async_patch.dart. https://chromiumcodereview.appspot.com/1274133002/diff/100001/runtime/lib/async_patch.dart File runtime/lib/async_patch.dart (right): https://chromiumcodereview.appspot.com/1274133002/diff/100001/runtime/lib/async_patch.dart#newcode22 ...
5 years, 4 months ago (2015-08-11 21:22:07 UTC) #7
floitsch
https://codereview.chromium.org/1274133002/diff/100001/runtime/lib/async_patch.dart File runtime/lib/async_patch.dart (right): https://codereview.chromium.org/1274133002/diff/100001/runtime/lib/async_patch.dart#newcode22 runtime/lib/async_patch.dart:22: // Note, that the contination accepts up to three ...
5 years, 4 months ago (2015-08-12 15:03:14 UTC) #8
floitsch
Committed patchset #7 (id:120001) manually as 4dae43d63727268f2e0cc45d6020246eb49177b8 (presubmit successful).
5 years, 4 months ago (2015-08-17 13:58:23 UTC) #9
floitsch
Had to revert. Reopening. Patchset 8 is a fresh upload after the revert.
5 years, 4 months ago (2015-08-17 14:48:51 UTC) #10
floitsch
I had to readd the async_op variable to the asynchronous function. The observatory uses it ...
5 years, 4 months ago (2015-08-17 17:13:50 UTC) #11
rmacnak
On 2015/08/17 17:13:50, floitsch wrote: > I had to readd the async_op variable to the ...
5 years, 4 months ago (2015-08-17 17:23:53 UTC) #12
hausner
LGTM.
5 years, 4 months ago (2015-08-17 17:25:50 UTC) #13
floitsch
5 years, 4 months ago (2015-08-17 17:26:54 UTC) #14
Message was sent while issue was closed.
Committed patchset #9 (id:160001) manually as
debf1d6f7c2f97831cda1f6fa18093f76ed0545c (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698