v8/tools
mikhail.naganov@gmail.com 999e3fca90 Fix issue 553: function frame is skipped in profile when compare stub is called.
The problem appeared due to a fact that stubs doesn't create a stack
frame, reusing the stack frame of the caller function. When building
stack traces, the current function is retrieved from PC, and its
callees are retrieved by traversing the stack backwards. Thus, for
stubs, the stub itself was discovered via PC, and then stub's caller's
caller was retrieved from stack.

To fix this problem, a pointer to JSFunction object is now captured
from the topmost stack frame, and is saved into stack trace log
record. Then a simple heuristics is applied whether a referred
function should be added to decoded stack, or not, to avoid reporting
the same function twice (from PC and from the pointer.)

BUG=553
TEST=added to mjsunit/tools/tickprocessor

Review URL: http://codereview.chromium.org/546089

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-01-21 16:42:41 +00:00
..
gyp Rename the fast-codegen* files to full-codegen*. 2010-01-20 16:28:21 +00:00
oprofile Added utility scripts for running oprofile in tools/oprofile. 2009-06-16 12:08:59 +00:00
v8.xcodeproj Xcode project: add fast-codegen sources. 2009-11-25 10:45:31 +00:00
visual_studio Rename the fast-codegen* files to full-codegen*. 2010-01-20 16:28:21 +00:00
codemap.js Fix issue 553: function frame is skipped in profile when compare stub is called. 2010-01-21 16:42:41 +00:00
consarray.js TickProcessor script reimplemented in JavaScript. 2009-04-27 13:50:42 +00:00
csvparser.js Implemented a CSV parser in JavaScript. 2009-04-17 17:58:14 +00:00
js2c.py Keep natives source code in external strings instead of putting 2009-11-06 13:48:33 +00:00
jsmin.py Inline a number of simple date computations. 2010-01-08 07:49:07 +00:00
linux-tick-processor Add automatic tests for Tick Processor, take two. 2009-07-09 06:39:38 +00:00
linux-tick-processor.py Refactored command-line options handling in tick processor scripts 2009-02-18 13:45:54 +00:00
logreader.js Fix issue 553: function frame is skipped in profile when compare stub is called. 2010-01-21 16:42:41 +00:00
mac-nm Fix mac-nm script to support filenames w/spaces 2009-08-13 14:03:12 +00:00
mac-tick-processor Implement shared libraries logging on Mac OS X, added required support in Tick Processor. 2009-07-14 05:01:06 +00:00
presubmit.py Added ES5 15.2.3.2 Object.getPrototypeOf. 2010-01-07 10:01:24 +00:00
process-heap-prof.py Report both size and count from the heap profile processor 2009-11-10 10:18:41 +00:00
profile_view.js Profiler cleanup: removed another piece that is only needed for DevTools profiler. 2009-06-04 09:20:27 +00:00
profile.js Fix issue 553: function frame is skipped in profile when compare stub is called. 2010-01-21 16:42:41 +00:00
run-valgrind.py Changed valgrind script to match changed output format 2009-09-17 12:13:08 +00:00
splaytree.js Enhancing profiling data processing code with functionality needed for the Dev Tools Profiler. 2009-04-30 08:10:27 +00:00
splaytree.py Introduce splaytree.KeyNotFoundError and use it for reporting 2009-03-25 12:14:13 +00:00
stats-viewer.py stats-viewer.py: support passing test_shell pid. 2009-12-14 17:05:38 +00:00
test.py Lift filtering of the test higher as otherwise we can get 2010-01-18 13:17:38 +00:00
tickprocessor-driver.js Fix issue 571: display descriptive names for code objects from snapshot. 2010-01-18 16:04:25 +00:00
tickprocessor.js Fix issue 553: function frame is skipped in profile when compare stub is called. 2010-01-21 16:42:41 +00:00
tickprocessor.py Fix issue 553: function frame is skipped in profile when compare stub is called. 2010-01-21 16:42:41 +00:00
utils.py Initial OpenBSD support 2009-12-02 13:38:50 +00:00
windows-tick-processor.bat Add automatic tests for Tick Processor, take two. 2009-07-09 06:39:38 +00:00
windows-tick-processor.py Refactored command-line options handling in tick processor scripts 2009-02-18 13:45:54 +00:00