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

Issue 1585503002: dart2js: CPS translation of switches with continue to their labels. (Closed)

Created:
4 years, 11 months ago by Kevin Millikin (Google)
Modified:
4 years, 11 months ago
Reviewers:
asgerf, sra1
CC:
reviews_dartlang.org
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

dart2js: CPS translation of switches with continue to their labels. Implement switches with continue to their labels by a first 'non-recursive' switch followed by a second (only) 'recursive' switch inside a loop. Continue is implemented by assignment to a state variable that the second switch switches over. R=asgerf@google.com Committed: https://github.com/dart-lang/sdk/commit/65ae116a01381bb2ddc8a22c15042b6944ebdee2

Patch Set 1 #

Patch Set 2 : Make sure break works. #

Patch Set 3 : Don't leave the last else empty when there is no default. #

Patch Set 4 : Ugly support for simple switches. #

Patch Set 5 : Update test expectations. #

Total comments: 8

Patch Set 6 : Incorporate review comments. #

Patch Set 7 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+345 lines, -132 lines) Patch
M pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart View 1 2 3 4 5 6 28 chunks +87 lines, -91 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart View 1 2 3 4 5 6 1 chunk +248 lines, -22 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart View 1 2 3 4 5 6 2 chunks +4 lines, -1 line 0 comments Download
M tests/co19/co19-dart2js.status View 1 2 3 4 1 chunk +0 lines, -3 lines 0 comments Download
M tests/compiler/dart2js_extra/dart2js_extra.status View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download
M tests/language/language_dart2js.status View 1 2 3 4 5 6 3 chunks +3 lines, -8 lines 0 comments Download
M tests/utils/utils.status View 1 2 3 4 2 chunks +3 lines, -6 lines 0 comments Download

Messages

Total messages: 8 (3 generated)
Kevin Millikin (Google)
https://codereview.chromium.org/1585503002/diff/80001/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart File pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart (right): https://codereview.chromium.org/1585503002/diff/80001/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart#newcode1629 pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart:1629: void buildSimpleSwitch(JumpCollector join, This is a more useful way ...
4 years, 11 months ago (2016-01-19 10:44:37 UTC) #3
asgerf
Please add clarifying comments to the code with examples. This type of code is inevitably ...
4 years, 11 months ago (2016-01-19 22:45:25 UTC) #4
Kevin Millikin (Google)
https://codereview.chromium.org/1585503002/diff/80001/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart File pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart (right): https://codereview.chromium.org/1585503002/diff/80001/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart#newcode1640 pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart:1640: // A LetCont.tw0 term has a hole as the ...
4 years, 11 months ago (2016-01-25 12:46:37 UTC) #5
asgerf
Thanks, that helped. LGTM.
4 years, 11 months ago (2016-01-26 08:05:09 UTC) #6
Kevin Millikin (Google)
4 years, 11 months ago (2016-01-26 08:43:24 UTC) #8
Message was sent while issue was closed.
Committed patchset #7 (id:120001) manually as
65ae116a01381bb2ddc8a22c15042b6944ebdee2 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698