| Index: src/compiler/js-native-context-specialization.cc
|
| diff --git a/src/compiler/js-native-context-specialization.cc b/src/compiler/js-native-context-specialization.cc
|
| index 750b75725903be87dfa754348928cbdfdfdd6305..3337d3a456c735894bfb0ea563efb53b2c118355 100644
|
| --- a/src/compiler/js-native-context-specialization.cc
|
| +++ b/src/compiler/js-native-context-specialization.cc
|
| @@ -338,15 +338,17 @@ bool JSNativeContextSpecialization::ComputePropertyAccessInfo(
|
| // elements, a smi in the range [0, FixedArray::kMaxLength]
|
| // in case of other fast elements, and [0, kMaxUInt32-1] in
|
| // case of other arrays.
|
| + Type* field_type_rep = Type::Tagged();
|
| double field_type_upper = kMaxUInt32 - 1;
|
| if (IsFastElementsKind(map->elements_kind())) {
|
| + field_type_rep = Type::TaggedSigned();
|
| field_type_upper = IsFastDoubleElementsKind(map->elements_kind())
|
| ? FixedDoubleArray::kMaxLength
|
| : FixedArray::kMaxLength;
|
| }
|
| field_type =
|
| Type::Intersect(Type::Range(0.0, field_type_upper, graph()->zone()),
|
| - Type::TaggedSigned(), graph()->zone());
|
| + field_type_rep, graph()->zone());
|
| }
|
| *access_info = PropertyAccessInfo::DataField(receiver_type, field_index,
|
| field_type, holder);
|
|
|