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

Unified Diff: pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart

Issue 1223813006: dart2js cps: Direct access on JS arrays. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Update unit tests and remove unused functions Created 5 years, 5 months 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/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 1c5adcfb262a5b7b67d9f2f12ebfd145e0331a93..24fdebc7c04909ac93d3ec9905f428b3a5a8c376 100644
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
@@ -192,20 +192,18 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor {
}
visitLiteralList(cps_ir.LiteralList node) {
- String dummy = names.name(node);
String values = node.values.map(formatReference).join(', ');
- printStmt(dummy, "LiteralList ($values)");
+ return "LiteralList ($values)";
}
visitLiteralMap(cps_ir.LiteralMap node) {
- String dummy = names.name(node);
List<String> entries = new List<String>();
for (cps_ir.LiteralMapEntry entry in node.entries) {
String key = formatReference(entry.key);
String value = formatReference(entry.value);
entries.add("$key: $value");
}
- printStmt(dummy, "LiteralMap (${entries.join(', ')})");
+ return "LiteralMap (${entries.join(', ')})";
}
visitTypeCast(cps_ir.TypeCast node) {
@@ -374,6 +372,24 @@ class IRTracer extends TracerUtil implements cps_ir.Visitor {
printStmt(id, "ForeignCode ${node.type} ${node.codeTemplate.source} "
"$arguments $continuation");
}
+
+ visitGetLength(cps_ir.GetLength node) {
+ String object = formatReference(node.object);
+ return 'GetLength $object';
+ }
+
+ visitGetIndex(cps_ir.GetIndex node) {
+ String object = formatReference(node.object);
+ String index = formatReference(node.index);
+ return 'GetIndex $object $index';
+ }
+
+ visitSetIndex(cps_ir.SetIndex node) {
+ String object = formatReference(node.object);
+ String index = formatReference(node.index);
+ String value = formatReference(node.value);
+ return 'SetIndex $object $index $value';
+ }
}
/**
@@ -633,6 +649,18 @@ class BlockCollector implements cps_ir.Visitor {
unexpectedNode(node);
}
+ visitGetLength(cps_ir.GetLength node) {
+ unexpectedNode(node);
+ }
+
+ visitGetIndex(cps_ir.GetIndex node) {
+ unexpectedNode(node);
+ }
+
+ visitSetIndex(cps_ir.SetIndex node) {
+ unexpectedNode(node);
+ }
+
@override
visitForeignCode(cps_ir.ForeignCode node) {
if (node.continuation != null) {
« no previous file with comments | « pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart ('k') | pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698