Index: src/mips/lithium-mips.cc |
diff --git a/src/mips/lithium-mips.cc b/src/mips/lithium-mips.cc |
index 9a99d2487885f7c8973a721fe630827f387d9fb9..8c77adccb225016c3229e40c72d40dc06777cede 100644 |
--- a/src/mips/lithium-mips.cc |
+++ b/src/mips/lithium-mips.cc |
@@ -1927,11 +1927,13 @@ LInstruction* LChunkBuilder::DoReturn(HReturn* instr) { |
LInstruction* LChunkBuilder::DoConstant(HConstant* instr) { |
Representation r = instr->representation(); |
- if (r.IsInteger32()) { |
+ if (r.IsSmi()) { |
+ return DefineAsRegister(new(zone()) LConstantS); |
+ } else if (r.IsInteger32()) { |
return DefineAsRegister(new(zone()) LConstantI); |
} else if (r.IsDouble()) { |
return DefineAsRegister(new(zone()) LConstantD); |
- } else if (r.IsSmiOrTagged()) { |
+ } else if (r.IsTagged()) { |
return DefineAsRegister(new(zone()) LConstantT); |
} else { |
UNREACHABLE(); |