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