diff options
Diffstat (limited to 'deps/v8/src/x64/debug-x64.cc')
-rw-r--r-- | deps/v8/src/x64/debug-x64.cc | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/deps/v8/src/x64/debug-x64.cc b/deps/v8/src/x64/debug-x64.cc index 6612242a03..938703ef3e 100644 --- a/deps/v8/src/x64/debug-x64.cc +++ b/deps/v8/src/x64/debug-x64.cc @@ -132,7 +132,7 @@ static void Generate_DebugBreakCallHelper(MacroAssembler* masm, __ RecordComment("// Calling from debug break to runtime - come in - over"); #endif __ Set(rax, 0); // No arguments (argc == 0). - __ movq(rbx, ExternalReference::debug_break(masm->isolate())); + __ Move(rbx, ExternalReference::debug_break(masm->isolate())); CEntryStub ceb(1); __ CallStub(&ceb); @@ -164,7 +164,7 @@ static void Generate_DebugBreakCallHelper(MacroAssembler* masm, // If this call did not replace a call but patched other code then there will // be an unwanted return address left on the stack. Here we get rid of that. if (convert_call_to_jmp) { - __ addq(rsp, Immediate(kPointerSize)); + __ addq(rsp, Immediate(kPCOnStackSize)); } // Now that the break point has been handled, resume normal execution by @@ -172,8 +172,8 @@ static void Generate_DebugBreakCallHelper(MacroAssembler* masm, // overwritten by the address of DebugBreakXXX. ExternalReference after_break_target = ExternalReference(Debug_Address::AfterBreakTarget(), masm->isolate()); - __ movq(kScratchRegister, after_break_target); - __ jmp(Operand(kScratchRegister, 0)); + __ Move(kScratchRegister, after_break_target); + __ Jump(Operand(kScratchRegister, 0)); } @@ -261,9 +261,11 @@ void Debug::GenerateCallFunctionStubRecordDebugBreak(MacroAssembler* masm) { // Register state for CallFunctionStub (from code-stubs-x64.cc). // ----------- S t a t e ------------- // -- rdi : function - // -- rbx: cache cell for call target + // -- rbx: feedback array + // -- rdx: slot in feedback array // ----------------------------------- - Generate_DebugBreakCallHelper(masm, rbx.bit() | rdi.bit(), 0, false); + Generate_DebugBreakCallHelper(masm, rbx.bit() | rdx.bit() | rdi.bit(), + 0, false); } @@ -285,10 +287,12 @@ void Debug::GenerateCallConstructStubRecordDebugBreak(MacroAssembler* masm) { // above IC call. // ----------- S t a t e ------------- // -- rax: number of arguments - // -- rbx: cache cell for call target + // -- rbx: feedback array + // -- rdx: feedback slot (smi) // ----------------------------------- // The number of arguments in rax is not smi encoded. - Generate_DebugBreakCallHelper(masm, rbx.bit() | rdi.bit(), rax.bit(), false); + Generate_DebugBreakCallHelper(masm, rbx.bit() | rdx.bit() | rdi.bit(), + rax.bit(), false); } @@ -319,8 +323,8 @@ void Debug::GenerateFrameDropperLiveEdit(MacroAssembler* masm) { ExternalReference restarter_frame_function_slot = ExternalReference(Debug_Address::RestarterFrameFunctionPointer(), masm->isolate()); - __ movq(rax, restarter_frame_function_slot); - __ movq(Operand(rax, 0), Immediate(0)); + __ Move(rax, restarter_frame_function_slot); + __ movp(Operand(rax, 0), Immediate(0)); // We do not know our frame height, but set rsp based on rbp. __ lea(rsp, Operand(rbp, -1 * kPointerSize)); @@ -329,11 +333,11 @@ void Debug::GenerateFrameDropperLiveEdit(MacroAssembler* masm) { __ pop(rbp); // Load context from the function. - __ movq(rsi, FieldOperand(rdi, JSFunction::kContextOffset)); + __ movp(rsi, FieldOperand(rdi, JSFunction::kContextOffset)); // Get function code. - __ movq(rdx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset)); - __ movq(rdx, FieldOperand(rdx, SharedFunctionInfo::kCodeOffset)); + __ movp(rdx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset)); + __ movp(rdx, FieldOperand(rdx, SharedFunctionInfo::kCodeOffset)); __ lea(rdx, FieldOperand(rdx, Code::kHeaderSize)); // Re-run JSFunction, rdi is function, rsi is context. |