Index: src/ia32/lithium-ia32.cc |
diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc |
index ffec17b6eecd8a900f05101058382d36b29a3dc3..e5b1474b68295ee34f0b4d4ba0d0213ed371bb15 100644 |
--- a/src/ia32/lithium-ia32.cc |
+++ b/src/ia32/lithium-ia32.cc |
@@ -1940,6 +1940,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 { |