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

Issue 9500010: Fix break implementation. (Closed)

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

Description

Fix break implementation. Instead of multiple join blocks for loops/statements with breaks, use phis with multiple inputs. Committed: https://code.google.com/p/dart/source/detail?r=4745

Patch Set 1 #

Total comments: 6

Patch Set 2 : Addressed review comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+89 lines, -40 lines) Patch
M frog/leg/ssa/builder.dart View 1 4 chunks +64 lines, -20 lines 0 comments Download
M frog/leg/ssa/nodes.dart View 1 3 chunks +14 lines, -16 lines 0 comments Download
M frog/leg/ssa/optimize.dart View 2 chunks +3 lines, -2 lines 0 comments Download
M frog/leg/ssa/tracer.dart View 1 chunk +8 lines, -1 line 0 comments Download
M tests/language/language-leg.status View 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 4 (0 generated)
Lasse Reichstein Nielsen
8 years, 9 months ago (2012-02-29 09:55:34 UTC) #1
ngeoffray
LGTM! Very nice https://chromiumcodereview.appspot.com/9500010/diff/1/frog/leg/ssa/builder.dart File frog/leg/ssa/builder.dart (right): https://chromiumcodereview.appspot.com/9500010/diff/1/frog/leg/ssa/builder.dart#newcode544 frog/leg/ssa/builder.dart:544: * declared variables. This is a ...
8 years, 9 months ago (2012-02-29 10:02:54 UTC) #2
karlklose
LGTM. https://chromiumcodereview.appspot.com/9500010/diff/1/frog/leg/ssa/nodes.dart File frog/leg/ssa/nodes.dart (right): https://chromiumcodereview.appspot.com/9500010/diff/1/frog/leg/ssa/nodes.dart#newcode1884 frog/leg/ssa/nodes.dart:1884: HPhi(this.element) : super(<HInstruction>[]); I would prefer to have ...
8 years, 9 months ago (2012-02-29 10:17:38 UTC) #3
Lasse Reichstein Nielsen
8 years, 9 months ago (2012-02-29 10:42:01 UTC) #4
https://chromiumcodereview.appspot.com/9500010/diff/1/frog/leg/ssa/builder.dart
File frog/leg/ssa/builder.dart (right):

https://chromiumcodereview.appspot.com/9500010/diff/1/frog/leg/ssa/builder.da...
frog/leg/ssa/builder.dart:544: * declared variables. This is a way exclude local
values from the
On 2012/02/29 10:02:54, ngeoffray wrote:
> way *to*

Done.

https://chromiumcodereview.appspot.com/9500010/diff/1/frog/leg/ssa/builder.da...
frog/leg/ssa/builder.dart:548: void mergeMultiple(List<LocalsHandler> locals,
HBasicBlock joinBlock) {
On 2012/02/29 10:02:54, ngeoffray wrote:
> void -> LocalsHandler

Done.

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

https://chromiumcodereview.appspot.com/9500010/diff/1/frog/leg/ssa/nodes.dart...
frog/leg/ssa/nodes.dart:1884: HPhi(this.element) : super(<HInstruction>[]);
Done. The HPhi is now equivalent to HPhi.multipleInputs, and I added
HPhi.noInputs for my own use-case.

Powered by Google App Engine
This is Rietveld 408576698