| Index: pkg/compiler/lib/src/cps_ir/mutable_ssa.dart
 | 
| diff --git a/pkg/compiler/lib/src/cps_ir/mutable_ssa.dart b/pkg/compiler/lib/src/cps_ir/mutable_ssa.dart
 | 
| index 0c86696ed6f4e509d49cd2f39ae918e5066c6ed9..ee44978da47b27d0245a4b24b6e959ee85586fb4 100644
 | 
| --- a/pkg/compiler/lib/src/cps_ir/mutable_ssa.dart
 | 
| +++ b/pkg/compiler/lib/src/cps_ir/mutable_ssa.dart
 | 
| @@ -110,8 +110,7 @@ class MutableVariableEliminator implements Pass {
 | 
|    }
 | 
|  
 | 
|    bool isJoinContinuation(Continuation cont) {
 | 
| -    return !cont.hasExactlyOneUse ||
 | 
| -           cont.firstRef.parent is InvokeContinuation;
 | 
| +    return !cont.hasExactlyOneUse || cont.firstRef.parent is InvokeContinuation;
 | 
|    }
 | 
|  
 | 
|    /// If some useful source information is attached to exactly one of the
 | 
| @@ -131,8 +130,8 @@ class MutableVariableEliminator implements Pass {
 | 
|    /// will be mutated during the processing.
 | 
|    ///
 | 
|    /// Continuations to be processed are put on the stack for later processing.
 | 
| -  void processBlock(Expression node,
 | 
| -                    Map<MutableVariable, Primitive> environment) {
 | 
| +  void processBlock(
 | 
| +      Expression node, Map<MutableVariable, Primitive> environment) {
 | 
|      Expression next = node.next;
 | 
|      for (; node is! TailExpression; node = next, next = node.next) {
 | 
|        if (node is LetMutable && shouldRewrite(node.variable)) {
 | 
| @@ -221,12 +220,9 @@ class MutableVariableEliminator implements Pass {
 | 
|        // Enqueue both branches with the current environment.
 | 
|        // Clone the environments once so the processing of one branch does not
 | 
|        // mutate the environment needed to process the other branch.
 | 
| -      stack.add(new ContinuationItem(
 | 
| -          node.trueContinuation,
 | 
| +      stack.add(new ContinuationItem(node.trueContinuation,
 | 
|            new Map<MutableVariable, Primitive>.from(environment)));
 | 
| -      stack.add(new ContinuationItem(
 | 
| -          node.falseContinuation,
 | 
| -          environment));
 | 
| +      stack.add(new ContinuationItem(node.falseContinuation, environment));
 | 
|      } else {
 | 
|        assert(node is Throw || node is Unreachable);
 | 
|      }
 | 
| 
 |