| Index: src/debug/debug.cc
|
| diff --git a/src/debug/debug.cc b/src/debug/debug.cc
|
| index 2aac6aa117d54f1e5908170dea5ae20f2fc1dd9d..b212aad033eb50470073d6c4f4f21ca2cdcca1de 100644
|
| --- a/src/debug/debug.cc
|
| +++ b/src/debug/debug.cc
|
| @@ -329,7 +329,6 @@ void Debug::ThreadInit() {
|
| thread_local_.last_statement_position_ = RelocInfo::kNoPosition;
|
| thread_local_.step_count_ = 0;
|
| thread_local_.last_fp_ = 0;
|
| - thread_local_.queued_step_count_ = 0;
|
| thread_local_.step_out_fp_ = 0;
|
| thread_local_.step_in_enabled_ = false;
|
| // TODO(isolates): frames_are_dropped_?
|
| @@ -484,47 +483,17 @@ void Debug::Break(Arguments args, JavaScriptFrame* frame) {
|
|
|
| // Clear all current stepping setup.
|
| ClearStepping();
|
| -
|
| - if (thread_local_.queued_step_count_ > 0) {
|
| - // Perform queued steps
|
| - int step_count = thread_local_.queued_step_count_;
|
| -
|
| - // Clear queue
|
| - thread_local_.queued_step_count_ = 0;
|
| -
|
| - PrepareStep(StepNext, step_count);
|
| - } else {
|
| - // Notify the debug event listeners.
|
| - OnDebugBreak(break_points_hit, false);
|
| - }
|
| + // Notify the debug event listeners.
|
| + OnDebugBreak(break_points_hit, false);
|
| } else if (thread_local_.last_step_action_ != StepNone) {
|
| // Hold on to last step action as it is cleared by the call to
|
| // ClearStepping.
|
| StepAction step_action = thread_local_.last_step_action_;
|
| int step_count = thread_local_.step_count_;
|
|
|
| - // If StepNext goes deeper in code, StepOut until original frame
|
| - // and keep step count queued up in the meantime.
|
| - if (step_action == StepNext && frame->fp() < thread_local_.last_fp_) {
|
| - // Count frames until target frame
|
| - int count = 0;
|
| - JavaScriptFrameIterator it(isolate_);
|
| - while (!it.done() && it.frame()->fp() < thread_local_.last_fp_) {
|
| - count++;
|
| - it.Advance();
|
| - }
|
| -
|
| - // Check that we indeed found the frame we are looking for.
|
| - CHECK(!it.done() && (it.frame()->fp() == thread_local_.last_fp_));
|
| - if (step_count > 1) {
|
| - // Save old count and action to continue stepping after StepOut.
|
| - thread_local_.queued_step_count_ = step_count - 1;
|
| - }
|
| -
|
| - // Set up for StepOut to reach target frame.
|
| - step_action = StepOut;
|
| - step_count = count;
|
| - }
|
| + // If StepNext goes deeper into code, just return. The functions we need
|
| + // to have flooded with one-shots are already flooded.
|
| + if (step_action == StepNext && frame->fp() < thread_local_.last_fp_) return;
|
|
|
| // Clear all current stepping setup.
|
| ClearStepping();
|
|
|