| Index: src/debug/debug.h
|
| diff --git a/src/debug/debug.h b/src/debug/debug.h
|
| index 3d2bbc22589c04745ec09612e3e32385d3c39d67..ab870f099092e29a5e29850479b8637e47154bb0 100644
|
| --- a/src/debug/debug.h
|
| +++ b/src/debug/debug.h
|
| @@ -464,7 +464,8 @@
|
|
|
| // Support for LiveEdit
|
| void FramesHaveBeenDropped(StackFrame::Id new_break_frame_id,
|
| - LiveEdit::FrameDropMode mode);
|
| + LiveEdit::FrameDropMode mode,
|
| + Object** restarter_frame_function_pointer);
|
|
|
| // Threading support.
|
| char* ArchiveDebug(char* to);
|
| @@ -509,6 +510,11 @@
|
|
|
| Address after_break_target_address() {
|
| return reinterpret_cast<Address>(&after_break_target_);
|
| + }
|
| +
|
| + Address restarter_frame_function_pointer_address() {
|
| + Object*** address = &thread_local_.restarter_frame_function_pointer_;
|
| + return reinterpret_cast<Address>(address);
|
| }
|
|
|
| Address step_in_enabled_address() {
|
| @@ -659,6 +665,11 @@
|
| // Stores the way how LiveEdit has patched the stack. It is used when
|
| // debugger returns control back to user script.
|
| LiveEdit::FrameDropMode frame_drop_mode_;
|
| +
|
| + // When restarter frame is on stack, stores the address
|
| + // of the pointer to function being restarted. Otherwise (most of the time)
|
| + // stores NULL. This pointer is used with 'step in' implementation.
|
| + Object** restarter_frame_function_pointer_;
|
| };
|
|
|
| // Storage location for registers when handling debug break calls
|
| @@ -755,6 +766,8 @@
|
| static void GenerateDebugBreakStub(MacroAssembler* masm,
|
| DebugBreakCallHelperMode mode);
|
|
|
| + static void GeneratePlainReturnLiveEdit(MacroAssembler* masm);
|
| +
|
| // FrameDropper is a code replacement for a JavaScript frame with possibly
|
| // several frames above.
|
| // There is no calling conventions here, because it never actually gets
|
|
|