Index: runtime/vm/stub_code_ia32.cc |
=================================================================== |
--- runtime/vm/stub_code_ia32.cc (revision 41244) |
+++ runtime/vm/stub_code_ia32.cc (working copy) |
@@ -47,8 +47,7 @@ |
__ EnterFrame(0); |
- // Load current Isolate pointer from Context structure into EAX. |
- __ movl(EAX, FieldAddress(CTX, Context::isolate_offset())); |
+ __ LoadIsolate(EAX); |
// Save exit frame information to enable stack walking as we are about |
// to transition to Dart VM C++ code. |
@@ -168,8 +167,7 @@ |
__ EnterFrame(0); |
- // Load current Isolate pointer from Context structure into EDI. |
- __ movl(EDI, FieldAddress(CTX, Context::isolate_offset())); |
+ __ LoadIsolate(EDI); |
// Save exit frame information to enable stack walking as we are about |
// to transition to dart VM code. |
@@ -273,8 +271,7 @@ |
__ EnterFrame(0); |
- // Load current Isolate pointer from Context structure into EDI. |
- __ movl(EDI, FieldAddress(CTX, Context::isolate_offset())); |
+ __ LoadIsolate(EDI); |
// Save exit frame information to enable stack walking as we are about |
// to transition to dart VM code. |
@@ -995,13 +992,6 @@ |
// EDX: number of context variables as integer value (not object). |
__ movl(FieldAddress(EAX, Context::num_variables_offset()), EDX); |
- // Setup isolate field. |
- // Load Isolate pointer from Context structure into EBX. |
- // EAX: new object. |
- // EDX: number of context variables. |
- __ movl(FieldAddress(EAX, Context::isolate_offset()), |
- Immediate(reinterpret_cast<int32_t>(isolate))); |
- |
const Immediate& raw_null = |
Immediate(reinterpret_cast<intptr_t>(Object::null())); |
// Setup the parent field. |
@@ -1794,7 +1784,7 @@ |
void StubCode::GenerateDebugStepCheckStub(Assembler* assembler) { |
// Check single stepping. |
Label stepping, done_stepping; |
- __ movl(EAX, FieldAddress(CTX, Context::isolate_offset())); |
+ __ LoadIsolate(EAX); |
__ movzxb(EAX, Address(EAX, Isolate::single_step_offset())); |
__ cmpl(EAX, Immediate(0)); |
__ j(NOT_EQUAL, &stepping, Assembler::kNearJump); |
@@ -2056,7 +2046,7 @@ |
Assembler* assembler) { |
// Check single stepping. |
Label stepping, done_stepping; |
- __ movl(EAX, FieldAddress(CTX, Context::isolate_offset())); |
+ __ LoadIsolate(EAX); |
__ movzxb(EAX, Address(EAX, Isolate::single_step_offset())); |
__ cmpl(EAX, Immediate(0)); |
__ j(NOT_EQUAL, &stepping); |