Index: pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart |
diff --git a/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart b/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart |
index 2779c7699d64240405fa3f461218ff0a28c8a0f1..ac92e29336c872dccb1f05b28ff394791c75d32d 100644 |
--- a/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart |
+++ b/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart |
@@ -33,6 +33,7 @@ import '../universe/selector.dart'; |
import '../universe/world_builder.dart'; |
import '../universe/world_impact.dart'; |
import '../world.dart'; |
+import 'closure.dart'; |
import 'element_map_impl.dart'; |
import 'kernel_strategy.dart'; |
@@ -143,6 +144,7 @@ class KernelSsaBuilder implements SsaBuilder { |
@override |
HGraph build(CodegenWorkItem work, ClosedWorld closedWorld) { |
+ KernelToLocalsMap localsMap = new KernelToLocalsMapImpl(work.element); |
KernelSsaGraphBuilder builder = new KernelSsaGraphBuilder( |
work.element, |
work.element.enclosingClass, |
@@ -150,11 +152,11 @@ class KernelSsaBuilder implements SsaBuilder { |
_compiler, |
_elementMap, |
new KernelToTypeInferenceMapImpl(closedWorld), |
- new KernelToLocalsMapImpl(work.element), |
+ localsMap, |
closedWorld, |
_compiler.codegenWorldBuilder, |
work.registry, |
- _compiler.closureDataLookup, |
+ new KernelClosureDataLookup(_elementMap, localsMap), |
// TODO(johnniwinther): Support these: |
const SourceInformationBuilder(), |
null, // Function node used as capture scope id. |
@@ -285,7 +287,7 @@ class KernelToLocalsMapImpl implements KernelToLocalsMap { |
@override |
LoopClosureRepresentationInfo getClosureRepresentationInfoForLoop( |
ClosureDataLookup closureLookup, ir.TreeNode node) { |
- return const LoopClosureRepresentationInfo(); |
+ return closureLookup.getClosureRepresentationInfoForLoop(node); |
} |
} |