Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(227)

Issue 200041: Support stepping out for recursive functions (Closed)

Created:
11 years, 3 months ago by yurys
Modified:
9 years, 7 months ago
Reviewers:
Søren Thygesen Gjesse, sgjesse
CC:
v8-dev
Visibility:
Public.

Description

Support stepping out for recursive functions.Simply flooding JS function from the calling stack frame with one shot breakpoints is not enough to support step out action in all cases since the function on top of the stack may be turn recursive and we may end up flooding itself. To overcome this a pointer to the stack frame where the debugger should be invoked after stepping out is strored in the debugger.Chromium bug:http://code.google.com/p/chromium/issues/detail?id=17967 Committed: http://code.google.com/p/v8/source/detail?r=2850

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Total comments: 8

Patch Set 5 : '' #

Patch Set 6 : '' #

Total comments: 2

Patch Set 7 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+255 lines, -8 lines) Patch
M src/debug.h View 1 3 chunks +9 lines, -0 lines 0 comments Download
M src/debug.cc View 1 2 3 4 5 6 7 chunks +49 lines, -7 lines 0 comments Download
M src/runtime.cc View 6 2 chunks +5 lines, -1 line 0 comments Download
A test/mjsunit/debug-stepout-recursive-function.js View 1 2 3 1 chunk +106 lines, -0 lines 0 comments Download
A test/mjsunit/debug-stepout-to-builtin.js View 1 chunk +84 lines, -0 lines 0 comments Download
M test/mjsunit/mjsunit.status View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
yurys
11 years, 3 months ago (2009-09-08 13:37:13 UTC) #1
Søren Thygesen Gjesse
LGTM Nice debugger change! http://codereview.chromium.org/200041/diff/8/1008 File src/debug.cc (right): http://codereview.chromium.org/200041/diff/8/1008#newcode869 Line 869: // out unless real ...
11 years, 3 months ago (2009-09-08 14:06:02 UTC) #2
yurys
http://codereview.chromium.org/200041/diff/8/1008 File src/debug.cc (right): http://codereview.chromium.org/200041/diff/8/1008#newcode869 Line 869: // out unless real breakpoint is hit. On ...
11 years, 3 months ago (2009-09-08 14:16:30 UTC) #3
yurys
Please look at the change one more time. I've added Debug::ClearStepping(); call in Runtime_PrepareStep function ...
11 years, 3 months ago (2009-09-08 14:58:18 UTC) #4
Søren Thygesen Gjesse
LGTM Maybe add some asserts to ActivateStepIn/ActivateStepOut that no other stepping activity is active to ...
11 years, 3 months ago (2009-09-08 19:33:58 UTC) #5
yurys
11 years, 3 months ago (2009-09-09 08:34:41 UTC) #6
http://codereview.chromium.org/200041/diff/10/16
File src/runtime.cc (right):

http://codereview.chromium.org/200041/diff/10/16#newcode6936
Line 6936: // args[2]: number of times to perform the step
On 2009/09/08 19:33:58, Søren Gjesse wrote:
> Update comment to indicate that for step out it is the number of frames to
step
> down.

Done.

Powered by Google App Engine
This is Rietveld 408576698