Index: src/mips/lithium-mips.cc |
diff --git a/src/mips/lithium-mips.cc b/src/mips/lithium-mips.cc |
index 6ce4ba345535f5aef9839459bf4613e8910f0d8e..e4a7a65d6501b1c5e5eef525128e066cbbaf5da9 100644 |
--- a/src/mips/lithium-mips.cc |
+++ b/src/mips/lithium-mips.cc |
@@ -1913,7 +1913,9 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) { |
LInstruction* LChunkBuilder::DoCheckHeapObject(HCheckHeapObject* instr) { |
LOperand* value = UseRegisterAtStart(instr->value()); |
- return AssignEnvironment(new(zone()) LCheckNonSmi(value)); |
+ LInstruction* result = new(zone()) LCheckNonSmi(value); |
+ if (!instr->value()->IsHeapObject()) result = AssignEnvironment(result); |
+ return result; |
} |