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

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

Issue 759193005: Add support for fields to the new dart backend. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebase Created 6 years, 1 month 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/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);
}
}
« no previous file with comments | « pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart ('k') | pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698