Chromium Code Reviews| Index: pkg/compiler/lib/src/ssa/builder.dart |
| diff --git a/pkg/compiler/lib/src/ssa/builder.dart b/pkg/compiler/lib/src/ssa/builder.dart |
| index 31c2fddbf19cdf8c328fd5dc3de0e7dd5779d34d..70fb138c5a71b299923f01c373bcc77dcf0299b2 100644 |
| --- a/pkg/compiler/lib/src/ssa/builder.dart |
| +++ b/pkg/compiler/lib/src/ssa/builder.dart |
| @@ -6033,6 +6033,7 @@ class SsaBuilder extends ResolvedVisitor { |
| // body-block will be used, but for loops we will add (unnecessary) phis |
| // that will reference the body variables. This makes it look as if the |
| // variables were used in a non-dominated block. |
| + LocalsHandler savedLocals = new LocalsHandler.from(localsHandler); |
| HBasicBlock enterBlock = openNewBlock(); |
| HTry tryInstruction = new HTry(); |
| close(tryInstruction); |
| @@ -6055,6 +6056,7 @@ class SsaBuilder extends ResolvedVisitor { |
| SubGraph finallyGraph = null; |
| + localsHandler = new LocalsHandler.from(savedLocals); |
| startFinallyBlock = graph.addNewBlock(); |
| open(startFinallyBlock); |
| buildFinally(); |
| @@ -6098,6 +6100,7 @@ class SsaBuilder extends ResolvedVisitor { |
| // block and the finally block. |
| addExitTrySuccessor(startFinallyBlock); |
| + localsHandler = savedLocals; |
|
floitsch
2015/03/16 13:33:50
I'm not 100% sure that one is correct (even in the
sigurdm
2015/03/16 14:08:09
Done.
|
| open(exitBlock); |
| enterBlock.setBlockFlow( |
| new HTryBlockInformation( |