Revision: 20484
Author:   joc...@chromium.org
Date:     Thu Apr  3 14:04:05 2014 UTC
Log:      Revert r20476.

Reason for revert: crashes arm64.debug cctest

Fatal error in ../src/hydrogen-instructions.h, line 2968
CHECK(value->IsCheckHeapObject()) failed

Fixed environment assignment for LCheckNonSmi.

TBR=svenpa...@chromium.org
BUG=

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

Modified:
 /branches/bleeding_edge/src/arm/lithium-arm.cc
 /branches/bleeding_edge/src/arm64/lithium-arm64.cc
 /branches/bleeding_edge/src/ia32/lithium-ia32.cc
 /branches/bleeding_edge/src/x64/lithium-x64.cc

=======================================
--- /branches/bleeding_edge/src/arm/lithium-arm.cc Thu Apr 3 12:12:28 2014 UTC +++ /branches/bleeding_edge/src/arm/lithium-arm.cc Thu Apr 3 14:04:05 2014 UTC
@@ -1963,9 +1963,7 @@

 LInstruction* LChunkBuilder::DoCheckHeapObject(HCheckHeapObject* instr) {
   LOperand* value = UseRegisterAtStart(instr->value());
-  LInstruction* result = new(zone()) LCheckNonSmi(value);
-  if (!instr->value()->IsHeapObject()) result = AssignEnvironment(result);
-  return result;
+  return AssignEnvironment(new(zone()) LCheckNonSmi(value));
 }


=======================================
--- /branches/bleeding_edge/src/arm64/lithium-arm64.cc Thu Apr 3 12:12:28 2014 UTC +++ /branches/bleeding_edge/src/arm64/lithium-arm64.cc Thu Apr 3 14:04:05 2014 UTC
@@ -1171,9 +1171,7 @@

 LInstruction* LChunkBuilder::DoCheckValue(HCheckValue* instr) {
   LOperand* value = UseRegisterAtStart(instr->value());
-  LInstruction* result = new(zone()) LCheckNonSmi(value);
-  if (!instr->value()->IsHeapObject()) result = AssignEnvironment(result);
-  return result;
+  return AssignEnvironment(new(zone()) LCheckValue(value));
 }


=======================================
--- /branches/bleeding_edge/src/ia32/lithium-ia32.cc Thu Apr 3 12:12:28 2014 UTC +++ /branches/bleeding_edge/src/ia32/lithium-ia32.cc Thu Apr 3 14:04:05 2014 UTC
@@ -2007,9 +2007,7 @@

 LInstruction* LChunkBuilder::DoCheckHeapObject(HCheckHeapObject* instr) {
   LOperand* value = UseAtStart(instr->value());
-  LInstruction* result = new(zone()) LCheckNonSmi(value);
-  if (!instr->value()->IsHeapObject()) result = AssignEnvironment(result);
-  return result;
+  return AssignEnvironment(new(zone()) LCheckNonSmi(value));
 }


=======================================
--- /branches/bleeding_edge/src/x64/lithium-x64.cc Thu Apr 3 12:12:28 2014 UTC +++ /branches/bleeding_edge/src/x64/lithium-x64.cc Thu Apr 3 14:04:05 2014 UTC
@@ -1925,9 +1925,7 @@

 LInstruction* LChunkBuilder::DoCheckHeapObject(HCheckHeapObject* instr) {
   LOperand* value = UseRegisterAtStart(instr->value());
-  LInstruction* result = new(zone()) LCheckNonSmi(value);
-  if (!instr->value()->IsHeapObject()) result = AssignEnvironment(result);
-  return result;
+  return AssignEnvironment(new(zone()) LCheckNonSmi(value));
 }


--
--
v8-dev mailing list
v8-dev@googlegroups.com
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 v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to