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

Issue 974073002: Fix async machinery for finally clauses (issues 22445, 22300). (Closed)

Created:
5 years, 9 months ago by regis
Modified:
5 years, 9 months ago
Reviewers:
hausner, Ivan Posva
CC:
reviews_dartlang.org, vm-dev_dartlang.org, Ivan Posva
Visibility:
Public.

Description

Fix async machinery for finally clauses (issues 22445, 22300). R=hausner@google.com Committed: https://code.google.com/p/dart/source/detail?r=44210

Patch Set 1 #

Total comments: 13

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+189 lines, -185 lines) Patch
M runtime/vm/parser.h View 2 chunks +15 lines, -2 lines 0 comments Download
M runtime/vm/parser.cc View 1 21 chunks +174 lines, -180 lines 0 comments Download
M tests/language/language.status View 1 chunk +0 lines, -3 lines 0 comments Download

Messages

Total messages: 9 (2 generated)
regis
5 years, 9 months ago (2015-03-03 22:42:16 UTC) #2
Ivan Posva
DBC (Matthias is doing the full review) -ip https://codereview.chromium.org/974073002/diff/1/runtime/vm/parser.cc File runtime/vm/parser.cc (right): https://codereview.chromium.org/974073002/diff/1/runtime/vm/parser.cc#newcode8969 runtime/vm/parser.cc:8969: SaveExceptionAndStacktrace(async_code, ...
5 years, 9 months ago (2015-03-03 22:57:57 UTC) #4
hausner
LGTM with comments/question. Nice cleanup and refactoring. https://codereview.chromium.org/974073002/diff/1/runtime/vm/parser.cc File runtime/vm/parser.cc (right): https://codereview.chromium.org/974073002/diff/1/runtime/vm/parser.cc#newcode6038 runtime/vm/parser.cc:6038: LocalVariable* saved_exception_var ...
5 years, 9 months ago (2015-03-03 23:19:12 UTC) #5
regis
PTAL Matthias, there is a question for you in a new comment. Thanks, Regis https://codereview.chromium.org/974073002/diff/1/runtime/vm/parser.cc ...
5 years, 9 months ago (2015-03-03 23:47:09 UTC) #6
regis
https://codereview.chromium.org/974073002/diff/1/runtime/vm/parser.cc File runtime/vm/parser.cc (right): https://codereview.chromium.org/974073002/diff/1/runtime/vm/parser.cc#newcode9534 runtime/vm/parser.cc:9534: innermost_function().IsSyncGenerator()) { On 2015/03/03 23:47:09, regis wrote: > Matthias, ...
5 years, 9 months ago (2015-03-03 23:54:45 UTC) #7
regis
Committed patchset #2 (id:20001) manually as r44210 (presubmit successful).
5 years, 9 months ago (2015-03-03 23:55:25 UTC) #8
hausner
5 years, 9 months ago (2015-03-03 23:59:40 UTC) #9
Message was sent while issue was closed.
Good catch!

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

https://codereview.chromium.org/974073002/diff/1/runtime/vm/parser.cc#newcode...
runtime/vm/parser.cc:9534: innermost_function().IsSyncGenerator()) {
On 2015/03/03 23:47:09, regis wrote:
> Matthias, is the list above correct?

Good catch. It seems that we also need to include async* functions and closures,
so the if should be

if (innermost_function().IsAsyncClosure() ||
       innermost_function().IsAsyncFunction() ||
       innermost_function().IsSyncGenClosure() ||
       innermost_function().IsSyncGenerator() ||
       innermost_function().IsAsyncGenerator() ||
       innermost_function().IsAsyncGenClosure()) {

Powered by Google App Engine
This is Rietveld 408576698