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

Side by Side Diff: frog/leg/ssa/nodes.dart

Issue 9601009: Change labeled statement to use visitSubGraph for its body instead of marking its "exit block" spec… (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address review comment. add more tests. Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 interface HVisitor<R> { 5 interface HVisitor<R> {
6 R visitAdd(HAdd node); 6 R visitAdd(HAdd node);
7 R visitBailoutTarget(HBailoutTarget node); 7 R visitBailoutTarget(HBailoutTarget node);
8 R visitBitAnd(HBitAnd node); 8 R visitBitAnd(HBitAnd node);
9 R visitBitNot(HBitNot node); 9 R visitBitNot(HBitNot node);
10 R visitBitOr(HBitOr node); 10 R visitBitOr(HBitOr node);
(...skipping 704 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 validator.visitBasicBlock(this); 715 validator.visitBasicBlock(this);
716 return validator.isValid; 716 return validator.isValid;
717 } 717 }
718 } 718 }
719 719
720 class HBlockInformation { 720 class HBlockInformation {
721 // Just a marker class. 721 // Just a marker class.
722 } 722 }
723 723
724 class HLabeledBlockInformation extends HBlockInformation { 724 class HLabeledBlockInformation extends HBlockInformation {
725 final HBasicBlock start; 725 final SubGraph body;
726 final HBasicBlock end; 726 final HBasicBlock joinBlock;
727 final List<SourceString> labels; 727 final List<SourceString> labels;
728 HLabeledBlockInformation(this.start, this.end, this.labels); 728 HLabeledBlockInformation(this.body, this.joinBlock, this.labels);
729 } 729 }
730 730
731 class HLoopInformation extends HBlockInformation { 731 class HLoopInformation extends HBlockInformation {
732 final HBasicBlock header; 732 final HBasicBlock header;
733 final List<HBasicBlock> blocks; 733 final List<HBasicBlock> blocks;
734 final List<HBasicBlock> backEdges; 734 final List<HBasicBlock> backEdges;
735 final List<SourceString> labels; 735 final List<SourceString> labels;
736 736
737 HLoopInformation(this.header, this.labels) 737 HLoopInformation(this.header, this.labels)
738 : blocks = new List<HBasicBlock>(), 738 : blocks = new List<HBasicBlock>(),
(...skipping 1543 matching lines...) Expand 10 before | Expand all | Expand 10 after
2282 class HIfBlockInformation { 2282 class HIfBlockInformation {
2283 final HIf branch; 2283 final HIf branch;
2284 final SubGraph thenGraph; 2284 final SubGraph thenGraph;
2285 final SubGraph elseGraph; 2285 final SubGraph elseGraph;
2286 final HBasicBlock joinBlock; 2286 final HBasicBlock joinBlock;
2287 HIfBlockInformation(this.branch, 2287 HIfBlockInformation(this.branch,
2288 this.thenGraph, 2288 this.thenGraph,
2289 this.elseGraph, 2289 this.elseGraph,
2290 this.joinBlock); 2290 this.joinBlock);
2291 } 2291 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698