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

Side by Side Diff: lib/compiler/implementation/ssa/builder.dart

Issue 10511007: Make HBreak and HContinue not extend HGoto. They now extend HJump which is independent of HGoto. To… (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 6 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 class Interceptors { 5 class Interceptors {
6 Compiler compiler; 6 Compiler compiler;
7 Interceptors(Compiler this.compiler); 7 Interceptors(Compiler this.compiler);
8 8
9 SourceString mapOperatorToMethodName(Operator op) { 9 SourceString mapOperatorToMethodName(Operator op) {
10 String name = op.source.stringValue; 10 String name = op.source.stringValue;
(...skipping 654 matching lines...) Expand 10 before | Expand all | Expand 10 after
665 joinedLocals[closureData.thisElement] = thisValue; 665 joinedLocals[closureData.thisElement] = thisValue;
666 } 666 }
667 directLocals = joinedLocals; 667 directLocals = joinedLocals;
668 return this; 668 return this;
669 } 669 }
670 } 670 }
671 671
672 672
673 // Represents a single break/continue instruction. 673 // Represents a single break/continue instruction.
674 class JumpHandlerEntry { 674 class JumpHandlerEntry {
675 final HGoto jumpInstruction; 675 final HJump jumpInstruction;
676 final LocalsHandler locals; 676 final LocalsHandler locals;
677 bool isBreak() => jumpInstruction is HBreak; 677 bool isBreak() => jumpInstruction is HBreak;
678 bool isContinue() => jumpInstruction is HContinue; 678 bool isContinue() => jumpInstruction is HContinue;
679 JumpHandlerEntry(this.jumpInstruction, this.locals); 679 JumpHandlerEntry(this.jumpInstruction, this.locals);
680 } 680 }
681 681
682 682
683 interface JumpHandler default JumpHandlerImpl { 683 interface JumpHandler default JumpHandlerImpl {
684 JumpHandler(SsaBuilder builder, TargetElement target); 684 JumpHandler(SsaBuilder builder, TargetElement target);
685 void generateBreak([LabelElement label]); 685 void generateBreak([LabelElement label]);
(...skipping 2728 matching lines...) Expand 10 before | Expand all | Expand 10 after
3414 <HInstruction>[target, input], 3414 <HInstruction>[target, input],
3415 HType.STRING)); 3415 HType.STRING));
3416 return builder.pop(); 3416 return builder.pop();
3417 } 3417 }
3418 3418
3419 HInstruction result(Node node) { 3419 HInstruction result(Node node) {
3420 flushLiterals(node); 3420 flushLiterals(node);
3421 return prefix; 3421 return prefix;
3422 } 3422 }
3423 } 3423 }
OLDNEW
« no previous file with comments | « no previous file | lib/compiler/implementation/ssa/codegen.dart » ('j') | lib/compiler/implementation/ssa/codegen.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698