Chromium Code Reviews| Index: sdk/lib/_internal/compiler/implementation/ssa/builder.dart |
| =================================================================== |
| --- sdk/lib/_internal/compiler/implementation/ssa/builder.dart (revision 15011) |
| +++ sdk/lib/_internal/compiler/implementation/ssa/builder.dart (working copy) |
| @@ -2049,7 +2049,12 @@ |
| conditionEndBlock = close( |
| new HLoopBranch(conditionInstruction, HLoopBranch.DO_WHILE_LOOP)); |
| - conditionEndBlock.addSuccessor(loopEntryBlock); // The back-edge. |
| + HBasicBlock avoidCriticalEdge = addNewBlock(); |
| + conditionEndBlock.addSuccessor(avoidCriticalEdge); // The back-edge. |
|
Lasse Reichstein Nielsen
2012/11/16 15:12:17
Seems like the avoidCriticalEdge's successor is th
ngeoffray
2012/11/16 16:39:45
Done.
|
| + open(avoidCriticalEdge); |
| + close(new HGoto()); |
| + avoidCriticalEdge.addSuccessor(loopEntryBlock); |
| + |
| conditionExpression = |
| new SubExpression(conditionBlock, conditionEndBlock); |
| } |