Index: runtime/vm/stub_code_ia32.cc |
diff --git a/runtime/vm/stub_code_ia32.cc b/runtime/vm/stub_code_ia32.cc |
index 95ba1116eda3a0bf588835728e69124790a01aca..6da8c44a6b439f2ab33da733a3dfe88789919898 100644 |
--- a/runtime/vm/stub_code_ia32.cc |
+++ b/runtime/vm/stub_code_ia32.cc |
@@ -53,7 +53,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. |
- __ movl(Address(EDI, Isolate::top_exit_frame_info_offset()), EBP); |
+ __ movl(Address(THR, Thread::top_exit_frame_info_offset()), EBP); |
#if defined(DEBUG) |
{ Label ok; |
@@ -91,7 +91,7 @@ void StubCode::GenerateCallToRuntimeStub(Assembler* assembler) { |
Immediate(VMTag::kDartTagId)); |
// Reset exit frame information in Isolate structure. |
- __ movl(Address(EDI, Isolate::top_exit_frame_info_offset()), Immediate(0)); |
+ __ movl(Address(THR, Thread::top_exit_frame_info_offset()), Immediate(0)); |
__ LeaveFrame(); |
__ ret(); |
@@ -143,7 +143,7 @@ void StubCode::GenerateCallNativeCFunctionStub(Assembler* assembler) { |
// Save exit frame information to enable stack walking as we are about |
// to transition to dart VM code. |
- __ movl(Address(EDI, Isolate::top_exit_frame_info_offset()), EBP); |
+ __ movl(Address(THR, Thread::top_exit_frame_info_offset()), EBP); |
#if defined(DEBUG) |
{ Label ok; |
@@ -185,7 +185,7 @@ void StubCode::GenerateCallNativeCFunctionStub(Assembler* assembler) { |
Immediate(VMTag::kDartTagId)); |
// Reset exit frame information in Isolate structure. |
- __ movl(Address(EDI, Isolate::top_exit_frame_info_offset()), Immediate(0)); |
+ __ movl(Address(THR, Thread::top_exit_frame_info_offset()), Immediate(0)); |
__ LeaveFrame(); |
__ ret(); |
@@ -216,7 +216,7 @@ void StubCode::GenerateCallBootstrapCFunctionStub(Assembler* assembler) { |
// Save exit frame information to enable stack walking as we are about |
// to transition to dart VM code. |
- __ movl(Address(EDI, Isolate::top_exit_frame_info_offset()), EBP); |
+ __ movl(Address(THR, Thread::top_exit_frame_info_offset()), EBP); |
#if defined(DEBUG) |
{ Label ok; |
@@ -255,7 +255,7 @@ void StubCode::GenerateCallBootstrapCFunctionStub(Assembler* assembler) { |
Immediate(VMTag::kDartTagId)); |
// Reset exit frame information in Isolate structure. |
- __ movl(Address(EDI, Isolate::top_exit_frame_info_offset()), Immediate(0)); |
+ __ movl(Address(THR, Thread::top_exit_frame_info_offset()), Immediate(0)); |
__ LeaveFrame(); |
__ ret(); |
@@ -757,15 +757,15 @@ void StubCode::GenerateInvokeDartCodeStub(Assembler* assembler) { |
// Save top resource and top exit frame info. Use EDX as a temporary register. |
// StackFrameIterator reads the top exit frame info saved in this frame. |
- __ movl(EDX, Address(EDI, Isolate::top_resource_offset())); |
+ __ movl(EDX, Address(THR, Thread::top_resource_offset())); |
__ pushl(EDX); |
- __ movl(Address(EDI, Isolate::top_resource_offset()), Immediate(0)); |
+ __ movl(Address(THR, Thread::top_resource_offset()), Immediate(0)); |
// The constant kExitLinkSlotFromEntryFp must be kept in sync with the |
// code below. |
ASSERT(kExitLinkSlotFromEntryFp == -6); |
- __ movl(EDX, Address(EDI, Isolate::top_exit_frame_info_offset())); |
+ __ movl(EDX, Address(THR, Thread::top_exit_frame_info_offset())); |
__ pushl(EDX); |
- __ movl(Address(EDI, Isolate::top_exit_frame_info_offset()), Immediate(0)); |
+ __ movl(Address(THR, Thread::top_exit_frame_info_offset()), Immediate(0)); |
// Load arguments descriptor array into EDX. |
__ movl(EDX, Address(EBP, kArgumentsDescOffset)); |
@@ -809,8 +809,8 @@ void StubCode::GenerateInvokeDartCodeStub(Assembler* assembler) { |
// Restore the saved top exit frame info and top resource back into the |
// Isolate structure. |
__ LoadIsolate(EDI); |
- __ popl(Address(EDI, Isolate::top_exit_frame_info_offset())); |
- __ popl(Address(EDI, Isolate::top_resource_offset())); |
+ __ popl(Address(THR, Thread::top_exit_frame_info_offset())); |
+ __ popl(Address(THR, Thread::top_resource_offset())); |
// Restore the current VMTag from the stack. |
__ popl(Address(EDI, Isolate::vm_tag_offset())); |
@@ -1926,7 +1926,7 @@ void StubCode::GenerateJumpToExceptionHandlerStub(Assembler* assembler) { |
__ movl(Address(EDI, Isolate::vm_tag_offset()), |
Immediate(VMTag::kDartTagId)); |
// Clear top exit frame. |
- __ movl(Address(EDI, Isolate::top_exit_frame_info_offset()), Immediate(0)); |
+ __ movl(Address(THR, Thread::top_exit_frame_info_offset()), Immediate(0)); |
__ jmp(EBX); // Jump to the exception handler code. |
} |