| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index 1bd350efbaf30b79ab5006af93db446dbfdacfc0..a51d67f3e090553b6c3c8dbd334f4b100a1043ac 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -5934,7 +5934,9 @@ class HLoadNamedField V8_FINAL : public HTemplateInstruction<1> {
|
| SetOperandAt(0, object);
|
|
|
| Representation representation = access.representation();
|
| - if (representation.IsSmi()) {
|
| + if (representation.IsByte()) {
|
| + set_representation(Representation::Integer32());
|
| + } else if (representation.IsSmi()) {
|
| set_type(HType::Smi());
|
| set_representation(representation);
|
| } else if (representation.IsDouble() ||
|
| @@ -6232,11 +6234,14 @@ class HStoreNamedField V8_FINAL : public HTemplateInstruction<3> {
|
| if (index == 0 && access().IsExternalMemory()) {
|
| // object must be external in case of external memory access
|
| return Representation::External();
|
| - } else if (index == 1 &&
|
| - (field_representation().IsDouble() ||
|
| - field_representation().IsSmi() ||
|
| - field_representation().IsInteger32())) {
|
| - return field_representation();
|
| + } else if (index == 1) {
|
| + if (field_representation().IsByte() ||
|
| + field_representation().IsInteger32()) {
|
| + return Representation::Integer32();
|
| + } else if (field_representation().IsDouble() ||
|
| + field_representation().IsSmi()) {
|
| + return field_representation();
|
| + }
|
| }
|
| return Representation::Tagged();
|
| }
|
|
|