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