Project: v8 Issues People Development process History Sign in
New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Issue 2362 Display hidden stack values: return values and exceptions
Starred by 9 users Project Member Reported by peter.ry...@gmail.com, Oct 13 2012 Back to list
Status: Assigned
Owner:
Cc:
HW: ----
OS: ----
Priority: 2
Type: FeatureRequest

Blocking:
issue chromium:155730



Sign in to add a comment
V8 debug API and protocol should expose the following stack values, currently invisible:

- a return value, when paused below return statement
- a return value, when paused inside finally after return executed
- an exception being thrown, when paused inside finally
- when paused inside complex expression, sub-expression results such as:
  * function calls,
  * value conversion,
  * method resolved function
  * etc

See related issue from Chromium project:
http://code.google.com/p/chromium/issues/detail?id=155730
 
Implementation ideas:

1. All the values are stored on stack indeed.
2. Debug stack analyzer should be able to fetch those value and return them to user more-or-less annotated.
3. An annotation in form of <function return|method resolve|...> plus source code position is probably optimal. A raw unannotated set of temporary values could be returned as well, but it looks really poor.
4. Rinfo record could store these annotations. The simplest approach is to annotate all values in each debug slot rinfo. This could nonoptimal though, because some stack slot annotation might be repeated several times.
5. Compiler can track temporary stack slot usage by storing pointers to AST nodes in stack – hopefully this is cheap.
Comment 2 by yu...@chromium.org, Oct 16 2012
Cc: yu...@chromium.org
Cc: aandrey@chromium.org
Owner: yangguo@chromium.org
Status: Assigned
- a return value, when paused below return statement
this was implemented in https://codereview.chromium.org/2783002/

Blocking: chromium:155730
Labels: Priority-2
Sign in to add a comment