• sgjesse@chromium.org's avatar
    Support debugger inspection of locals in optimized frames · 7d2be7c0
    sgjesse@chromium.org authored
    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.
    
    R=fschneider@chromium.org
    
    BUG=v8:1140
    TEST=test/mjsunit/debug-evaluate-locals-optimized*
    
    Review URL: http://codereview.chromium.org//7230045
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    7d2be7c0
frames.cc 41.2 KB