Commit 55f78b43 authored by zhengxing.li's avatar zhengxing.li Committed by Commit bot

X87: [debugger] do not predict step in target for liveedit.

  port 1e671030 (r32614)

  original commit message:

BUG=

Review URL: https://codereview.chromium.org/1502053003

Cr-Commit-Position: refs/heads/master@{#32641}
parent 277091ba
...@@ -105,23 +105,16 @@ void DebugCodegen::GenerateDebugBreakStub(MacroAssembler* masm, ...@@ -105,23 +105,16 @@ void DebugCodegen::GenerateDebugBreakStub(MacroAssembler* masm,
} }
void DebugCodegen::GeneratePlainReturnLiveEdit(MacroAssembler* masm) {
masm->ret(0);
}
void DebugCodegen::GenerateFrameDropperLiveEdit(MacroAssembler* masm) { void DebugCodegen::GenerateFrameDropperLiveEdit(MacroAssembler* masm) {
ExternalReference restarter_frame_function_slot =
ExternalReference::debug_restarter_frame_function_pointer_address(
masm->isolate());
__ mov(Operand::StaticVariable(restarter_frame_function_slot), Immediate(0));
// We do not know our frame height, but set esp based on ebp. // We do not know our frame height, but set esp based on ebp.
__ lea(esp, Operand(ebp, -1 * kPointerSize)); __ lea(esp, Operand(ebp, -1 * kPointerSize));
__ pop(edi); // Function. __ pop(edi); // Function.
__ pop(ebp); __ pop(ebp);
ParameterCount dummy(0);
__ FloodFunctionIfStepping(edi, no_reg, dummy, dummy);
// Load context from the function. // Load context from the function.
__ mov(esi, FieldOperand(edi, JSFunction::kContextOffset)); __ mov(esi, FieldOperand(edi, JSFunction::kContextOffset));
......
...@@ -310,6 +310,10 @@ class MacroAssembler: public Assembler { ...@@ -310,6 +310,10 @@ class MacroAssembler: public Assembler {
const ParameterCount& actual, InvokeFlag flag, const ParameterCount& actual, InvokeFlag flag,
const CallWrapper& call_wrapper); const CallWrapper& call_wrapper);
void FloodFunctionIfStepping(Register fun, Register new_target,
const ParameterCount& expected,
const ParameterCount& actual);
// Invoke the JavaScript function in the given register. Changes the // Invoke the JavaScript function in the given register. Changes the
// current context to the context in the function before invoking. // current context to the context in the function before invoking.
void InvokeFunction(Register function, Register new_target, void InvokeFunction(Register function, Register new_target,
...@@ -877,10 +881,6 @@ class MacroAssembler: public Assembler { ...@@ -877,10 +881,6 @@ class MacroAssembler: public Assembler {
Label::Distance done_distance, Label::Distance done_distance,
const CallWrapper& call_wrapper); const CallWrapper& call_wrapper);
void FloodFunctionIfStepping(Register fun, Register new_target,
const ParameterCount& expected,
const ParameterCount& actual);
void EnterExitFramePrologue(); void EnterExitFramePrologue();
void EnterExitFrameEpilogue(int argc, bool save_doubles); void EnterExitFrameEpilogue(int argc, bool save_doubles);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment