| Index: src/arm64/code-stubs-arm64.cc
|
| diff --git a/src/arm64/code-stubs-arm64.cc b/src/arm64/code-stubs-arm64.cc
|
| index 5feefe0d6d36a16cd02eae4a7d545317a47ca415..59912af8f5f46a7bc6eb604083635e784ca6369d 100644
|
| --- a/src/arm64/code-stubs-arm64.cc
|
| +++ b/src/arm64/code-stubs-arm64.cc
|
| @@ -1544,6 +1544,14 @@ void InstanceofStub::Generate(MacroAssembler* masm) {
|
| // We have a cell, so need another level of dereferencing.
|
| __ Ldr(scratch1, MemOperand(scratch1));
|
| __ Str(map, FieldMemOperand(scratch1, Cell::kValueOffset));
|
| +
|
| + __ Mov(x14, map);
|
| + // |scratch1| points at the beginning of the cell. Calculate the
|
| + // field containing the map.
|
| + __ Add(function, scratch1, Operand(Cell::kValueOffset - 1));
|
| + __ RecordWriteField(scratch1, Cell::kValueOffset, x14, function,
|
| + kLRHasNotBeenSaved, kDontSaveFPRegs,
|
| + OMIT_REMEMBERED_SET, OMIT_SMI_CHECK);
|
| } else {
|
| __ StoreRoot(function, Heap::kInstanceofCacheFunctionRootIndex);
|
| __ StoreRoot(map, Heap::kInstanceofCacheMapRootIndex);
|
|
|