| Index: src/arm64/lithium-arm64.cc
|
| diff --git a/src/arm64/lithium-arm64.cc b/src/arm64/lithium-arm64.cc
|
| index 5e0be05f76c79a07aca5371d3827b4d76d1d2986..3eb2778764796335a88dd7b28ddd998339006cde 100644
|
| --- a/src/arm64/lithium-arm64.cc
|
| +++ b/src/arm64/lithium-arm64.cc
|
| @@ -2246,7 +2246,13 @@ LInstruction* LChunkBuilder::DoStoreNamedField(HStoreNamedField* instr) {
|
| temp0 = TempRegister();
|
| }
|
|
|
| - return new(zone()) LStoreNamedField(object, value, temp0, temp1);
|
| + LStoreNamedField* result =
|
| + new(zone()) LStoreNamedField(object, value, temp0, temp1);
|
| + if (instr->field_representation().IsHeapObject() &&
|
| + !instr->value()->type().IsHeapObject()) {
|
| + return AssignEnvironment(result);
|
| + }
|
| + return result;
|
| }
|
|
|
|
|
|
|