| OLD | NEW |
| 1 library dart2js.cps_ir.loop_effects; | 1 library dart2js.cps_ir.loop_effects; |
| 2 | 2 |
| 3 import '../world.dart'; |
| 3 import 'cps_ir_nodes.dart'; | 4 import 'cps_ir_nodes.dart'; |
| 5 import 'effects.dart'; |
| 4 import 'loop_hierarchy.dart'; | 6 import 'loop_hierarchy.dart'; |
| 5 import '../world.dart'; | |
| 6 import 'effects.dart'; | |
| 7 | 7 |
| 8 /// Determines the side effects that may occur in each loop. | 8 /// Determines the side effects that may occur in each loop. |
| 9 class LoopSideEffects extends TrampolineRecursiveVisitor { | 9 class LoopSideEffects extends TrampolineRecursiveVisitor { |
| 10 LoopHierarchy loopHierarchy; | 10 LoopHierarchy loopHierarchy; |
| 11 final World world; | 11 final World world; |
| 12 final Map<Continuation, List<Continuation>> exitContinuations = {}; | 12 final Map<Continuation, List<Continuation>> exitContinuations = {}; |
| 13 final Map<Continuation, int> loopSideEffects = {}; | 13 final Map<Continuation, int> loopSideEffects = {}; |
| 14 Continuation currentLoopHeader; | 14 Continuation currentLoopHeader; |
| 15 | 15 |
| 16 LoopSideEffects(FunctionDefinition node, this.world, {this.loopHierarchy}) { | 16 LoopSideEffects(FunctionDefinition node, this.world, {this.loopHierarchy}) { |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 'Unreachable continuations must be removed before computing ' | 90 'Unreachable continuations must be removed before computing ' |
| 91 'loop side effects.'); | 91 'loop side effects.'); |
| 92 } | 92 } |
| 93 inner = outer; | 93 inner = outer; |
| 94 outer = loopHierarchy.getEnclosingLoop(outer); | 94 outer = loopHierarchy.getEnclosingLoop(outer); |
| 95 } | 95 } |
| 96 exitContinuations[inner].add(cont); | 96 exitContinuations[inner].add(cont); |
| 97 } | 97 } |
| 98 } | 98 } |
| 99 } | 99 } |
| OLD | NEW |