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 57aabba6381bd44df6869b672aa2e354317cf68a..911e2459b500d1fb66b415a76ccf6e5736b5eadd 100644 |
--- a/pkg/compiler/lib/src/ssa/builder.dart |
+++ b/pkg/compiler/lib/src/ssa/builder.dart |
@@ -1744,7 +1744,8 @@ class SsaBuilder extends ast.Visitor |
visitDoWhile(ast.DoWhile node) { |
assert(isReachable); |
LocalsHandler savedLocals = new LocalsHandler.from(localsHandler); |
- localsHandler.startLoop(node); |
+ ClosureScope scopeData = localsHandler.closureData.capturingScopes[node]; |
+ localsHandler.startLoop(scopeData); |
Emily Fortuna
2017/06/09 20:12:26
great minds think alike?
I actually have a CL tha
Johnni Winther
2017/06/12 08:02:52
I'll wait for your CL to land
|
loopDepth++; |
JumpHandler jumpHandler = loopHandler.beginLoopHeader(node); |
HLoopInformation loopInfo = current.loopInformation; |
@@ -1762,7 +1763,7 @@ class SsaBuilder extends ast.Visitor |
// Using a separate block is just a simple workaround. |
bodyEntryBlock = openNewBlock(); |
} |
- localsHandler.enterLoopBody(node); |
+ localsHandler.enterLoopBody(scopeData); |
visit(node.body); |
// If there are no continues we could avoid the creation of the condition |