| 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 5d7c114bb0622042b0f3d689d6c16a166552cc7e..d9efa8322675a962d8558acf7d1b3d882c622718 100644
|
| --- a/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
|
| +++ b/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
|
| @@ -199,7 +199,7 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor {
|
|
|
| visitSetClosureVariable(cps_ir.SetClosureVariable node) {
|
| String dummy = names.name(node);
|
| - String variable = node.variable.name;
|
| + String variable = names.name(node.variable.definition);
|
| String value = formatReference(node.value);
|
| printStmt(dummy, 'SetClosureVariable $variable = $value');
|
| visit(node.body);
|
| @@ -207,7 +207,7 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor {
|
|
|
| visitDeclareFunction(cps_ir.DeclareFunction node) {
|
| String dummy = names.name(node);
|
| - String variable = node.variable.name;
|
| + String variable = names.name(node.variable.definition);
|
| printStmt(dummy, 'DeclareFunction $variable');
|
| visit(node.body);
|
| }
|
| @@ -231,6 +231,10 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor {
|
| return "Parameter ${names.name(node)}";
|
| }
|
|
|
| + visitClosureVariable(cps_ir.ClosureVariable node) {
|
| + return "ClosureVariable ${names.name(node)}";
|
| + }
|
| +
|
| visitContinuation(cps_ir.Continuation node) {
|
| return "Continuation ${names.name(node)}";
|
| }
|
| @@ -258,7 +262,7 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor {
|
| }
|
|
|
| visitGetClosureVariable(cps_ir.GetClosureVariable node) {
|
| - String variable = node.variable.name;
|
| + String variable = names.name(node.variable.definition);
|
| return 'GetClosureVariable $variable';
|
| }
|
|
|
| @@ -282,13 +286,15 @@ class Names {
|
| 'r': 0,
|
| 'B': 0,
|
| 'v': 0,
|
| - 'x': 0
|
| + 'x': 0,
|
| + 'c': 0
|
| };
|
|
|
| String prefix(x) {
|
| if (x is cps_ir.Parameter) return 'r';
|
| if (x is cps_ir.Continuation || x is cps_ir.FunctionDefinition) return 'B';
|
| if (x is cps_ir.Primitive) return 'v';
|
| + if (x is cps_ir.ClosureVariable) return 'c';
|
| return 'x';
|
| }
|
|
|
|
|