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

Issue 2683973002: Handle type literals correctly with deferred loading and await. (Closed)

Created:
3 years, 10 months ago by Florian Schneider
Modified:
3 years, 10 months ago
Reviewers:
hausner
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Handle type literals correctly with deferred loading and await. When referring to constants via a deferred prefix in an await expression the transformation must make sure that the generated code before and after the deferred load agree on the number of captured variables. (i.e. the number of await-temp variables introduced by the await-transformer is the same) This CL uses a temporary in the case of compile-time constants, because before the deferred load, a reference lib.C is translated into a static getter which also requires a temporary. Fixes #28678 R=hausner@google.com Committed: https://github.com/dart-lang/sdk/commit/67a93da99eb11ada7d8267243c6824d5c67de91c

Patch Set 1 #

Patch Set 2 : formatting #

Patch Set 3 : formatting #

Patch Set 4 : correct fix #

Total comments: 2

Patch Set 5 : add comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+61 lines, -7 lines) Patch
M runtime/vm/ast.h View 1 2 3 2 chunks +10 lines, -2 lines 0 comments Download
M runtime/vm/ast_transformer.cc View 1 2 3 4 1 chunk +8 lines, -1 line 0 comments Download
M runtime/vm/parser.cc View 1 2 3 4 chunks +8 lines, -4 lines 0 comments Download
A tests/language/deferred_regression_28678_lib.dart View 1 2 1 chunk +7 lines, -0 lines 0 comments Download
A tests/language/deferred_regression_28678_test.dart View 1 2 1 chunk +28 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (3 generated)
Florian Schneider
3 years, 10 months ago (2017-02-08 04:12:11 UTC) #2
hausner
We can discuss offline tomorrow, but I don't see how the compiler knows whether an ...
3 years, 10 months ago (2017-02-08 06:28:31 UTC) #3
Florian Schneider
On 2017/02/08 06:28:31, hausner wrote: > We can discuss offline tomorrow, but I don't see ...
3 years, 10 months ago (2017-02-08 18:17:47 UTC) #4
Florian Schneider
Ptal. The original patch set did not correcty fix the issue. It only affects type ...
3 years, 10 months ago (2017-02-08 20:29:13 UTC) #6
hausner
LGTM. https://codereview.chromium.org/2683973002/diff/60001/runtime/vm/ast_transformer.cc File runtime/vm/ast_transformer.cc (right): https://codereview.chromium.org/2683973002/diff/60001/runtime/vm/ast_transformer.cc#newcode122 runtime/vm/ast_transformer.cc:122: if (node->is_deferred_reference()) { Maybe a short comment and/or ...
3 years, 10 months ago (2017-02-08 22:41:00 UTC) #7
Florian Schneider
https://codereview.chromium.org/2683973002/diff/60001/runtime/vm/ast_transformer.cc File runtime/vm/ast_transformer.cc (right): https://codereview.chromium.org/2683973002/diff/60001/runtime/vm/ast_transformer.cc#newcode122 runtime/vm/ast_transformer.cc:122: if (node->is_deferred_reference()) { On 2017/02/08 22:41:00, hausner wrote: > ...
3 years, 10 months ago (2017-02-08 23:25:23 UTC) #8
Florian Schneider
3 years, 10 months ago (2017-02-08 23:37:49 UTC) #10
Message was sent while issue was closed.
Committed patchset #5 (id:70001) manually as
67a93da99eb11ada7d8267243c6824d5c67de91c (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698