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

Issue 9810006: Make continue work in do-while. (Closed)

Created:
8 years, 9 months ago by Lasse Reichstein Nielsen
Modified:
8 years, 9 months ago
Reviewers:
ngeoffray
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Make continue work in do-while. Committed: https://code.google.com/p/dart/source/detail?r=5781

Patch Set 1 #

Total comments: 6

Patch Set 2 : Addressed review comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+56 lines, -12 lines) Patch
M frog/leg/resolver.dart View 2 chunks +2 lines, -1 line 0 comments Download
M frog/leg/ssa/builder.dart View 1 3 chunks +43 lines, -6 lines 0 comments Download
M frog/leg/ssa/codegen.dart View 1 2 chunks +11 lines, -4 lines 0 comments Download
M tests/co19/co19-leg.status View 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 3 (0 generated)
Lasse Reichstein Nielsen
8 years, 9 months ago (2012-03-21 11:46:04 UTC) #1
ngeoffray
LGTM https://chromiumcodereview.appspot.com/9810006/diff/1/frog/leg/ssa/builder.dart File frog/leg/ssa/builder.dart (right): https://chromiumcodereview.appspot.com/9810006/diff/1/frog/leg/ssa/builder.dart#newcode1236 frog/leg/ssa/builder.dart:1236: // It doesn't work if they are on ...
8 years, 9 months ago (2012-03-21 12:23:23 UTC) #2
Lasse Reichstein Nielsen
8 years, 9 months ago (2012-03-21 12:33:26 UTC) #3
https://chromiumcodereview.appspot.com/9810006/diff/1/frog/leg/ssa/builder.dart
File frog/leg/ssa/builder.dart (right):

https://chromiumcodereview.appspot.com/9810006/diff/1/frog/leg/ssa/builder.da...
frog/leg/ssa/builder.dart:1236: // It doesn't work if they are on the same block
as the HLoopInfo.
On 2012/03/21 12:23:23, ngeoffray wrote:
> Please explain why.

Done.

https://chromiumcodereview.appspot.com/9810006/diff/1/frog/leg/ssa/builder.da...
frog/leg/ssa/builder.dart:1260: if (!labels.isEmpty()) {
No, they are different constructors.

https://chromiumcodereview.appspot.com/9810006/diff/1/frog/leg/ssa/codegen.dart
File frog/leg/ssa/codegen.dart (right):

https://chromiumcodereview.appspot.com/9810006/diff/1/frog/leg/ssa/codegen.da...
frog/leg/ssa/codegen.dart:310: currentBlock = node;
Hmm, is it even safe?
I hadn't noticed that currentBlock was an instance field, not a local variable.
It's probably not being used in beginLoop, but I'll move it back just to be
sure.

Then we can check if it can be removed.

Powered by Google App Engine
This is Rietveld 408576698