| 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 77b757f902d81389904f8ce913cf1a809ce9b0f1..74d973ef6a04fddbcdfdd2266bf058545e4a420c 100644
|
| --- a/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
|
| +++ b/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
|
| @@ -5,7 +5,6 @@
|
| library dart2js.ir_tracer;
|
|
|
| import 'dart:async' show EventSink;
|
| -
|
| import 'cps_ir_nodes.dart' as cps_ir hide Function;
|
| import '../tracer.dart';
|
|
|
| @@ -21,8 +20,7 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor {
|
|
|
| visit(cps_ir.Node node) => node.accept(this);
|
|
|
| - void traceGraph(String name, cps_ir.RootNode node) {
|
| - if (node.isEmpty) return; // Don't bother printing an empty trace.
|
| + void traceGraph(String name, cps_ir.FunctionDefinition node) {
|
| tag("cfg", () {
|
| printProperty("name", name);
|
|
|
| @@ -43,30 +41,10 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor {
|
| // Temporary field used during tree walk
|
| Names names;
|
|
|
| - visitFieldDefinition(cps_ir.FieldDefinition node) {
|
| - unexpectedNode(node);
|
| - }
|
| -
|
| visitFunctionDefinition(cps_ir.FunctionDefinition node) {
|
| unexpectedNode(node);
|
| }
|
|
|
| - visitConstructorDefinition(cps_ir.ConstructorDefinition node) {
|
| - unexpectedNode(node);
|
| - }
|
| -
|
| - visitFieldInitializer(cps_ir.FieldInitializer node) {
|
| - unexpectedNode(node);
|
| - }
|
| -
|
| - visitSuperInitializer(cps_ir.SuperInitializer node) {
|
| - unexpectedNode(node);
|
| - }
|
| -
|
| - visitBody(cps_ir.Body node) {
|
| - unexpectedNode(node);
|
| - }
|
| -
|
| // Bodies and initializers are not visited. They contain continuations which
|
| // are found by a BlockCollector, then those continuations are processed by
|
| // this visitor.
|
| @@ -264,13 +242,6 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor {
|
| visit(node.body);
|
| }
|
|
|
| - visitDeclareFunction(cps_ir.DeclareFunction node) {
|
| - String dummy = names.name(node);
|
| - String variable = names.name(node.variable);
|
| - printStmt(dummy, 'DeclareFunction $variable');
|
| - visit(node.body);
|
| - }
|
| -
|
| String formatReference(cps_ir.Reference ref) {
|
| cps_ir.Definition target = ref.definition;
|
| if (target is cps_ir.Continuation && target.isReturnContinuation) {
|
| @@ -358,10 +329,6 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor {
|
| return "Interceptor(${formatReference(node.input)})";
|
| }
|
|
|
| - visitReifyTypeVar(cps_ir.ReifyTypeVar node) {
|
| - return "ReifyTypeVar ${node.typeVariable.name}";
|
| - }
|
| -
|
| visitCreateFunction(cps_ir.CreateFunction node) {
|
| return "CreateFunction ${node.definition.element.name}";
|
| }
|
| @@ -469,33 +436,12 @@ class BlockCollector implements cps_ir.Visitor {
|
|
|
| visit(cps_ir.Node node) => node.accept(this);
|
|
|
| - visitFieldDefinition(cps_ir.FieldDefinition node) {
|
| - visit(node.body);
|
| - }
|
| -
|
| visitFunctionDefinition(cps_ir.FunctionDefinition node) {
|
| - visit(node.body);
|
| - }
|
| -
|
| - visitConstructorDefinition(cps_ir.ConstructorDefinition node) {
|
| - node.initializers.forEach(visit);
|
| - visit(node.body);
|
| - }
|
| -
|
| - visitBody(cps_ir.Body node) {
|
| currentBlock = new Block(names.name(node), [], node.body);
|
| entries.add(currentBlock);
|
| visit(node.body);
|
| }
|
|
|
| - visitFieldInitializer(cps_ir.FieldInitializer node) {
|
| - visit(node.body);
|
| - }
|
| -
|
| - visitSuperInitializer(cps_ir.SuperInitializer node) {
|
| - node.arguments.forEach(visit);
|
| - }
|
| -
|
| visitLetPrim(cps_ir.LetPrim exp) {
|
| visit(exp.body);
|
| }
|
| @@ -567,10 +513,6 @@ class BlockCollector implements cps_ir.Visitor {
|
| addEdgeToContinuation(exp.continuation);
|
| }
|
|
|
| - visitDeclareFunction(cps_ir.DeclareFunction exp) {
|
| - visit(exp.body);
|
| - }
|
| -
|
| visitBranch(cps_ir.Branch exp) {
|
| cps_ir.Continuation trueTarget = exp.trueContinuation.definition;
|
| if (!trueTarget.isReturnContinuation) {
|
| @@ -608,9 +550,6 @@ class BlockCollector implements cps_ir.Visitor {
|
| visitConstant(cps_ir.Constant node) {
|
| unexpectedNode(node);
|
| }
|
| - visitReifyTypeVar(cps_ir.ReifyTypeVar node) {
|
| - unexpectedNode(node);
|
| - }
|
| visitCreateFunction(cps_ir.CreateFunction node) {
|
| unexpectedNode(node);
|
| }
|
|
|