Index: src/x64/lithium-x64.cc |
diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc |
index e35a381faacd932d223a4a64d1d45a317e491007..4d8e602256fb7921a16e3ef6bdce4448334ed23c 100644 |
--- a/src/x64/lithium-x64.cc |
+++ b/src/x64/lithium-x64.cc |
@@ -1766,6 +1766,16 @@ LInstruction* LChunkBuilder::DoCheckSmi(HCheckSmi* instr) { |
} |
+LInstruction* LChunkBuilder::DoCheckSmiOrInt32(HCheckSmiOrInt32* instr) { |
+ if (instr->representation().IsTagged() && !instr->type().IsSmi()) { |
+ LOperand* value = UseRegisterAtStart(instr->value()); |
+ return AssignEnvironment(new(zone()) LCheckSmi(value)); |
+ } else { |
+ return NULL; |
+ } |
+} |
+ |
+ |
LInstruction* LChunkBuilder::DoCheckFunction(HCheckFunction* instr) { |
LOperand* value = UseRegisterAtStart(instr->value()); |
return AssignEnvironment(new(zone()) LCheckFunction(value)); |