Revision: 13032
Author:   [email protected]
Date:     Thu Nov 22 02:19:05 2012
Log: Add dehoisting to the string printout of hydrogen and lithium instructions.
This is nice when looking at hydrogen graphs, to see the real key offset.

[email protected]
BUG=

Review URL: https://codereview.chromium.org/11348176
http://code.google.com/p/v8/source/detail?r=13032

Modified:
 /branches/bleeding_edge/src/arm/lithium-arm.cc
 /branches/bleeding_edge/src/arm/lithium-arm.h
 /branches/bleeding_edge/src/hydrogen-instructions.cc
 /branches/bleeding_edge/src/ia32/lithium-ia32.cc
 /branches/bleeding_edge/src/ia32/lithium-ia32.h
 /branches/bleeding_edge/src/mips/lithium-mips.cc
 /branches/bleeding_edge/src/mips/lithium-mips.h
 /branches/bleeding_edge/src/x64/lithium-x64.cc
 /branches/bleeding_edge/src/x64/lithium-x64.h

=======================================
--- /branches/bleeding_edge/src/arm/lithium-arm.cc      Wed Nov 21 06:01:10 2012
+++ /branches/bleeding_edge/src/arm/lithium-arm.cc      Thu Nov 22 02:19:05 2012
@@ -371,13 +371,29 @@
   stream->Add(" <- ");
   value()->PrintTo(stream);
 }
+
+
+void LLoadKeyed::PrintDataTo(StringStream* stream) {
+  elements()->PrintTo(stream);
+  stream->Add("[");
+  key()->PrintTo(stream);
+  if (hydrogen()->IsDehoisted()) {
+    stream->Add(" + %d]", additional_index());
+  } else {
+    stream->Add("]");
+  }
+}


 void LStoreKeyed::PrintDataTo(StringStream* stream) {
   elements()->PrintTo(stream);
   stream->Add("[");
   key()->PrintTo(stream);
-  stream->Add("] <- ");
+  if (hydrogen()->IsDehoisted()) {
+    stream->Add(" + %d] <-", additional_index());
+  } else {
+    stream->Add("] <- ");
+  }
   value()->PrintTo(stream);
 }

=======================================
--- /branches/bleeding_edge/src/arm/lithium-arm.h       Tue Nov 20 06:46:16 2012
+++ /branches/bleeding_edge/src/arm/lithium-arm.h       Thu Nov 22 02:19:05 2012
@@ -1407,6 +1407,7 @@
   DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed")
   DECLARE_HYDROGEN_ACCESSOR(LoadKeyed)

+  virtual void PrintDataTo(StringStream* stream);
   uint32_t additional_index() const { return hydrogen()->index_offset(); }
 };

=======================================
--- /branches/bleeding_edge/src/hydrogen-instructions.cc Wed Nov 14 07:59:45 2012 +++ /branches/bleeding_edge/src/hydrogen-instructions.cc Thu Nov 22 02:19:05 2012
@@ -2014,7 +2014,12 @@

   stream->Add("[");
   key()->PrintNameTo(stream);
-  stream->Add("] ");
+  if (IsDehoisted()) {
+    stream->Add(" + %d] ", index_offset());
+  } else {
+    stream->Add("] ");
+  }
+
   dependency()->PrintNameTo(stream);
   if (RequiresHoleCheck()) {
     stream->Add(" check_hole");
@@ -2123,7 +2128,12 @@

   stream->Add("[");
   key()->PrintNameTo(stream);
-  stream->Add("] = ");
+  if (IsDehoisted()) {
+    stream->Add(" + %d] = ", index_offset());
+  } else {
+    stream->Add("] = ");
+  }
+
   value()->PrintNameTo(stream);
 }

=======================================
--- /branches/bleeding_edge/src/ia32/lithium-ia32.cc Wed Nov 21 06:01:10 2012 +++ /branches/bleeding_edge/src/ia32/lithium-ia32.cc Thu Nov 22 02:19:05 2012
@@ -406,13 +406,29 @@
   stream->Add(" <- ");
   value()->PrintTo(stream);
 }
+
+
+void LLoadKeyed::PrintDataTo(StringStream* stream) {
+  elements()->PrintTo(stream);
+  stream->Add("[");
+  key()->PrintTo(stream);
+  if (hydrogen()->IsDehoisted()) {
+    stream->Add(" + %d]", additional_index());
+  } else {
+    stream->Add("]");
+  }
+}


 void LStoreKeyed::PrintDataTo(StringStream* stream) {
   elements()->PrintTo(stream);
   stream->Add("[");
   key()->PrintTo(stream);
-  stream->Add("] <- ");
+  if (hydrogen()->IsDehoisted()) {
+    stream->Add(" + %d] <-", additional_index());
+  } else {
+    stream->Add("] <- ");
+  }
   value()->PrintTo(stream);
 }

=======================================
--- /branches/bleeding_edge/src/ia32/lithium-ia32.h     Wed Nov 14 07:59:45 2012
+++ /branches/bleeding_edge/src/ia32/lithium-ia32.h     Thu Nov 22 02:19:05 2012
@@ -1404,6 +1404,7 @@
   DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed")
   DECLARE_HYDROGEN_ACCESSOR(LoadKeyed)

+  virtual void PrintDataTo(StringStream* stream);
   uint32_t additional_index() const { return hydrogen()->index_offset(); }
 };

=======================================
--- /branches/bleeding_edge/src/mips/lithium-mips.cc Wed Nov 21 06:01:10 2012 +++ /branches/bleeding_edge/src/mips/lithium-mips.cc Thu Nov 22 02:19:05 2012
@@ -373,20 +373,27 @@
 }


-void LStoreKeyed::PrintDataTo(StringStream* stream) {
+void LLoadKeyed::PrintDataTo(StringStream* stream) {
   elements()->PrintTo(stream);
   stream->Add("[");
   key()->PrintTo(stream);
-  stream->Add("] <- ");
-  value()->PrintTo(stream);
+  if (hydrogen()->IsDehoisted()) {
+    stream->Add(" + %d]", additional_index());
+  } else {
+    stream->Add("]");
+  }
 }


-void LStoreKeyedGeneric::PrintDataTo(StringStream* stream) {
-  object()->PrintTo(stream);
+void LStoreKeyed::PrintDataTo(StringStream* stream) {
+  elements()->PrintTo(stream);
   stream->Add("[");
   key()->PrintTo(stream);
-  stream->Add("] <- ");
+  if (hydrogen()->IsDehoisted()) {
+    stream->Add(" + %d] <-", additional_index());
+  } else {
+    stream->Add("] <- ");
+  }
   value()->PrintTo(stream);
 }

=======================================
--- /branches/bleeding_edge/src/mips/lithium-mips.h     Tue Nov 20 06:11:53 2012
+++ /branches/bleeding_edge/src/mips/lithium-mips.h     Thu Nov 22 02:19:05 2012
@@ -1352,6 +1352,7 @@
   DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed")
   DECLARE_HYDROGEN_ACCESSOR(LoadKeyed)

+  virtual void PrintDataTo(StringStream* stream);
   uint32_t additional_index() const { return hydrogen()->index_offset(); }
 };

=======================================
--- /branches/bleeding_edge/src/x64/lithium-x64.cc      Wed Nov 21 06:01:10 2012
+++ /branches/bleeding_edge/src/x64/lithium-x64.cc      Thu Nov 22 02:19:05 2012
@@ -393,13 +393,29 @@
   stream->Add(" <- ");
   value()->PrintTo(stream);
 }
+
+
+void LLoadKeyed::PrintDataTo(StringStream* stream) {
+  elements()->PrintTo(stream);
+  stream->Add("[");
+  key()->PrintTo(stream);
+  if (hydrogen()->IsDehoisted()) {
+    stream->Add(" + %d]", additional_index());
+  } else {
+    stream->Add("]");
+  }
+}


 void LStoreKeyed::PrintDataTo(StringStream* stream) {
   elements()->PrintTo(stream);
   stream->Add("[");
   key()->PrintTo(stream);
-  stream->Add("] <- ");
+  if (hydrogen()->IsDehoisted()) {
+    stream->Add(" + %d] <-", additional_index());
+  } else {
+    stream->Add("] <- ");
+  }
   value()->PrintTo(stream);
 }

=======================================
--- /branches/bleeding_edge/src/x64/lithium-x64.h       Wed Nov 14 07:59:45 2012
+++ /branches/bleeding_edge/src/x64/lithium-x64.h       Thu Nov 22 02:19:05 2012
@@ -1364,6 +1364,7 @@
   }
   LOperand* elements() { return inputs_[0]; }
   LOperand* key() { return inputs_[1]; }
+  virtual void PrintDataTo(StringStream* stream);
   uint32_t additional_index() const { return hydrogen()->index_offset(); }
   ElementsKind elements_kind() const {
     return hydrogen()->elements_kind();

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to