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

Unified Diff: pkg/compiler/lib/src/js_backend/backend.dart

Issue 2727373003: Late creation of CodegenEnqueuerListener and CodegenWorldBuilder (Closed)
Patch Set: Created 3 years, 10 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
« no previous file with comments | « pkg/compiler/lib/src/enqueue.dart ('k') | pkg/compiler/lib/src/js_backend/codegen_listener.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 4cfc293375165c352343f08afd9a0f57d4d194b9..b18f84014e6f2591a0f2ff3ae38edcd6693a3cfb 100644
--- a/pkg/compiler/lib/src/js_backend/backend.dart
+++ b/pkg/compiler/lib/src/js_backend/backend.dart
@@ -52,6 +52,7 @@ import '../patch_parser.dart'
import '../ssa/ssa.dart' show SsaFunctionCompiler;
import '../tracer.dart';
import '../tree/tree.dart';
+import '../types/types.dart';
import '../universe/call_structure.dart' show CallStructure;
import '../universe/selector.dart' show Selector;
import '../universe/world_builder.dart';
@@ -442,7 +443,6 @@ class JavaScriptBackend {
CheckedModeHelpers _checkedModeHelpers;
ResolutionEnqueuerListener _resolutionEnqueuerListener;
- CodegenEnqueuerListener _codegenEnqueuerListener;
native.NativeResolutionEnqueuer _nativeResolutionEnqueuer;
native.NativeCodegenEnqueuer _nativeCodegenEnqueuer;
@@ -566,18 +566,6 @@ class JavaScriptBackend {
lookupMapLibraryAccess,
mirrorsAnalysis,
_nativeResolutionEnqueuer);
- _codegenEnqueuerListener = new CodegenEnqueuerListener(
- this,
- compiler.elementEnvironment,
- commonElements,
- helpers,
- impacts,
- mirrorsData,
- customElementsCodegenAnalysis,
- typeVariableHandler,
- lookupMapAnalysis,
- mirrorsAnalysis,
- _nativeCodegenEnqueuer);
}
/// The [ConstantSystem] used to interpret compile-time constants for this
@@ -653,8 +641,6 @@ class JavaScriptBackend {
EnqueuerListener get resolutionEnqueuerListener =>
_resolutionEnqueuerListener;
- EnqueuerListener get codegenEnqueuerListener => _codegenEnqueuerListener;
-
/// Returns constant environment for the JavaScript interpretation of the
/// constants.
JavaScriptConstantCompiler get constants {
@@ -967,9 +953,29 @@ class JavaScriptBackend {
noSuchMethodRegistry.isComplex(element);
/// Creates an [Enqueuer] for code generation specific to this backend.
- CodegenEnqueuer createCodegenEnqueuer(CompilerTask task, Compiler compiler) {
+ CodegenEnqueuer createCodegenEnqueuer(
+ CompilerTask task, Compiler compiler, ClosedWorld closedWorld) {
return new CodegenEnqueuer(
- task, this, compiler.options, const TreeShakingEnqueuerStrategy());
+ task,
+ compiler.options,
+ const TreeShakingEnqueuerStrategy(),
+ new CodegenWorldBuilderImpl(
+ this, closedWorld, const TypeMaskStrategy()),
+ new CodegenWorkItemBuilder(this, compiler.options),
+ new CodegenEnqueuerListener(
+ compiler.dumpInfoTask,
+ compiler.elementEnvironment,
+ commonElements,
+ helpers,
+ impacts,
+ backendUsage,
+ rtiNeed,
+ mirrorsData,
+ customElementsCodegenAnalysis,
+ typeVariableHandler,
+ lookupMapAnalysis,
+ mirrorsAnalysis,
+ _nativeCodegenEnqueuer));
}
WorldImpact codegen(CodegenWorkItem work) {
« no previous file with comments | « pkg/compiler/lib/src/enqueue.dart ('k') | pkg/compiler/lib/src/js_backend/codegen_listener.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698