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

Issue 944893005: Implement async* functions in VM (Closed)

Created:
5 years, 10 months ago by hausner
Modified:
5 years, 9 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org, Lasse Reichstein Nielsen
Visibility:
Public.

Description

Patch Set 1 #

Total comments: 14

Patch Set 2 : #

Total comments: 16

Patch Set 3 : #

Total comments: 13

Patch Set 4 : #

Patch Set 5 : #

Total comments: 3

Patch Set 6 : #

Total comments: 10

Patch Set 7 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+756 lines, -148 lines) Patch
M runtime/lib/core_patch.dart View 1 2 3 4 5 6 1 chunk +103 lines, -1 line 0 comments Download
M runtime/vm/flow_graph_builder.h View 1 2 3 4 5 6 1 chunk +5 lines, -5 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 1 2 3 4 5 6 8 chunks +20 lines, -14 lines 0 comments Download
M runtime/vm/object.h View 1 2 3 4 5 6 1 chunk +14 lines, -0 lines 0 comments Download
M runtime/vm/parser.h View 1 2 3 4 5 6 2 chunks +14 lines, -1 line 0 comments Download
M runtime/vm/parser.cc View 1 2 3 4 5 6 29 chunks +589 lines, -102 lines 0 comments Download
M runtime/vm/symbols.h View 1 2 3 4 5 6 1 chunk +9 lines, -0 lines 0 comments Download
M tests/language/language.status View 1 2 3 4 5 6 2 chunks +1 line, -20 lines 0 comments Download
M tests/language/language_dart2js.status View 1 2 3 4 5 6 2 chunks +1 line, -5 lines 0 comments Download

Messages

Total messages: 19 (4 generated)
Ivan Posva
First round of comments/questions... -Ivan https://codereview.chromium.org/944893005/diff/1/runtime/lib/core_patch.dart File runtime/lib/core_patch.dart (right): https://codereview.chromium.org/944893005/diff/1/runtime/lib/core_patch.dart#newcode50 runtime/lib/core_patch.dart:50: controller.addStream(stream as Stream, cancelOnError: ...
5 years, 10 months ago (2015-02-23 08:23:36 UTC) #2
hausner
Thank you. I realized that async* is more complex than what's in this change. Since ...
5 years, 10 months ago (2015-02-23 17:12:01 UTC) #3
kevmoo
DBC https://codereview.chromium.org/944893005/diff/1/tests/language/language.status File tests/language/language.status (right): https://codereview.chromium.org/944893005/diff/1/tests/language/language.status#newcode13 tests/language/language.status:13: ### asyncstar_concat_test: Fail # Issue 21404 Please remove ...
5 years, 10 months ago (2015-02-23 18:37:30 UTC) #5
hausner
Thanks. https://codereview.chromium.org/944893005/diff/1/tests/language/language.status File tests/language/language.status (right): https://codereview.chromium.org/944893005/diff/1/tests/language/language.status#newcode13 tests/language/language.status:13: ### asyncstar_concat_test: Fail # Issue 21404 On 2015/02/23 ...
5 years, 10 months ago (2015-02-23 18:42:18 UTC) #6
hausner
Looking for next round of comments please. This version allows await inside async* functions. I ...
5 years, 10 months ago (2015-02-24 00:56:35 UTC) #8
Lasse Reichstein Nielsen
https://codereview.chromium.org/944893005/diff/20001/runtime/lib/core_patch.dart File runtime/lib/core_patch.dart (right): https://codereview.chromium.org/944893005/diff/20001/runtime/lib/core_patch.dart#newcode31 runtime/lib/core_patch.dart:31: bool isCancelled = false; "isCanceled" I've recently been informed ...
5 years, 10 months ago (2015-02-24 13:12:34 UTC) #9
hausner
This version implements async* to the same level as async and sync. That is, the ...
5 years, 10 months ago (2015-02-25 21:59:32 UTC) #10
hausner
Responding to Lasse's comments. https://codereview.chromium.org/944893005/diff/20001/runtime/lib/core_patch.dart File runtime/lib/core_patch.dart (right): https://codereview.chromium.org/944893005/diff/20001/runtime/lib/core_patch.dart#newcode31 runtime/lib/core_patch.dart:31: bool isCancelled = false; On ...
5 years, 10 months ago (2015-02-25 22:07:41 UTC) #11
Lasse Reichstein Nielsen
https://codereview.chromium.org/944893005/diff/40001/runtime/lib/core_patch.dart File runtime/lib/core_patch.dart (right): https://codereview.chromium.org/944893005/diff/40001/runtime/lib/core_patch.dart#newcode42 runtime/lib/core_patch.dart:42: // Adds element to steam, returns true iff the ...
5 years, 10 months ago (2015-02-26 14:54:52 UTC) #12
hausner
Responding to Lasse's comments. https://codereview.chromium.org/944893005/diff/40001/runtime/lib/core_patch.dart File runtime/lib/core_patch.dart (right): https://codereview.chromium.org/944893005/diff/40001/runtime/lib/core_patch.dart#newcode42 runtime/lib/core_patch.dart:42: // Adds element to steam, ...
5 years, 10 months ago (2015-02-26 21:54:08 UTC) #13
Lasse Reichstein Nielsen
https://codereview.chromium.org/944893005/diff/40001/runtime/lib/core_patch.dart File runtime/lib/core_patch.dart (right): https://codereview.chromium.org/944893005/diff/40001/runtime/lib/core_patch.dart#newcode46 runtime/lib/core_patch.dart:46: // If stream is cancelled, tell caller to exit ...
5 years, 9 months ago (2015-02-27 07:51:12 UTC) #14
hausner
This version has Regis' async fix for try-catch-finally merged in. I do not know why ...
5 years, 9 months ago (2015-02-28 00:21:32 UTC) #16
Ivan Posva
LGTM -ip https://codereview.chromium.org/944893005/diff/80001/runtime/lib/core_patch.dart File runtime/lib/core_patch.dart (right): https://codereview.chromium.org/944893005/diff/80001/runtime/lib/core_patch.dart#newcode46 runtime/lib/core_patch.dart:46: void scheduleGenerator() { Why does this method ...
5 years, 9 months ago (2015-03-03 01:05:52 UTC) #17
hausner
Committed patchset #7 (id:120001) manually as r44185 (presubmit successful).
5 years, 9 months ago (2015-03-03 17:50:16 UTC) #18
hausner
5 years, 9 months ago (2015-03-03 17:51:29 UTC) #19
Message was sent while issue was closed.
Thank you. async* has landed.

https://codereview.chromium.org/944893005/diff/100001/runtime/vm/parser.cc
File runtime/vm/parser.cc (right):

https://codereview.chromium.org/944893005/diff/100001/runtime/vm/parser.cc#ne...
runtime/vm/parser.cc:6422: if (params->parameters->length() == 0) {
On 2015/03/03 01:05:52, Ivan Posva wrote:
> We should assert that params->parameters->length() is 0 or 1.

Done.

https://codereview.chromium.org/944893005/diff/100001/runtime/vm/parser.cc#ne...
runtime/vm/parser.cc:6547: //   var :controller;
On 2015/03/03 01:05:52, Ivan Posva wrote:
> //   var :async_op;?

Done.

https://codereview.chromium.org/944893005/diff/100001/runtime/vm/parser.cc#ne...
runtime/vm/parser.cc:6639: //   var :await_context_var;
On 2015/03/03 01:05:52, Ivan Posva wrote:
> // var :async_op;

Done.

https://codereview.chromium.org/944893005/diff/100001/runtime/vm/parser.cc#ne...
runtime/vm/parser.cc:6660:
closure_body->scope()->LookupVariable(Symbols::Controller(), false);
On 2015/03/03 01:05:52, Ivan Posva wrote:
> Force capture :async_op?

Done.

https://codereview.chromium.org/944893005/diff/100001/runtime/vm/parser.cc#ne...
runtime/vm/parser.cc:6725: // TODO(hausner): Is the temporary expression
necessary?
On 2015/03/03 01:05:52, Ivan Posva wrote:
> Remove TODO

Done.

Powered by Google App Engine
This is Rietveld 408576698