Index: pkg/compiler/lib/src/dart_backend/backend.dart |
diff --git a/pkg/compiler/lib/src/dart_backend/backend.dart b/pkg/compiler/lib/src/dart_backend/backend.dart |
index 11bea7a9f4b3af06ece23de3a00f3a8ea074a1d8..171244dc5dfc0996c48f16892f5bd6df64133ffb 100644 |
--- a/pkg/compiler/lib/src/dart_backend/backend.dart |
+++ b/pkg/compiler/lib/src/dart_backend/backend.dart |
@@ -134,10 +134,10 @@ class DartBackend extends Backend { |
/// Create an [ElementAst] from the CPS IR. |
static ElementAst createElementAst(Compiler compiler, |
- Tracer tracer, |
- ConstantSystem constantSystem, |
- Element element, |
- cps_ir.FunctionDefinition function) { |
+ Tracer tracer, |
+ ConstantSystem constantSystem, |
+ Element element, |
+ cps_ir.ExecutableDefinition cpsDefinition) { |
// Transformations on the CPS IR. |
if (tracer != null) { |
tracer.traceCompilation(element.name, null); |
@@ -149,38 +149,38 @@ class DartBackend extends Backend { |
} |
} |
- new ConstantPropagator(compiler, constantSystem).rewrite(function); |
- traceGraph("Sparse constant propagation", function); |
- new RedundantPhiEliminator().rewrite(function); |
- traceGraph("Redundant phi elimination", function); |
- new ShrinkingReducer().rewrite(function); |
- traceGraph("Shrinking reductions", function); |
+ new ConstantPropagator(compiler, constantSystem).rewrite(cpsDefinition); |
+ traceGraph("Sparse constant propagation", cpsDefinition); |
+ new RedundantPhiEliminator().rewrite(cpsDefinition); |
+ traceGraph("Redundant phi elimination", cpsDefinition); |
+ new ShrinkingReducer().rewrite(cpsDefinition); |
+ traceGraph("Shrinking reductions", cpsDefinition); |
// Do not rewrite the IR after variable allocation. Allocation |
// makes decisions based on an approximation of IR variable live |
// ranges that can be invalidated by transforming the IR. |
- new cps_ir.RegisterAllocator().visit(function); |
+ new cps_ir.RegisterAllocator().visit(cpsDefinition); |
tree_builder.Builder builder = new tree_builder.Builder(compiler); |
- tree_ir.FunctionDefinition definition = builder.build(function); |
- assert(definition != null); |
- traceGraph('Tree builder', definition); |
+ tree_ir.ExecutableDefinition treeDefinition = builder.build(cpsDefinition); |
+ assert(treeDefinition != null); |
+ traceGraph('Tree builder', treeDefinition); |
// Transformations on the Tree IR. |
- new StatementRewriter().rewrite(definition); |
- traceGraph('Statement rewriter', definition); |
- new CopyPropagator().rewrite(definition); |
- traceGraph('Copy propagation', definition); |
- new LoopRewriter().rewrite(definition); |
- traceGraph('Loop rewriter', definition); |
- new LogicalRewriter().rewrite(definition); |
- traceGraph('Logical rewriter', definition); |
- new backend_ast_emitter.UnshadowParameters().unshadow(definition); |
- traceGraph('Unshadow parameters', definition); |
+ new StatementRewriter().rewrite(treeDefinition); |
+ traceGraph('Statement rewriter', treeDefinition); |
+ new CopyPropagator().rewrite(treeDefinition); |
+ traceGraph('Copy propagation', treeDefinition); |
+ new LoopRewriter().rewrite(treeDefinition); |
+ traceGraph('Loop rewriter', treeDefinition); |
+ new LogicalRewriter().rewrite(treeDefinition); |
+ traceGraph('Logical rewriter', treeDefinition); |
+ new backend_ast_emitter.UnshadowParameters().unshadow(treeDefinition); |
+ traceGraph('Unshadow parameters', treeDefinition); |
TreeElementMapping treeElements = new TreeElementMapping(element); |
- backend_ast.Node backendAst = |
- backend_ast_emitter.emit(definition); |
+ backend_ast.ExecutableDefinition backendAst = |
+ backend_ast_emitter.emit(treeDefinition); |
Node frontend_ast = backend2frontend.emit(treeElements, backendAst); |
return new ElementAst.internal(frontend_ast, treeElements); |
@@ -204,9 +204,10 @@ class DartBackend extends Backend { |
if (!compiler.irBuilder.hasIr(element)) { |
return new ElementAst(element); |
} else { |
- cps_ir.FunctionDefinition function = compiler.irBuilder.getIr(element); |
+ cps_ir.ExecutableDefinition definition = |
+ compiler.irBuilder.getIr(element); |
return createElementAst(compiler, |
- compiler.tracer, constantSystem, element, function); |
+ compiler.tracer, constantSystem, element, definition); |
} |
} |