OLD | NEW |
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 part of ssa; | 5 part of ssa; |
6 | 6 |
7 class SsaTypePropagator extends HBaseVisitor implements OptimizationPhase { | 7 class SsaTypePropagator extends HBaseVisitor implements OptimizationPhase { |
8 final Map<int, HInstruction> workmap = new Map<int, HInstruction>(); | 8 final Map<int, HInstruction> workmap = new Map<int, HInstruction>(); |
9 final List<int> worklist = new List<int>(); | 9 final List<int> worklist = new List<int>(); |
10 final Map<HInstruction, Function> pendingOptimizations = | 10 final Map<HInstruction, Function> pendingOptimizations = |
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 instruction.block.addBefore(instruction.next, converted); | 354 instruction.block.addBefore(instruction.next, converted); |
355 receiver.replaceAllUsersDominatedBy(converted.next, converted); | 355 receiver.replaceAllUsersDominatedBy(converted.next, converted); |
356 addDependentInstructionsToWorkList(converted); | 356 addDependentInstructionsToWorkList(converted); |
357 } | 357 } |
358 } | 358 } |
359 | 359 |
360 return instruction.specializer.computeTypeFromInputTypes( | 360 return instruction.specializer.computeTypeFromInputTypes( |
361 instruction, compiler); | 361 instruction, compiler); |
362 } | 362 } |
363 } | 363 } |
OLD | NEW |