Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Unified Diff: pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart

Issue 2938203003: Compute KernelClosureRepresentationInfo.variableIsUsedInTryOrSync (Closed)
Patch Set: Rebased Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}
}

Powered by Google App Engine
This is Rietveld 408576698