| Index: runtime/vm/stub_code_ia32.cc
|
| diff --git a/runtime/vm/stub_code_ia32.cc b/runtime/vm/stub_code_ia32.cc
|
| index 5837c8074adb28352a4e3b7adae25ce5d4d4d29a..4434d4c142fec8b83ed93dc8c39df4ea46b46d37 100644
|
| --- a/runtime/vm/stub_code_ia32.cc
|
| +++ b/runtime/vm/stub_code_ia32.cc
|
| @@ -954,17 +954,11 @@ void StubCode::GenerateUpdateStoreBufferStub(Assembler* assembler) {
|
| __ LockCmpxchgl(FieldAddress(EDX, Object::tags_offset()), ECX);
|
| __ j(NOT_EQUAL, &reload);
|
|
|
| - // Load the isolate.
|
| - // Spilled: EAX, ECX
|
| - // EDX: Address being stored
|
| - __ LoadIsolate(EAX);
|
| -
|
| - // 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_.
|
| // Spilled: EAX, ECX
|
| // EDX: Address being stored
|
| - // EAX: Isolate
|
| - __ movl(EAX, Address(EAX, Isolate::store_buffer_offset()));
|
| + __ movl(EAX, Address(THR, Thread::store_buffer_block_offset()));
|
| __ movl(ECX, Address(EAX, StoreBufferBlock::top_offset()));
|
| __ movl(Address(EAX, ECX, TIMES_4, StoreBufferBlock::pointers_offset()), EDX);
|
|
|
| @@ -988,8 +982,7 @@ void StubCode::GenerateUpdateStoreBufferStub(Assembler* assembler) {
|
| // Setup frame, push callee-saved registers.
|
|
|
| __ EnterCallRuntimeFrame(1 * kWordSize);
|
| - __ LoadIsolate(EDX);
|
| - __ movl(Address(ESP, 0), EDX); // Push the isolate as the only argument.
|
| + __ movl(Address(ESP, 0), THR); // Push the thread as the only argument.
|
| __ CallRuntime(kStoreBufferBlockProcessRuntimeEntry, 1);
|
| // Restore callee-saved registers, tear down frame.
|
| __ LeaveCallRuntimeFrame();
|
|
|