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

Unified Diff: pkg/compiler/lib/src/cps_ir/cps_ir_tracer.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
« no previous file with comments | « pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart ('k') | pkg/compiler/lib/src/cps_ir/optimizers.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
index e2b906912415c30c9c21fe21d36ce5aee5f73605..5a6431ad261b6f515e0ea08173077d99971fa96f 100644
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
@@ -21,20 +21,20 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor {
visit(cps_ir.Node node) => node.accept(this);
- void traceGraph(String name, cps_ir.FunctionDefinition graph) {
+ void traceGraph(String name, cps_ir.ExecutableDefinition graph) {
tag("cfg", () {
printProperty("name", name);
- visitFunctionDefinition(graph);
+ visit(graph);
});
}
// Temporary field used during tree walk
Names names;
- visitFunctionDefinition(cps_ir.FunctionDefinition f) {
+ visitExecutableDefinition(cps_ir.ExecutableDefinition node) {
names = new Names();
BlockCollector builder = new BlockCollector(names);
- builder.visit(f);
+ builder.visit(node);
printNode(builder.entry);
for (Block block in builder.cont2block.values) {
@@ -43,6 +43,14 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor {
names = null;
}
+ visitFieldDefinition(cps_ir.FieldDefinition node) {
+ visitExecutableDefinition(node);
+ }
+
+ visitFunctionDefinition(cps_ir.FunctionDefinition node) {
+ visitExecutableDefinition(node);
+ }
+
int countUses(cps_ir.Definition definition) {
int count = 0;
cps_ir.Reference ref = definition.firstRef;
@@ -329,9 +337,17 @@ class BlockCollector extends cps_ir.Visitor {
return block;
}
- visitFunctionDefinition(cps_ir.FunctionDefinition f) {
- entry = current_block = new Block(names.name(f), [], f.body);
- visit(f.body);
+ visitExecutableDefinition(cps_ir.ExecutableDefinition node) {
+ entry = current_block = new Block(names.name(node), [], node.body);
+ visit(node.body);
+ }
+
+ visitFieldDefinition(cps_ir.FieldDefinition node) {
+ visitExecutableDefinition(node);
+ }
+
+ visitFunctionDefinition(cps_ir.FunctionDefinition node) {
+ visitExecutableDefinition(node);
}
visitLetPrim(cps_ir.LetPrim exp) {
« no previous file with comments | « pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart ('k') | pkg/compiler/lib/src/cps_ir/optimizers.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698