Reviewers: fschneider,

Description:
Support debugger inspection of locals in optimized frames

Optimized frames are now handled by the debugger. When discovering optimized
frames during stack inspection in the debugger they are "deoptimized" using the
normal deoptimization code and the deoptimizer output information is used to
provide frame information to the debugger.

Before this change the debugger reported each optimized frame as one frame no matter the number of inlined functuions that might have been called inside of it. Also all locals where reported as undefined. Locals can still be reposted as
undefined when their value is not "known" by the optimized frame.

As the structures used to calculate the output frames when deoptimizing are not
GC safe the information for the debugger is copied to another structure
(DeoptimizedFrameInfo) which is registered with the global deoptimizer data and
processed during GC.

[email protected]

BUG=v8:1140
TEST=test/mjsunit/debug-evaluate-locals-optimized*


Please review this at http://codereview.chromium.org/7230045/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/arm/deoptimizer-arm.cc
  M src/deoptimizer.h
  M src/deoptimizer.cc
  M src/frames.h
  M src/frames.cc
  M src/heap.cc
  M src/ia32/deoptimizer-ia32.cc
  M src/mirror-debugger.js
  M src/objects.cc
  M src/runtime.cc
  M src/x64/deoptimizer-x64.cc
  A test/mjsunit/debug-evaluate-locals-optimized-double.js
  A test/mjsunit/debug-evaluate-locals-optimized.js


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to