Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index 23dbbd289c6c5d5a9e07697368e9fba6ab05e22d..bd3834898bde77cdbcc4edc25e03909b86c256d0 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -6416,7 +6416,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()); |
} |