Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index 4dd24fd871552456a10bb77ab8f6a0e4b4b25138..f0ffb67cdab642296c1971826c33b204fdd29cdc 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -6420,7 +6420,11 @@ class HLoadKeyed V8_FINAL |
(!IsHoleyElementsKind(elements_kind) || |
mode == NEVER_RETURN_HOLE)) { |
set_type(HType::Smi()); |
- set_representation(Representation::Smi()); |
+ if (SmiValuesAre32Bits() && !RequiresHoleCheck()) { |
+ set_representation(Representation::Integer32()); |
+ } else { |
+ set_representation(Representation::Smi()); |
+ } |
} else { |
set_representation(Representation::Tagged()); |
} |