| Index: pkg/compiler/lib/src/ssa/optimize.dart
|
| diff --git a/pkg/compiler/lib/src/ssa/optimize.dart b/pkg/compiler/lib/src/ssa/optimize.dart
|
| index 654cebac035bdb3d7fd3f4e3962b78ea206645a6..70bef1fb317d1bafcf63cf2f011b0e0dbbcf0870 100644
|
| --- a/pkg/compiler/lib/src/ssa/optimize.dart
|
| +++ b/pkg/compiler/lib/src/ssa/optimize.dart
|
| @@ -1020,11 +1020,13 @@ class SsaDeadCodeEliminator extends HGraphVisitor implements OptimizationPhase {
|
| if (current is HGoto) {
|
| successor = current.block.successors.single;
|
| } else if (current is HIf) {
|
| + // TODO(paulberry): This variable works around dartbug.com/22732
|
| + HIf currentHIf = current;
|
| // We also leave HIf nodes in place when one branch is dead.
|
| HInstruction condition = current.inputs.first;
|
| if (condition is HConstant) {
|
| bool isTrue = condition.constant.isTrue;
|
| - successor = isTrue ? current.thenBlock : current.elseBlock;
|
| + successor = isTrue ? currentHIf.thenBlock : currentHIf.elseBlock;
|
| assert(!analyzer.isDeadBlock(successor));
|
| }
|
| }
|
|
|