Revision: 21885
Author:   [email protected]
Date:     Wed Jun 18 11:17:52 2014 UTC
Log:      Fix LStoreCodeEntry to treat the code_object parameter as input.

The bug seems to trigger only with array_index_dehoisting off in
the snapshot, so it is hard to test for (ideas?).

[email protected]
BUG=

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

Modified:
 /branches/bleeding_edge/src/arm/lithium-arm.h
 /branches/bleeding_edge/src/ia32/lithium-ia32.h
 /branches/bleeding_edge/src/mips/lithium-mips.h
 /branches/bleeding_edge/src/x64/lithium-x64.h
 /branches/bleeding_edge/src/x87/lithium-x87.h

=======================================
--- /branches/bleeding_edge/src/arm/lithium-arm.h Thu Jun 5 07:33:01 2014 UTC +++ /branches/bleeding_edge/src/arm/lithium-arm.h Wed Jun 18 11:17:52 2014 UTC
@@ -1771,15 +1771,15 @@
 };


-class LStoreCodeEntry V8_FINAL: public LTemplateInstruction<0, 1, 1> {
+class LStoreCodeEntry V8_FINAL: public LTemplateInstruction<0, 2, 0> {
  public:
   LStoreCodeEntry(LOperand* function, LOperand* code_object) {
     inputs_[0] = function;
-    temps_[0] = code_object;
+    inputs_[1] = code_object;
   }

   LOperand* function() { return inputs_[0]; }
-  LOperand* code_object() { return temps_[0]; }
+  LOperand* code_object() { return inputs_[1]; }

   virtual void PrintDataTo(StringStream* stream);

=======================================
--- /branches/bleeding_edge/src/ia32/lithium-ia32.h Thu Jun 5 07:33:01 2014 UTC +++ /branches/bleeding_edge/src/ia32/lithium-ia32.h Wed Jun 18 11:17:52 2014 UTC
@@ -1784,15 +1784,15 @@
 };


-class LStoreCodeEntry V8_FINAL: public LTemplateInstruction<0, 1, 1> {
+class LStoreCodeEntry V8_FINAL: public LTemplateInstruction<0, 2, 0> {
  public:
   LStoreCodeEntry(LOperand* function, LOperand* code_object) {
     inputs_[0] = function;
-    temps_[0] = code_object;
+    inputs_[1] = code_object;
   }

   LOperand* function() { return inputs_[0]; }
-  LOperand* code_object() { return temps_[0]; }
+  LOperand* code_object() { return inputs_[1]; }

   virtual void PrintDataTo(StringStream* stream);

=======================================
--- /branches/bleeding_edge/src/mips/lithium-mips.h Thu Jun 5 16:47:02 2014 UTC +++ /branches/bleeding_edge/src/mips/lithium-mips.h Wed Jun 18 11:17:52 2014 UTC
@@ -1732,15 +1732,15 @@
 };


-class LStoreCodeEntry V8_FINAL: public LTemplateInstruction<0, 1, 1> {
+class LStoreCodeEntry V8_FINAL: public LTemplateInstruction<0, 2, 0> {
  public:
   LStoreCodeEntry(LOperand* function, LOperand* code_object) {
     inputs_[0] = function;
-    temps_[0] = code_object;
+    inputs_[1] = code_object;
   }

   LOperand* function() { return inputs_[0]; }
-  LOperand* code_object() { return temps_[0]; }
+  LOperand* code_object() { return inputs_[1]; }

   virtual void PrintDataTo(StringStream* stream);

=======================================
--- /branches/bleeding_edge/src/x64/lithium-x64.h Fri Jun 13 02:19:57 2014 UTC +++ /branches/bleeding_edge/src/x64/lithium-x64.h Wed Jun 18 11:17:52 2014 UTC
@@ -1771,15 +1771,15 @@
 };


-class LStoreCodeEntry V8_FINAL: public LTemplateInstruction<0, 1, 1> {
+class LStoreCodeEntry V8_FINAL: public LTemplateInstruction<0, 2, 0> {
  public:
   LStoreCodeEntry(LOperand* function, LOperand* code_object) {
     inputs_[0] = function;
-    temps_[0] = code_object;
+    inputs_[1] = code_object;
   }

   LOperand* function() { return inputs_[0]; }
-  LOperand* code_object() { return temps_[0]; }
+  LOperand* code_object() { return inputs_[1]; }

   virtual void PrintDataTo(StringStream* stream);

=======================================
--- /branches/bleeding_edge/src/x87/lithium-x87.h Tue Jun 10 08:09:56 2014 UTC +++ /branches/bleeding_edge/src/x87/lithium-x87.h Wed Jun 18 11:17:52 2014 UTC
@@ -1799,15 +1799,15 @@
 };


-class LStoreCodeEntry V8_FINAL: public LTemplateInstruction<0, 1, 1> {
+class LStoreCodeEntry V8_FINAL: public LTemplateInstruction<0, 2, 0> {
  public:
   LStoreCodeEntry(LOperand* function, LOperand* code_object) {
     inputs_[0] = function;
-    temps_[0] = code_object;
+    inputs_[1] = code_object;
   }

   LOperand* function() { return inputs_[0]; }
-  LOperand* code_object() { return temps_[0]; }
+  LOperand* code_object() { return inputs_[1]; }

   virtual void PrintDataTo(StringStream* stream);

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to