Index: src/arm/lithium-arm.cc |
diff --git a/src/arm/lithium-arm.cc b/src/arm/lithium-arm.cc |
index 96b7f0dc8d47e16f6314c53e7b7068abcf7a2457..6cfcd318382542a1b6b10dc16ceabc39c9f41ddf 100644 |
--- a/src/arm/lithium-arm.cc |
+++ b/src/arm/lithium-arm.cc |
@@ -1908,6 +1908,9 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) { |
} else if (to.IsSmi()) { |
HValue* val = instr->value(); |
LOperand* value = UseRegister(val); |
+ if (val->type().IsSmi()) { |
+ return DefineSameAsFirst(new(zone()) LDummyUse(value)); |
+ } |
return AssignEnvironment( |
DefineSameAsFirst(new(zone()) LCheckSmiAndReturn(value))); |
} else { |