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

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

Issue 2905623002: Extract type inference queries from KernelAstAdapter to KernelToTypeInferenceMap (Closed)
Patch Set: Created 3 years, 7 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_strategy.dart
diff --git a/pkg/compiler/lib/src/kernel/kernel_strategy.dart b/pkg/compiler/lib/src/kernel/kernel_strategy.dart
index 8176c97ea018a119ae6e8aeab64ba95fbf6fcf9a..844459dbcde5d2b5e1142dccafc2f0b0125b1948 100644
--- a/pkg/compiler/lib/src/kernel/kernel_strategy.dart
+++ b/pkg/compiler/lib/src/kernel/kernel_strategy.dart
@@ -5,22 +5,18 @@
library dart2js.kernel.frontend_strategy;
import '../closure.dart';
-import '../backend_strategy.dart';
import '../common.dart';
import '../common_elements.dart';
import '../common/backend_api.dart';
-import '../common/codegen.dart' show CodegenRegistry, CodegenWorkItem;
import '../common/resolution.dart';
import '../common/tasks.dart';
import '../common/work.dart';
-import '../compiler.dart';
import '../elements/elements.dart';
import '../elements/entities.dart';
import '../elements/types.dart';
import '../environment.dart' as env;
import '../enqueue.dart';
import '../frontend_strategy.dart';
-import '../io/source_information.dart';
import '../js_backend/backend.dart';
import '../js_backend/backend_usage.dart';
import '../js_backend/custom_elements_analysis.dart';
@@ -30,14 +26,9 @@ import '../js_backend/mirrors_data.dart';
import '../js_backend/native_data.dart';
import '../js_backend/no_such_method_registry.dart';
import '../js_backend/runtime_types.dart';
-import '../js_emitter/sorter.dart';
-import '../kernel/element_map.dart';
import '../library_loader.dart';
import '../native/resolver.dart';
import '../serialization/task.dart';
-import '../ssa/builder_kernel.dart';
-import '../ssa/nodes.dart';
-import '../ssa/ssa.dart';
import '../patch_parser.dart';
import '../resolved_uri_translator.dart';
import '../universe/world_builder.dart';
@@ -245,50 +236,6 @@ class MirrorsResolutionAnalysisImpl implements MirrorsResolutionAnalysis {
void onResolutionComplete() {}
}
-/// Backend strategy that uses the kernel elements as the backend model.
-// TODO(johnniwinther): Replace this with a strategy based on the J-element
-// model.
-class KernelBackendStrategy implements BackendStrategy {
- final Compiler _compiler;
-
- KernelBackendStrategy(this._compiler);
-
- @override
- ClosedWorldRefiner createClosedWorldRefiner(KernelClosedWorld closedWorld) {
- return closedWorld;
- }
-
- @override
- Sorter get sorter =>
- throw new UnimplementedError('KernelBackendStrategy.sorter');
-
- @override
- void convertClosures(ClosedWorldRefiner closedWorldRefiner) {
- // TODO(johnniwinther,efortuna): Compute closure classes for kernel based
- // elements.
- }
-
- @override
- WorkItemBuilder createCodegenWorkItemBuilder(ClosedWorld closedWorld) {
- return new KernelCodegenWorkItemBuilder(_compiler.backend, closedWorld);
- }
-
- @override
- CodegenWorldBuilder createCodegenWorldBuilder(
- NativeBasicData nativeBasicData,
- ClosedWorld closedWorld,
- SelectorConstraintsStrategy selectorConstraintsStrategy) {
- return new KernelCodegenWorldBuilder(_compiler.elementEnvironment,
- nativeBasicData, closedWorld, selectorConstraintsStrategy);
- }
-
- @override
- SsaBuilderTask createSsaBuilderTask(JavaScriptBackend backend,
- SourceInformationStrategy sourceInformationStrategy) {
- return new KernelSsaBuilderTask(backend.compiler);
- }
-}
-
class MirrorsCodegenAnalysisImpl implements MirrorsCodegenAnalysis {
@override
int get preMirrorsMethodCount {
@@ -301,55 +248,3 @@ class MirrorsCodegenAnalysisImpl implements MirrorsCodegenAnalysis {
throw new UnimplementedError('MirrorsCodegenAnalysisImpl.onQueueEmpty');
}
}
-
-class KernelCodegenWorkItemBuilder implements WorkItemBuilder {
- final JavaScriptBackend _backend;
- final ClosedWorld _closedWorld;
-
- KernelCodegenWorkItemBuilder(this._backend, this._closedWorld);
-
- @override
- CodegenWorkItem createWorkItem(MemberEntity entity) {
- return new KernelCodegenWorkItem(_backend, _closedWorld, entity);
- }
-}
-
-class KernelCodegenWorkItem extends CodegenWorkItem {
- final JavaScriptBackend _backend;
- final ClosedWorld _closedWorld;
- final MemberEntity element;
- final CodegenRegistry registry;
-
- KernelCodegenWorkItem(this._backend, this._closedWorld, this.element)
- : registry = new CodegenRegistry(element);
-
- @override
- WorldImpact run() {
- return _backend.codegen(this, _closedWorld);
- }
-}
-
-/// Task for building SSA from kernel IR loaded from .dill.
-class KernelSsaBuilderTask extends CompilerTask implements SsaBuilderTask {
- final Compiler _compiler;
-
- KernelSsaBuilderTask(this._compiler) : super(_compiler.measurer);
-
- KernelToElementMap get _elementMap {
- KernelFrontEndStrategy frontEndStrategy = _compiler.frontEndStrategy;
- return frontEndStrategy.elementMap;
- }
-
- @override
- HGraph build(CodegenWorkItem work, ClosedWorld closedWorld) {
- KernelSsaBuilder builder = new KernelSsaBuilder(
- work.element,
- _compiler,
- _elementMap,
- closedWorld,
- work.registry,
- const SourceInformationBuilder(),
- null);
- return builder.build();
- }
-}

Powered by Google App Engine
This is Rietveld 408576698