Chromium Code Reviews| 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) { |