Index: pkg/compiler/lib/src/js_backend/backend.dart |
diff --git a/pkg/compiler/lib/src/js_backend/backend.dart b/pkg/compiler/lib/src/js_backend/backend.dart |
index 8c2f26ad9a7bd531da3b7a1160ce4b249866cf5f..2d6412df690520215145edd4beac680ee704b43e 100644 |
--- a/pkg/compiler/lib/src/js_backend/backend.dart |
+++ b/pkg/compiler/lib/src/js_backend/backend.dart |
@@ -40,15 +40,14 @@ import '../js_emitter/js_emitter.dart' show CodeEmitterTask; |
import '../library_loader.dart' show LibraryLoader, LoadedLibraries; |
import '../native/native.dart' as native; |
import '../ssa/ssa.dart' show SsaFunctionCompiler; |
-import '../ssa/nodes.dart' show HInstruction; |
import '../tree/tree.dart'; |
import '../types/types.dart'; |
import '../universe/call_structure.dart' show CallStructure; |
-import '../universe/selector.dart' show Selector, SelectorKind; |
+import '../universe/feature.dart'; |
+import '../universe/selector.dart' show Selector; |
import '../universe/universe.dart'; |
import '../universe/use.dart' |
show DynamicUse, StaticUse, StaticUseKind, TypeUse, TypeUseKind; |
-import '../universe/feature.dart'; |
import '../universe/world_impact.dart' |
show |
ImpactStrategy, |
@@ -66,6 +65,7 @@ import 'constant_handler_javascript.dart'; |
import 'custom_elements_analysis.dart'; |
import 'enqueuer.dart'; |
import 'js_interop_analysis.dart' show JsInteropAnalysis; |
+import 'kernel_task.dart'; |
import 'lookup_map_analysis.dart' show LookupMapAnalysis; |
import 'namer.dart'; |
import 'native_data.dart' show NativeData; |
@@ -564,6 +564,9 @@ class JavaScriptBackend extends Backend { |
/// Support for classifying `noSuchMethod` implementations. |
NoSuchMethodRegistry noSuchMethodRegistry; |
+ /// Builds kernel representation for the program. |
+ KernelTask kernelTask; |
+ |
JavaScriptConstantTask constantCompilerTask; |
JavaScriptImpactTransformer impactTransformer; |
@@ -612,6 +615,7 @@ class JavaScriptBackend extends Backend { |
jsInteropAnalysis = new JsInteropAnalysis(this); |
noSuchMethodRegistry = new NoSuchMethodRegistry(this); |
+ kernelTask = new KernelTask(this); |
constantCompilerTask = new JavaScriptConstantTask(compiler); |
impactTransformer = new JavaScriptImpactTransformer(this); |
patchResolverTask = new PatchResolverTask(compiler); |
@@ -2365,6 +2369,10 @@ class JavaScriptBackend extends Backend { |
enabledNoSuchMethod = true; |
} |
+ if (compiler.options.useKernel) { |
+ kernelTask.onQueueEmpty(); |
Siggi Cherem (dart-lang)
2016/09/09 22:49:23
nit: rename "onQueueEmpty" to "buildKernelIr"?
I
Harry Terkelsen
2016/09/09 22:56:47
Done. I think that's better, I was mainly naming i
|
+ } |
+ |
if (compiler.options.hasIncrementalSupport) { |
// Always enable tear-off closures during incremental compilation. |
Element e = helpers.closureFromTearOff; |