Revision: 9245
Author: [email protected]
Date: Mon Sep 12 07:00:16 2011
Log: Improved pretty printing of VAR PROXY and some control flow AST
nodes.
Review URL: http://codereview.chromium.org/7866041
http://code.google.com/p/v8/source/detail?r=9245
Modified:
/branches/bleeding_edge/src/prettyprinter.cc
=======================================
--- /branches/bleeding_edge/src/prettyprinter.cc Fri Sep 9 15:39:47 2011
+++ /branches/bleeding_edge/src/prettyprinter.cc Mon Sep 12 07:00:16 2011
@@ -633,17 +633,14 @@
void AstPrinter::PrintLabelsIndented(const char* info, ZoneStringList*
labels) {
if (labels != NULL && labels->length() > 0) {
- if (info == NULL) {
- PrintIndented("LABELS ");
- } else {
- PrintIndented(info);
- Print(" ");
- }
+ PrintIndented(info == NULL ? "LABELS" : info);
+ Print(" ");
PrintLabels(labels);
+ Print("\n");
} else if (info != NULL) {
PrintIndented(info);
- }
- Print("\n");
+ Print("\n");
+ }
}
@@ -929,25 +926,25 @@
void AstPrinter::VisitVariableProxy(VariableProxy* node) {
Variable* var = node->var();
- PrintLiteralWithModeIndented("VAR PROXY", var, node->name());
- { IndentedScope indent(this);
- switch (var->location()) {
- case Variable::UNALLOCATED:
- break;
- case Variable::PARAMETER:
- Print("parameter[%d]", var->index());
- break;
- case Variable::LOCAL:
- Print("local[%d]", var->index());
- break;
- case Variable::CONTEXT:
- Print("context[%d]", var->index());
- break;
- case Variable::LOOKUP:
- Print("lookup");
- break;
- }
- }
+ EmbeddedVector<char, 128> buf;
+ int pos = OS::SNPrintF(buf, "VAR PROXY");
+ switch (var->location()) {
+ case Variable::UNALLOCATED:
+ break;
+ case Variable::PARAMETER:
+ OS::SNPrintF(buf + pos, " parameter[%d]", var->index());
+ break;
+ case Variable::LOCAL:
+ OS::SNPrintF(buf + pos, " local[%d]", var->index());
+ break;
+ case Variable::CONTEXT:
+ OS::SNPrintF(buf + pos, " context[%d]", var->index());
+ break;
+ case Variable::LOOKUP:
+ OS::SNPrintF(buf + pos, " lookup");
+ break;
+ }
+ PrintLiteralWithModeIndented(buf.start(), var, node->name());
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev