| Index: src/ia32/debug-ia32.cc
|
| diff --git a/src/ia32/debug-ia32.cc b/src/ia32/debug-ia32.cc
|
| index 9b558bd90b5af27d8a97cbe085199916fad486a1..dfa663420016c2a7e9202d8c1bd2813c89928031 100644
|
| --- a/src/ia32/debug-ia32.cc
|
| +++ b/src/ia32/debug-ia32.cc
|
| @@ -265,6 +265,10 @@ void Debug::GeneratePlainReturnLiveEdit(MacroAssembler* masm) {
|
| // -- context
|
| // -- frame base
|
| void Debug::GenerateFrameDropperLiveEdit(MacroAssembler* masm) {
|
| + ExternalReference restarter_frame_function_slot =
|
| + ExternalReference(Debug_Address::RestarterFrameFunctionPointer());
|
| + __ mov(Operand::StaticVariable(restarter_frame_function_slot), Immediate(0));
|
| +
|
| // We do not know our frame height, but set esp based on ebp.
|
| __ lea(esp, Operand(ebp, -4 * kPointerSize));
|
|
|
| @@ -288,8 +292,10 @@ void Debug::GenerateFrameDropperLiveEdit(MacroAssembler* masm) {
|
| #undef __
|
|
|
|
|
| -void Debug::SetUpFrameDropperFrame(StackFrame* bottom_js_frame,
|
| - Handle<Code> code) {
|
| +// TODO(LiveEdit): consider making it platform-independent.
|
| +// TODO(LiveEdit): use more named constants instead of numbers.
|
| +Object** Debug::SetUpFrameDropperFrame(StackFrame* bottom_js_frame,
|
| + Handle<Code> code) {
|
| ASSERT(bottom_js_frame->is_java_script());
|
|
|
| Address fp = bottom_js_frame->fp();
|
| @@ -298,7 +304,10 @@ void Debug::SetUpFrameDropperFrame(StackFrame* bottom_js_frame,
|
|
|
| Memory::Object_at(fp - 3 * kPointerSize) = *code;
|
| Memory::Object_at(fp - 2 * kPointerSize) = Smi::FromInt(StackFrame::INTERNAL);
|
| +
|
| + return reinterpret_cast<Object**>(&Memory::Object_at(fp - 4 * kPointerSize));
|
| }
|
| +
|
| const int Debug::kFrameDropperFrameSize = 5;
|
|
|
|
|
|
|