| 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());
|
| }
|
|
|