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

Issue 530313002: Reland: Fix scoping async functions. (Closed)

Created:
6 years, 3 months ago by Michael Lippautz (Google)
Modified:
6 years, 3 months ago
Reviewers:
srdjan, hausner
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Reland: Fix scoping async functions. This CL fixes several scoping/context issues: * Do not reuse scopes in SequenceNode_s as they might introduce a new context level. In that case we would trigger context allocationg multiple times resulting in scope/contexts being out of sync. * Properly save and restore saved_try_context in try/catch/finally blocks and nesting closures. For this we need to keep track of async closures top scopes. Updated version of https://codereview.chromium.org/520223002/ BUG= R=hausner@google.com, srdjan@google.com Committed: https://code.google.com/p/dart/source/detail?r=39810

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+231 lines, -161 lines) Patch
M runtime/vm/ast_transformer.h View 3 chunks +5 lines, -12 lines 0 comments Download
M runtime/vm/ast_transformer.cc View 7 chunks +61 lines, -27 lines 0 comments Download
M runtime/vm/parser.h View 9 chunks +16 lines, -22 lines 0 comments Download
M runtime/vm/parser.cc View 19 chunks +125 lines, -100 lines 2 comments Download
M tests/language/await_future_test.dart View 2 chunks +24 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (1 generated)
Michael Lippautz (Google)
Thanks Srdjan for investigating! https://codereview.chromium.org/530313002/diff/1/runtime/vm/parser.cc File runtime/vm/parser.cc (right): https://codereview.chromium.org/530313002/diff/1/runtime/vm/parser.cc#newcode8595 runtime/vm/parser.cc:8595: AstNode* await_preamble = CloseBlock(); the ...
6 years, 3 months ago (2014-09-03 00:10:44 UTC) #2
hausner
lgtm https://codereview.chromium.org/530313002/diff/1/runtime/vm/parser.cc File runtime/vm/parser.cc (right): https://codereview.chromium.org/530313002/diff/1/runtime/vm/parser.cc#newcode8595 runtime/vm/parser.cc:8595: AstNode* await_preamble = CloseBlock(); Ah yes, this has ...
6 years, 3 months ago (2014-09-03 15:40:06 UTC) #3
srdjan
lgtm
6 years, 3 months ago (2014-09-03 16:12:29 UTC) #4
Michael Lippautz (Google)
6 years, 3 months ago (2014-09-03 16:34:06 UTC) #5
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as 39810 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698