Index: runtime/vm/stub_code_arm64.cc |
diff --git a/runtime/vm/stub_code_arm64.cc b/runtime/vm/stub_code_arm64.cc |
index 10e241174ca54a416b805216647e407218dfd843..72c83fad37147306755c38c648665c5e6be90aec 100644 |
--- a/runtime/vm/stub_code_arm64.cc |
+++ b/runtime/vm/stub_code_arm64.cc |
@@ -52,7 +52,7 @@ void StubCode::GenerateCallToRuntimeStub(Assembler* assembler) { |
// Save exit frame information to enable stack walking as we are about |
// to transition to Dart VM C++ code. |
- __ StoreToOffset(FP, R28, Isolate::top_exit_frame_info_offset(), kNoPP); |
+ __ StoreToOffset(FP, THR, Thread::top_exit_frame_info_offset(), kNoPP); |
#if defined(DEBUG) |
{ Label ok; |
@@ -121,7 +121,7 @@ void StubCode::GenerateCallToRuntimeStub(Assembler* assembler) { |
__ StoreToOffset(R2, R28, Isolate::vm_tag_offset(), kNoPP); |
// Reset exit frame information in Isolate structure. |
- __ StoreToOffset(ZR, R28, Isolate::top_exit_frame_info_offset(), kNoPP); |
+ __ StoreToOffset(ZR, THR, Thread::top_exit_frame_info_offset(), kNoPP); |
__ LeaveStubFrame(); |
__ ret(); |
@@ -152,7 +152,7 @@ void StubCode::GenerateCallNativeCFunctionStub(Assembler* assembler) { |
// Save exit frame information to enable stack walking as we are about |
// to transition to native code. |
- __ StoreToOffset(FP, R28, Isolate::top_exit_frame_info_offset(), kNoPP); |
+ __ StoreToOffset(FP, THR, Thread::top_exit_frame_info_offset(), kNoPP); |
#if defined(DEBUG) |
{ Label ok; |
@@ -228,7 +228,7 @@ void StubCode::GenerateCallNativeCFunctionStub(Assembler* assembler) { |
__ StoreToOffset(R2, R28, Isolate::vm_tag_offset(), kNoPP); |
// Reset exit frame information in Isolate structure. |
- __ StoreToOffset(ZR, R28, Isolate::top_exit_frame_info_offset(), kNoPP); |
+ __ StoreToOffset(ZR, THR, Thread::top_exit_frame_info_offset(), kNoPP); |
__ LeaveStubFrame(); |
__ ret(); |
@@ -254,7 +254,7 @@ void StubCode::GenerateCallBootstrapCFunctionStub(Assembler* assembler) { |
// Save exit frame information to enable stack walking as we are about |
// to transition to native code. |
- __ StoreToOffset(FP, R28, Isolate::top_exit_frame_info_offset(), kNoPP); |
+ __ StoreToOffset(FP, THR, Thread::top_exit_frame_info_offset(), kNoPP); |
#if defined(DEBUG) |
{ Label ok; |
@@ -321,7 +321,7 @@ void StubCode::GenerateCallBootstrapCFunctionStub(Assembler* assembler) { |
__ StoreToOffset(R2, R28, Isolate::vm_tag_offset(), kNoPP); |
// Reset exit frame information in Isolate structure. |
- __ StoreToOffset(ZR, R28, Isolate::top_exit_frame_info_offset(), kNoPP); |
+ __ StoreToOffset(ZR, THR, Thread::top_exit_frame_info_offset(), kNoPP); |
__ LeaveStubFrame(); |
__ ret(); |
@@ -851,11 +851,11 @@ void StubCode::GenerateInvokeDartCodeStub(Assembler* assembler) { |
// Save top resource and top exit frame info. Use R6 as a temporary register. |
// StackFrameIterator reads the top exit frame info saved in this frame. |
- __ LoadFromOffset(R6, R5, Isolate::top_resource_offset(), PP); |
- __ StoreToOffset(ZR, R5, Isolate::top_resource_offset(), PP); |
+ __ LoadFromOffset(R6, THR, Thread::top_resource_offset(), PP); |
+ __ StoreToOffset(ZR, THR, Thread::top_resource_offset(), PP); |
__ Push(R6); |
- __ LoadFromOffset(R6, R5, Isolate::top_exit_frame_info_offset(), PP); |
- __ StoreToOffset(ZR, R5, Isolate::top_exit_frame_info_offset(), PP); |
+ __ LoadFromOffset(R6, THR, Thread::top_exit_frame_info_offset(), PP); |
+ __ StoreToOffset(ZR, THR, Thread::top_exit_frame_info_offset(), PP); |
// kExitLinkSlotFromEntryFp must be kept in sync with the code below. |
ASSERT(kExitLinkSlotFromEntryFp == -21); |
__ Push(R6); |
@@ -901,9 +901,9 @@ void StubCode::GenerateInvokeDartCodeStub(Assembler* assembler) { |
// Restore the saved top exit frame info and top resource back into the |
// Isolate structure. Uses R6 as a temporary register for this. |
__ Pop(R6); |
- __ StoreToOffset(R6, R28, Isolate::top_exit_frame_info_offset(), PP); |
+ __ StoreToOffset(R6, THR, Thread::top_exit_frame_info_offset(), PP); |
__ Pop(R6); |
- __ StoreToOffset(R6, R28, Isolate::top_resource_offset(), PP); |
+ __ StoreToOffset(R6, THR, Thread::top_resource_offset(), PP); |
// Restore the current VMTag from the stack. |
__ Pop(R4); |
@@ -1994,7 +1994,7 @@ void StubCode::GenerateJumpToExceptionHandlerStub(Assembler* assembler) { |
__ LoadImmediate(R2, VMTag::kDartTagId, kNoPP); |
__ StoreToOffset(R2, R5, Isolate::vm_tag_offset(), kNoPP); |
// Clear top exit frame. |
- __ StoreToOffset(ZR, R5, Isolate::top_exit_frame_info_offset(), kNoPP); |
+ __ StoreToOffset(ZR, THR, Thread::top_exit_frame_info_offset(), kNoPP); |
__ ret(); // Jump to the exception handler code. |
} |