| Index: runtime/vm/stub_code_x64.cc
|
| diff --git a/runtime/vm/stub_code_x64.cc b/runtime/vm/stub_code_x64.cc
|
| index 70166680eac8a8e84c619be67db7edc0ca94e9f2..e5153ad5bf396c2a6e3cb59ce22d5529edd13863 100644
|
| --- a/runtime/vm/stub_code_x64.cc
|
| +++ b/runtime/vm/stub_code_x64.cc
|
| @@ -993,15 +993,10 @@ void StubCode::GenerateUpdateStoreBufferStub(Assembler* assembler) {
|
| __ LockCmpxchgq(FieldAddress(RDX, Object::tags_offset()), RCX);
|
| __ j(NOT_EQUAL, &reload);
|
|
|
| - // Load the isolate.
|
| - // RDX: Address being stored
|
| - __ LoadIsolate(RAX);
|
| -
|
| - // 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_.
|
| // RDX: Address being stored
|
| - // RAX: Isolate
|
| - __ movq(RAX, Address(RAX, Isolate::store_buffer_offset()));
|
| + __ movq(RAX, Address(THR, Thread::store_buffer_block_offset()));
|
| __ movl(RCX, Address(RAX, StoreBufferBlock::top_offset()));
|
| __ movq(Address(RAX, RCX, TIMES_8, StoreBufferBlock::pointers_offset()), RDX);
|
|
|
| @@ -1022,7 +1017,7 @@ void StubCode::GenerateUpdateStoreBufferStub(Assembler* assembler) {
|
| __ Bind(&L);
|
| // Setup frame, push callee-saved registers.
|
| __ EnterCallRuntimeFrame(0);
|
| - __ LoadIsolate(CallingConventions::kArg1Reg);
|
| + __ movq(CallingConventions::kArg1Reg, THR);
|
| __ CallRuntime(kStoreBufferBlockProcessRuntimeEntry, 1);
|
| __ LeaveCallRuntimeFrame();
|
| __ ret();
|
|
|