Chromium Code Reviews| 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 f15418f2188f2903ea1b6b692149abfaff6cc589..db5c00d77ebdffe18d36785daf38aa3880c2d71c 100644 |
| --- a/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart |
| +++ b/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart |
| @@ -21,9 +21,10 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor { |
| visit(cps_ir.Node node) => node.accept(this); |
| - void traceGraph(String name, cps_ir.ExecutableDefinition graph) { |
| + void traceGraph(String name, cps_ir.RootNode graph) { |
| tag("cfg", () { |
| printProperty("name", name); |
| + if (graph.isEmpty) return; |
| visit(graph); |
|
Kevin Millikin (Google)
2015/04/08 15:10:15
Maybe this can be disentangled a bit after this ch
asgerf
2015/04/09 09:58:23
I agree, this code has stagnated quite a bit.
I u
|
| }); |
| } |
| @@ -31,7 +32,7 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor { |
| // Temporary field used during tree walk |
| Names names; |
| - printDefinition(cps_ir.ExecutableDefinition node) { |
| + printDefinition(cps_ir.RootNode node) { |
| names = new Names(); |
| BlockCollector builder = new BlockCollector(names); |
| builder.visit(node); |
| @@ -46,18 +47,14 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor { |
| } |
| visitFieldDefinition(cps_ir.FieldDefinition node) { |
| - if (node.hasInitializer) { |
| - printDefinition(node); |
| - } |
| + printDefinition(node); |
| } |
| visitFunctionDefinition(cps_ir.FunctionDefinition node) { |
| - if (node.isAbstract) return; |
| printDefinition(node); |
| } |
| visitConstructorDefinition(cps_ir.ConstructorDefinition node) { |
| - if (node.isAbstract) return; |
| printDefinition(node); |
| } |
| @@ -68,7 +65,7 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor { |
| throw 'The IR tracer reached an unexpected IR instruction: $node'; |
| } |
| - visitRunnableBody(cps_ir.RunnableBody node) { |
| + visitBody(cps_ir.Body node) { |
| unexpectedNode(node); |
| } |
| visitFieldInitializer(cps_ir.FieldInitializer node) { |
| @@ -429,9 +426,7 @@ class BlockCollector implements cps_ir.Visitor { |
| visit(cps_ir.Node node) => node.accept(this); |
| visitFieldDefinition(cps_ir.FieldDefinition node) { |
| - if (node.hasInitializer) { |
| - visit(node.body); |
| - } |
| + visit(node.body); |
| } |
| visitFunctionDefinition(cps_ir.FunctionDefinition node) { |
| @@ -442,7 +437,7 @@ class BlockCollector implements cps_ir.Visitor { |
| visit(node.body); |
| } |
| - visitRunnableBody(cps_ir.RunnableBody node) { |
| + visitBody(cps_ir.Body node) { |
| current_block = new Block(names.name(node), [], node.body); |
| entries.add(current_block); |
| visit(node.body); |