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

Unified Diff: runtime/vm/stub_code_arm64.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_arm.cc ('k') | runtime/vm/stub_code_ia32.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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();
« no previous file with comments | « runtime/vm/stub_code_arm.cc ('k') | runtime/vm/stub_code_ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698