Index: pkg/compiler/lib/src/cps_ir/type_propagation.dart |
diff --git a/pkg/compiler/lib/src/cps_ir/type_propagation.dart b/pkg/compiler/lib/src/cps_ir/type_propagation.dart |
index c9acdf113e32343d4bd1b748126471f6fed3b099..3e587251de30d8476ad5c7055aec0e85b3d8323e 100644 |
--- a/pkg/compiler/lib/src/cps_ir/type_propagation.dart |
+++ b/pkg/compiler/lib/src/cps_ir/type_propagation.dart |
@@ -1485,7 +1485,7 @@ class TransformingVisitor extends RecursiveVisitor { |
node.objectIsNotNull = getValue(node.object.definition).isDefinitelyNotNull; |
} |
- void visitLetPrim(LetPrim node) { |
+ void processLetPrim(LetPrim node) { |
AbstractValue value = getValue(node.primitive); |
if (node.primitive is! Constant && value.isConstant) { |
// If the value is a known constant, compile it as a constant. |
@@ -1513,16 +1513,6 @@ class TransformingVisitor extends RecursiveVisitor { |
node.body.parent = node.parent; |
} |
} |
- visit(node.body); |
- } |
- |
- void visitLetCont(LetCont node) { |
- // Visit body before continuations to ensure more information is available |
- // about the parameters. In particular, if this is a call continuation, its |
- // invocation should be specialized before the body is processed, because |
- // we specialize definitions before their uses. |
- visit(node.body); |
- node.continuations.forEach(visit); |
asgerf
2015/07/22 12:46:45
The traversal order changed so this is how it work
|
} |
void visitInvokeContinuation(InvokeContinuation node) { |