Commit 5a57e644 authored by jochen@chromium.org's avatar jochen@chromium.org

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=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/223873003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 48b8a545
...@@ -1963,9 +1963,7 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) { ...@@ -1963,9 +1963,7 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) {
LInstruction* LChunkBuilder::DoCheckHeapObject(HCheckHeapObject* instr) { LInstruction* LChunkBuilder::DoCheckHeapObject(HCheckHeapObject* instr) {
LOperand* value = UseRegisterAtStart(instr->value()); LOperand* value = UseRegisterAtStart(instr->value());
LInstruction* result = new(zone()) LCheckNonSmi(value); return AssignEnvironment(new(zone()) LCheckNonSmi(value));
if (!instr->value()->IsHeapObject()) result = AssignEnvironment(result);
return result;
} }
......
...@@ -1171,9 +1171,7 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) { ...@@ -1171,9 +1171,7 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) {
LInstruction* LChunkBuilder::DoCheckValue(HCheckValue* instr) { LInstruction* LChunkBuilder::DoCheckValue(HCheckValue* instr) {
LOperand* value = UseRegisterAtStart(instr->value()); LOperand* value = UseRegisterAtStart(instr->value());
LInstruction* result = new(zone()) LCheckNonSmi(value); return AssignEnvironment(new(zone()) LCheckValue(value));
if (!instr->value()->IsHeapObject()) result = AssignEnvironment(result);
return result;
} }
......
...@@ -2007,9 +2007,7 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) { ...@@ -2007,9 +2007,7 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) {
LInstruction* LChunkBuilder::DoCheckHeapObject(HCheckHeapObject* instr) { LInstruction* LChunkBuilder::DoCheckHeapObject(HCheckHeapObject* instr) {
LOperand* value = UseAtStart(instr->value()); LOperand* value = UseAtStart(instr->value());
LInstruction* result = new(zone()) LCheckNonSmi(value); return AssignEnvironment(new(zone()) LCheckNonSmi(value));
if (!instr->value()->IsHeapObject()) result = AssignEnvironment(result);
return result;
} }
......
...@@ -1925,9 +1925,7 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) { ...@@ -1925,9 +1925,7 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) {
LInstruction* LChunkBuilder::DoCheckHeapObject(HCheckHeapObject* instr) { LInstruction* LChunkBuilder::DoCheckHeapObject(HCheckHeapObject* instr) {
LOperand* value = UseRegisterAtStart(instr->value()); LOperand* value = UseRegisterAtStart(instr->value());
LInstruction* result = new(zone()) LCheckNonSmi(value); return AssignEnvironment(new(zone()) LCheckNonSmi(value));
if (!instr->value()->IsHeapObject()) result = AssignEnvironment(result);
return result;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment