| Index: pkg/compiler/lib/src/cps_ir/path_based_optimizer.dart
|
| diff --git a/pkg/compiler/lib/src/cps_ir/path_based_optimizer.dart b/pkg/compiler/lib/src/cps_ir/path_based_optimizer.dart
|
| index 6f9fac5aba837c93bca9f7b71f558a9293980728..aed13e6e34ce748e9d12405cb7513eca09fb6b04 100644
|
| --- a/pkg/compiler/lib/src/cps_ir/path_based_optimizer.dart
|
| +++ b/pkg/compiler/lib/src/cps_ir/path_based_optimizer.dart
|
| @@ -117,7 +117,7 @@ class PathBasedOptimizer extends TrampolineRecursiveVisitor
|
| }
|
|
|
| void visitInvokeContinuation(InvokeContinuation node) {
|
| - Continuation cont = node.continuation.definition;
|
| + Continuation cont = node.continuation;
|
| if (cont.isReturnContinuation) return;
|
| if (node.isRecursive) return;
|
| Map<Primitive, int> target = valuesAt[cont];
|
| @@ -131,9 +131,9 @@ class PathBasedOptimizer extends TrampolineRecursiveVisitor
|
| }
|
|
|
| visitBranch(Branch node) {
|
| - Primitive condition = node.condition.definition.effectiveDefinition;
|
| - Continuation trueCont = node.trueContinuation.definition;
|
| - Continuation falseCont = node.falseContinuation.definition;
|
| + Primitive condition = node.condition.effectiveDefinition;
|
| + Continuation trueCont = node.trueContinuation;
|
| + Continuation falseCont = node.falseContinuation;
|
| if (condition.hasExactlyOneUse) {
|
| // Handle common case specially. Do not add [condition] to the map if
|
| // there are no other uses.
|
| @@ -167,7 +167,7 @@ class PathBasedOptimizer extends TrampolineRecursiveVisitor
|
| // self-interceptor.
|
| // TODO(25646): If TypeMasks could represent "any self-interceptor" this
|
| // optimization should be subsumed by type propagation.
|
| - node.receiver.changeTo(node.dartReceiver);
|
| + node.receiverRef.changeTo(node.dartReceiver);
|
|
|
| // Replace the extra receiver argument with a dummy value if the
|
| // target definitely does not use it.
|
| @@ -176,7 +176,7 @@ class PathBasedOptimizer extends TrampolineRecursiveVisitor
|
| Constant dummy = new Constant(new IntConstantValue(0))
|
| ..type = typeSystem.intType;
|
| new LetPrim(dummy).insertAbove(node.parent);
|
| - node.arguments[0].changeTo(dummy);
|
| + node.argumentRefs[0].changeTo(dummy);
|
| node.callingConvention = CallingConvention.DummyIntercepted;
|
| }
|
| }
|
|
|