| Index: src/debug.h
|
| diff --git a/src/debug.h b/src/debug.h
|
| index 2afe0f62131eebf791540c2b2621876f001e1037..3bfa02fcdf4b8e80846226bef691dd3be961faa7 100644
|
| --- a/src/debug.h
|
| +++ b/src/debug.h
|
| @@ -32,13 +32,14 @@ class DebugScope;
|
| // Step actions. NOTE: These values are in macros.py as well.
|
| enum StepAction {
|
| StepNone = -1, // Stepping not prepared.
|
| - StepOut = 0, // Step out of the current function.
|
| - StepNext = 1, // Step to the next statement in the current function.
|
| - StepIn = 2, // Step into new functions invoked or the next statement
|
| - // in the current function.
|
| - StepMin = 3, // Perform a minimum step in the current function.
|
| - StepInMin = 4 // Step into new functions invoked or perform a minimum step
|
| - // in the current function.
|
| + StepOut = 0, // Step out of the current function.
|
| + StepNext = 1, // Step to the next statement in the current function.
|
| + StepIn = 2, // Step into new functions invoked or the next statement
|
| + // in the current function.
|
| + StepMin = 3, // Perform a minimum step in the current function.
|
| + StepInMin = 4, // Step into new functions invoked or perform a minimum step
|
| + // in the current function.
|
| + StepFrame = 5 // Step into a new frame or return to previous frame.
|
| };
|
|
|
|
|
| @@ -49,10 +50,11 @@ enum ExceptionBreakType {
|
| };
|
|
|
|
|
| -// Type of exception break. NOTE: These values are in macros.py as well.
|
| +// Type of exception break.
|
| enum BreakLocatorType {
|
| ALL_BREAK_LOCATIONS = 0,
|
| - SOURCE_BREAK_LOCATIONS = 1
|
| + SOURCE_BREAK_LOCATIONS = 1,
|
| + CALLS_AND_RETURNS = 2,
|
| };
|
|
|
|
|
| @@ -385,7 +387,8 @@ class Debug {
|
| BreakPositionAlignment alignment);
|
| void ClearBreakPoint(Handle<Object> break_point_object);
|
| void ClearAllBreakPoints();
|
| - void FloodWithOneShot(Handle<JSFunction> function);
|
| + void FloodWithOneShot(Handle<JSFunction> function,
|
| + BreakLocatorType type = ALL_BREAK_LOCATIONS);
|
| void FloodBoundFunctionWithOneShot(Handle<JSFunction> function);
|
| void FloodHandlerWithOneShot();
|
| void ChangeBreakOnException(ExceptionBreakType type, bool enable);
|
| @@ -401,10 +404,8 @@ class Debug {
|
| bool StepNextContinue(BreakLocationIterator* break_location_iterator,
|
| JavaScriptFrame* frame);
|
| bool StepInActive() { return thread_local_.step_into_fp_ != 0; }
|
| - void HandleStepIn(Handle<JSFunction> function,
|
| - Handle<Object> holder,
|
| - Address fp,
|
| - bool is_constructor);
|
| + void HandleStepIn(Handle<Object> function_obj, Handle<Object> holder,
|
| + Address fp, bool is_constructor);
|
| bool StepOutActive() { return thread_local_.step_out_fp_ != 0; }
|
|
|
| // Purge all code objects that have no debug break slots.
|
| @@ -623,7 +624,7 @@ class Debug {
|
| // Number of steps left to perform before debug event.
|
| int step_count_;
|
|
|
| - // Frame pointer from last step next action.
|
| + // Frame pointer from last step next or step frame action.
|
| Address last_fp_;
|
|
|
| // Number of queued steps left to perform before debug event.
|
|
|