| Index: runtime/vm/stub_code_arm64.cc
|
| diff --git a/runtime/vm/stub_code_arm64.cc b/runtime/vm/stub_code_arm64.cc
|
| index af419b236bb0bda85c12cbc94dcbc9b581ec9ddd..5175202ded83a0a02c8c94c71676f9b628d4455a 100644
|
| --- a/runtime/vm/stub_code_arm64.cc
|
| +++ b/runtime/vm/stub_code_arm64.cc
|
| @@ -1035,15 +1035,9 @@ void StubCode::GenerateUpdateStoreBufferStub(Assembler* assembler) {
|
| __ orri(R2, TMP, Immediate(1 << RawObject::kRememberedBit));
|
| __ StoreFieldToOffset(R2, R0, Object::tags_offset(), kNoPP);
|
|
|
| - // Load the isolate.
|
| - // Spilled: R1, R2, R3.
|
| - // R0: address being stored.
|
| - __ LoadIsolate(R1, kNoPP);
|
| -
|
| - // Load the StoreBuffer block out of the isolate. Then load top_ out of the
|
| + // Load the StoreBuffer block out of the thread. Then load top_ out of the
|
| // StoreBufferBlock and add the address to the pointers_.
|
| - // R1: isolate.
|
| - __ LoadFromOffset(R1, R1, Isolate::store_buffer_offset(), kNoPP);
|
| + __ LoadFromOffset(R1, THR, Thread::store_buffer_block_offset(), kNoPP);
|
| __ LoadFromOffset(R2, R1, StoreBufferBlock::top_offset(),
|
| kNoPP, kUnsignedWord);
|
| __ add(R3, R1, Operand(R2, LSL, 3));
|
| @@ -1069,7 +1063,7 @@ void StubCode::GenerateUpdateStoreBufferStub(Assembler* assembler) {
|
| // Setup frame, push callee-saved registers.
|
|
|
| __ EnterCallRuntimeFrame(0 * kWordSize);
|
| - __ LoadIsolate(R0, kNoPP);
|
| + __ mov(R0, THR);
|
| __ CallRuntime(kStoreBufferBlockProcessRuntimeEntry, 1);
|
| // Restore callee-saved registers, tear down frame.
|
| __ LeaveCallRuntimeFrame();
|
|
|