| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index 80773bf14789e8524dc4c46184588641d6396495..7c4c11f7ab15b506ab41bd7bcc8a7ffda8d9d195 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -5854,7 +5854,7 @@ class HObjectAccess V8_FINAL {
|
| static HObjectAccess ForMapInstanceSize() {
|
| return HObjectAccess(kInobject,
|
| Map::kInstanceSizeOffset,
|
| - Representation::Byte());
|
| + Representation::UInteger8());
|
| }
|
|
|
| static HObjectAccess ForPropertyCellValue() {
|
| @@ -5932,8 +5932,8 @@ class HObjectAccess V8_FINAL {
|
| }
|
|
|
| class PortionField : public BitField<Portion, 0, 3> {};
|
| - class RepresentationField : public BitField<Representation::Kind, 3, 3> {};
|
| - class OffsetField : public BitField<int, 6, 26> {};
|
| + class RepresentationField : public BitField<Representation::Kind, 3, 4> {};
|
| + class OffsetField : public BitField<int, 7, 25> {};
|
|
|
| uint32_t value_; // encodes portion, representation, and offset
|
| Handle<String> name_;
|
| @@ -5986,7 +5986,10 @@ class HLoadNamedField V8_FINAL : public HTemplateInstruction<1> {
|
| SetOperandAt(0, object);
|
|
|
| Representation representation = access.representation();
|
| - if (representation.IsByte()) {
|
| + if (representation.IsInteger8() ||
|
| + representation.IsUInteger8() ||
|
| + representation.IsInteger16() ||
|
| + representation.IsUInteger16()) {
|
| set_representation(Representation::Integer32());
|
| } else if (representation.IsSmi()) {
|
| set_type(HType::Smi());
|
| @@ -6296,7 +6299,10 @@ class HStoreNamedField V8_FINAL : public HTemplateInstruction<3> {
|
| // object must be external in case of external memory access
|
| return Representation::External();
|
| } else if (index == 1) {
|
| - if (field_representation().IsByte() ||
|
| + if (field_representation().IsInteger8() ||
|
| + field_representation().IsUInteger8() ||
|
| + field_representation().IsInteger16() ||
|
| + field_representation().IsUInteger16() ||
|
| field_representation().IsInteger32()) {
|
| return Representation::Integer32();
|
| } else if (field_representation().IsDouble() ||
|
|
|