• yurys@chromium.org's avatar
    Extract StackFrameIteratorBase · 52d848bc
    yurys@chromium.org authored
    This change introduces StackFrameIteratorBase which owns singleton frame instances and encapsulates some basic iterator functionality. It has two actual implementations: StackFrameIterator and SafeStackFrameIterator.
    
    All logic specific to frame iteration at a random point (basically checks that fp and sp extracted from stack frames are within current stack boundaries) used only by CPU profiler is now concentrated in SafeStackFrameIterator.
    
    Generic stack iteration used in all other places is put into StackFrameIterator. Also this iterator unlike SafeStackFrameIterator iterates through stack handlers.
    
    StackAddressValidator and ExitFrameValidator classes were removed in favor of inline checks and simple methods.
    
    BUG=None
    R=loislo@chromium.org, svenpanne@chromium.org
    
    Review URL: https://codereview.chromium.org/17819003
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    52d848bc
frames.cc 51.8 KB