| Index: src/debug/debug.h
|
| diff --git a/src/debug/debug.h b/src/debug/debug.h
|
| index 77451f679818efdaba1b6393ac78ce7c254fc42d..78b31352a7f553daff35edc3575ec65a85a35f0c 100644
|
| --- a/src/debug/debug.h
|
| +++ b/src/debug/debug.h
|
| @@ -455,7 +455,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);
|
| @@ -500,6 +501,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() {
|
| @@ -650,6 +656,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
|
| @@ -746,6 +757,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
|
|
|