Index: src/mips/lithium-codegen-mips.cc |
diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc |
index 5cf1d59e490840a6d12f1fee2dc324b882b32475..f3851d4d4476816d3bef37b1deab8e896357f1a3 100644 |
--- a/src/mips/lithium-codegen-mips.cc |
+++ b/src/mips/lithium-codegen-mips.cc |
@@ -407,6 +407,9 @@ Register LCodeGen::EmitLoadRegister(LOperand* op, Register scratch) { |
if (r.IsInteger32()) { |
ASSERT(literal->IsNumber()); |
__ li(scratch, Operand(static_cast<int32_t>(literal->Number()))); |
+ } else if (r.IsSmi()) { |
+ ASSERT(constant->HasSmiValue()); |
+ __ li(scratch, Operand(Smi::FromInt(constant->Integer32Value()))); |
} else if (r.IsDouble()) { |
Abort("EmitLoadRegister: Unsupported double immediate."); |
} else { |