v8/tools
vitalyr@chromium.org e6b33bd20b Support profiling based on linux kernel performance events.
Since 2.6.31 perf_events interface has been available in the
kernel. There's a nice tool called "perf" (linux-2.6/tools/perf) that
uses this interface and provides capabilities similar to oprofile. The
simplest form of its usage is just dumping the raw log (trace) of
events generated by the kernel. In this patch I'm adding a script
(tools/ll_prof.py) to build profiles based on perf trace and our code
log. All the heavy-lifting is done by perf. Compared to oprofile agent
this approach does not require recompilation and supports code moving
garbage collections.

Expected usage is documented in the ll_prof's help. Basically one
should run V8 under perf passing --ll-prof flag and then the produced
logs can be analyzed by tools/ll_prof.py.

The new --ll-prof flag enables logging of generated code object
locations and names (like --log-code), and also of their bodies, which
can be later disassembled and annotated by the script.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-19 16:45:11 +00:00
..
gyp Simplify powers-of-ten cache. 2010-10-07 13:02:36 +00:00
oom_dump Add os_error stat to oom_dump utility. 2010-08-30 12:26:58 +00:00
oprofile Added utility scripts for running oprofile in tools/oprofile. 2009-06-16 12:08:59 +00:00
v8.xcodeproj Refactored string search code. 2010-09-29 10:57:23 +00:00
visual_studio Refactored string search code. 2010-09-29 10:57:23 +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 Rewrite CsvParser.parseLine to make it simpler and gain some performance improvement. 2010-01-29 13:32:32 +00:00
gc-nvp-trace-processor.py Merge flush code phase into marking phase. 2010-08-17 11:44:01 +00:00
generate-ten-powers.scm Fast double-to-ascii conversion. 2010-03-11 14:49:35 +00:00
js2c.py Fix d8 build error on a fresh checkout. 2010-07-22 12:55:14 +00:00
jsmin.py Inline a number of simple date computations. 2010-01-08 07:49:07 +00:00
linux-tick-processor Profiler tick processor: exploit d8's readline to avoid reading 2010-02-08 08:15:18 +00:00
linux-tick-processor.py Refactored command-line options handling in tick processor scripts 2009-02-18 13:45:54 +00:00
ll_prof.py Support profiling based on linux kernel performance events. 2010-10-19 16:45:11 +00:00
logreader.js Profiler tick processor: exploit d8's readline to avoid reading 2010-02-08 08:15:18 +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 Use hashlib module instead of md5 if it is present. 2010-07-28 12:35:46 +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 tools/stats-viewer.py: add counter filter. 2010-06-29 11:30:34 +00:00
test.py Refactor the tools/test.py script and related testcfg.py files. 2010-08-24 13:34:59 +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 tests after r3811. 2010-02-08 08:55:01 +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 Address some issues with detecting the architecture. See 2010-08-31 08:05:33 +00:00
windows-tick-processor.bat Profiler tick processor: exploit d8's readline to avoid reading 2010-02-08 08:15:18 +00:00
windows-tick-processor.py Refactored command-line options handling in tick processor scripts 2009-02-18 13:45:54 +00:00