Index: runtime/vm/stub_code_x64.cc |
=================================================================== |
--- runtime/vm/stub_code_x64.cc (revision 40623) |
+++ runtime/vm/stub_code_x64.cc (working copy) |
@@ -746,7 +746,7 @@ |
const Register kIsolateReg = RBX; |
// Load Isolate pointer into kIsolateReg. |
- __ movq(kIsolateReg, Immediate(Isolate::CurrentAddress())); |
+ __ LoadIsolate(kIsolateReg); |
// Save the current VMTag on the stack. |
__ movq(RAX, Address(kIsolateReg, Isolate::vm_tag_offset())); |
@@ -848,7 +848,7 @@ |
// Get rid of arguments pushed on the stack. |
__ leaq(RSP, Address(RSP, RDX, TIMES_4, 0)); // RDX is a Smi. |
- __ movq(kIsolateReg, Immediate(Isolate::CurrentAddress())); |
+ __ LoadIsolate(kIsolateReg); |
// Restore the saved Context pointer into the Isolate structure. |
__ popq(Address(kIsolateReg, Isolate::top_context_offset())); |
@@ -951,8 +951,8 @@ |
// RAX: new object. |
// R10: number of context variables. |
// R13: Isolate, not an object. |
- __ movq(FieldAddress(RAX, Context::isolate_offset()), |
- Immediate(Isolate::CurrentAddress())); |
+ __ LoadIsolate(R13); |
+ __ movq(FieldAddress(RAX, Context::isolate_offset()), R13); |
// Setup the parent field. |
// RAX: new object. |
@@ -1024,7 +1024,7 @@ |
// Load the isolate. |
// RAX: Address being stored |
- __ movq(RDX, Immediate(Isolate::CurrentAddress())); |
+ __ LoadIsolate(RDX); |
// Load the StoreBuffer block out of the isolate. Then load top_ out of the |
// StoreBufferBlock and add the address to the pointers_. |
@@ -1051,7 +1051,7 @@ |
__ Bind(&L); |
// Setup frame, push callee-saved registers. |
__ EnterCallRuntimeFrame(0); |
- __ movq(CallingConventions::kArg1Reg, Immediate(Isolate::CurrentAddress())); |
+ __ LoadIsolate(CallingConventions::kArg1Reg); |
__ CallRuntime(kStoreBufferBlockProcessRuntimeEntry, 1); |
__ LeaveCallRuntimeFrame(); |
__ ret(); |
@@ -1357,7 +1357,7 @@ |
// Check single stepping. |
Label stepping, done_stepping; |
- __ movq(RAX, Immediate(Isolate::CurrentAddress())); |
+ __ LoadIsolate(RAX); |
__ cmpb(Address(RAX, Isolate::single_step_offset()), Immediate(0)); |
__ j(NOT_EQUAL, &stepping); |
__ Bind(&done_stepping); |
@@ -1588,7 +1588,7 @@ |
// Check single stepping. |
Label stepping, done_stepping; |
- __ movq(RAX, Immediate(Isolate::CurrentAddress())); |
+ __ LoadIsolate(RAX); |
__ movzxb(RAX, Address(RAX, Isolate::single_step_offset())); |
__ cmpq(RAX, Immediate(0)); |
__ j(NOT_EQUAL, &stepping, Assembler::kNearJump); |