Index: runtime/vm/stub_code_x64.cc |
=================================================================== |
--- runtime/vm/stub_code_x64.cc (revision 41244) |
+++ runtime/vm/stub_code_x64.cc (working copy) |
@@ -44,8 +44,7 @@ |
__ EnterFrame(0); |
- // Load current Isolate pointer from Context structure into RAX. |
- __ movq(RAX, FieldAddress(CTX, Context::isolate_offset())); |
+ __ LoadIsolate(RAX); |
// Save exit frame information to enable stack walking as we are about |
// to transition to Dart VM C++ code. |
@@ -156,8 +155,7 @@ |
__ EnterFrame(0); |
- // Load current Isolate pointer from Context structure into R8. |
- __ movq(R8, FieldAddress(CTX, Context::isolate_offset())); |
+ __ LoadIsolate(R8); |
// Save exit frame information to enable stack walking as we are about |
// to transition to native code. |
@@ -245,8 +243,7 @@ |
__ EnterFrame(0); |
- // Load current Isolate pointer from Context structure into R8. |
- __ movq(R8, FieldAddress(CTX, Context::isolate_offset())); |
+ __ LoadIsolate(R8); |
// Save exit frame information to enable stack walking as we are about |
// to transition to native code. |
@@ -979,13 +976,6 @@ |
// R10: number of context variables as integer value (not object). |
__ movq(FieldAddress(RAX, Context::num_variables_offset()), R10); |
- // Setup isolate field. |
- // RAX: new object. |
- // R10: number of context variables. |
- // R13: Isolate, not an object. |
- __ LoadIsolate(R13); |
- __ movq(FieldAddress(RAX, Context::isolate_offset()), R13); |
- |
// Setup the parent field. |
// RAX: new object. |
// R10: number of context variables. |
@@ -1754,7 +1744,7 @@ |
void StubCode::GenerateDebugStepCheckStub(Assembler* assembler) { |
// Check single stepping. |
Label stepping, done_stepping; |
- __ movq(RAX, FieldAddress(CTX, Context::isolate_offset())); |
+ __ LoadIsolate(RAX); |
__ movzxb(RAX, Address(RAX, Isolate::single_step_offset())); |
__ cmpq(RAX, Immediate(0)); |
__ j(NOT_EQUAL, &stepping, Assembler::kNearJump); |
@@ -2021,7 +2011,7 @@ |
Assembler* assembler) { |
// Check single stepping. |
Label stepping, done_stepping; |
- __ movq(RAX, FieldAddress(CTX, Context::isolate_offset())); |
+ __ LoadIsolate(RAX); |
__ movzxb(RAX, Address(RAX, Isolate::single_step_offset())); |
__ cmpq(RAX, Immediate(0)); |
__ j(NOT_EQUAL, &stepping); |