Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1660)

Unified Diff: runtime/vm/stub_code_x64.cc

Issue 1168483003: Thread-local store buffers, v2 (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Address review comments. Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/stub_code_mips.cc ('k') | runtime/vm/thread.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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();
« no previous file with comments | « runtime/vm/stub_code_mips.cc ('k') | runtime/vm/thread.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698