Index: src/debug/debug.h |
diff --git a/src/debug/debug.h b/src/debug/debug.h |
index 44f0a6fe8b957c93cd85d3481f06f2473d26b845..df4052be20997c5c313c8a4df1a6f2c1ec1e9d5b 100644 |
--- a/src/debug/debug.h |
+++ b/src/debug/debug.h |
@@ -413,10 +413,6 @@ class Debug { |
void ClearAllBreakPoints(); |
void FloodWithOneShot(Handle<JSFunction> function, |
BreakLocatorType type = ALL_BREAK_LOCATIONS); |
- void FloodBoundFunctionWithOneShot(Handle<JSFunction> function); |
- void FloodDefaultConstructorWithOneShot(Handle<JSFunction> function); |
- void FloodWithOneShotGeneric(Handle<JSFunction> function, |
- Handle<Object> holder = Handle<Object>()); |
void FloodHandlerWithOneShot(); |
void ChangeBreakOnException(ExceptionBreakType type, bool enable); |
bool IsBreakOnException(ExceptionBreakType type); |
@@ -425,12 +421,12 @@ class Debug { |
void PrepareStep(StepAction step_action, |
int step_count, |
StackFrame::Id frame_id); |
+ void PrepareStepIn(Handle<JSFunction> function); |
void ClearStepping(); |
void ClearStepOut(); |
+ void EnableStepIn(); |
bool IsStepping() { return thread_local_.step_count_ > 0; } |
bool StepNextContinue(BreakLocation* location, JavaScriptFrame* frame); |
- bool StepInActive() { return thread_local_.step_into_fp_ != 0; } |
- void HandleStepIn(Handle<Object> function_obj); |
bool StepOutActive() { return thread_local_.step_out_fp_ != 0; } |
void GetStepinPositions(JavaScriptFrame* frame, StackFrame::Id frame_id, |
@@ -521,8 +517,8 @@ class Debug { |
return reinterpret_cast<Address>(address); |
} |
- Address last_step_action_addr() { |
- return reinterpret_cast<Address>(&thread_local_.last_step_action_); |
+ Address step_in_enabled_address() { |
+ return reinterpret_cast<Address>(&thread_local_.step_in_enabled_); |
} |
StepAction last_step_action() { return thread_local_.last_step_action_; } |
@@ -583,10 +579,7 @@ class Debug { |
void InvokeMessageHandler(MessageImpl message); |
void ClearOneShot(); |
- void ActivateStepIn(StackFrame* frame); |
- void ClearStepIn(); |
void ActivateStepOut(StackFrame* frame); |
- void ClearStepNext(); |
void RemoveDebugInfoAndClearFromShared(Handle<DebugInfo> debug_info); |
Handle<Object> CheckBreakPoints(Handle<Object> break_point); |
bool CheckBreakPoint(Handle<Object> break_point_object); |
@@ -660,13 +653,15 @@ class Debug { |
// Number of queued steps left to perform before debug event. |
int queued_step_count_; |
- // Frame pointer for frame from which step in was performed. |
- Address step_into_fp_; |
- |
// Frame pointer for the frame where debugger should be called when current |
// step out action is completed. |
Address step_out_fp_; |
+ // Whether functions are flooded on entry for step-in and step-frame. |
+ // If we stepped out to the embedder, disable flooding to spill stepping |
+ // to the next call that the embedder makes. |
+ bool step_in_enabled_; |
+ |
// 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_; |