| 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);
|
|
|