Index: src/arm/lithium-arm.cc |
diff --git a/src/arm/lithium-arm.cc b/src/arm/lithium-arm.cc |
index dacdd5a02e7f7acbddd66d17ecf5d31045e74cac..dbd5892e51e64bbe49e029f61d4ec9dc66ea319d 100644 |
--- a/src/arm/lithium-arm.cc |
+++ b/src/arm/lithium-arm.cc |
@@ -1824,6 +1824,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)); |