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

Unified Diff: pkg/compiler/lib/src/ssa/codegen.dart

Issue 2897273002: Add FunctionEntity.asyncMarker and refactor SourceInformationStrategy to avoid ResolvedAst (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
« no previous file with comments | « pkg/compiler/lib/src/ssa/builder.dart ('k') | pkg/compiler/lib/src/ssa/rasta_ssa_builder_task.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/ssa/codegen.dart
diff --git a/pkg/compiler/lib/src/ssa/codegen.dart b/pkg/compiler/lib/src/ssa/codegen.dart
index 7c2bf0d8d18a792bce051f687f0b5852c4550def..d86ca72af70116634135af290f55592f520356cd 100644
--- a/pkg/compiler/lib/src/ssa/codegen.dart
+++ b/pkg/compiler/lib/src/ssa/codegen.dart
@@ -11,7 +11,7 @@ import '../constants/constant_system.dart';
import '../constants/values.dart';
import '../common_elements.dart' show CommonElements;
import '../elements/elements.dart'
- show AsyncMarker, JumpTarget, LabelDefinition, MethodElement, ResolvedAst;
+ show JumpTarget, LabelDefinition, MethodElement;
import '../elements/entities.dart';
import '../elements/types.dart';
import '../io/source_information.dart';
@@ -19,7 +19,6 @@ import '../js/js.dart' as js;
import '../js_backend/interceptor_data.dart';
import '../js_backend/backend.dart';
import '../js_backend/checked_mode_helpers.dart';
-import '../js_backend/element_strategy.dart' show ElementCodegenWorkItem;
import '../js_backend/native_data.dart';
import '../js_backend/namer.dart';
import '../js_backend/runtime_types.dart';
@@ -47,8 +46,7 @@ class SsaCodeGeneratorTask extends CompilerTask {
String get name => 'SSA code generator';
js.Fun buildJavaScriptFunction(
- ResolvedAst resolvedAst, List<js.Parameter> parameters, js.Block body) {
- MethodElement element = resolvedAst.element;
+ FunctionEntity element, List<js.Parameter> parameters, js.Block body) {
js.AsyncModifier asyncModifier = element.asyncMarker.isAsync
? (element.asyncMarker.isYielding
? const js.AsyncModifier.asyncStar()
@@ -59,12 +57,12 @@ class SsaCodeGeneratorTask extends CompilerTask {
return new js.Fun(parameters, body, asyncModifier: asyncModifier)
.withSourceInformation(sourceInformationFactory
- .createBuilderForContext(resolvedAst)
- .buildDeclaration(resolvedAst));
+ .createBuilderForContext(element)
+ .buildDeclaration(element));
}
js.Expression generateCode(
- ElementCodegenWorkItem work, HGraph graph, ClosedWorld closedWorld) {
+ CodegenWorkItem work, HGraph graph, ClosedWorld closedWorld) {
if (work.element.isField) {
return generateLazyInitializer(work, graph, closedWorld);
} else {
@@ -73,12 +71,12 @@ class SsaCodeGeneratorTask extends CompilerTask {
}
js.Expression generateLazyInitializer(
- ElementCodegenWorkItem work, HGraph graph, ClosedWorld closedWorld) {
+ CodegenWorkItem work, HGraph graph, ClosedWorld closedWorld) {
return measure(() {
backend.tracer.traceGraph("codegen", graph);
SourceInformation sourceInformation = sourceInformationFactory
- .createBuilderForContext(work.resolvedAst)
- .buildDeclaration(work.resolvedAst);
+ .createBuilderForContext(work.element)
+ .buildDeclaration(work.element);
SsaCodeGenerator codegen = new SsaCodeGenerator(
backend.compiler.options,
backend.emitter,
@@ -98,9 +96,9 @@ class SsaCodeGeneratorTask extends CompilerTask {
}
js.Expression generateMethod(
- ElementCodegenWorkItem work, HGraph graph, ClosedWorld closedWorld) {
+ CodegenWorkItem work, HGraph graph, ClosedWorld closedWorld) {
return measure(() {
- MethodElement element = work.element;
+ FunctionEntity element = work.element;
if (element.asyncMarker != AsyncMarker.SYNC) {
work.registry.registerAsyncMarker(element.asyncMarker);
}
@@ -119,7 +117,7 @@ class SsaCodeGeneratorTask extends CompilerTask {
codegen.visitGraph(graph);
backend.tracer.traceGraph("codegen", graph);
return buildJavaScriptFunction(
- work.resolvedAst, codegen.parameters, codegen.body);
+ work.element, codegen.parameters, codegen.body);
});
}
}
« no previous file with comments | « pkg/compiler/lib/src/ssa/builder.dart ('k') | pkg/compiler/lib/src/ssa/rasta_ssa_builder_task.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698