e6b33bd20b
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 |
||
---|---|---|
.. | ||
gyp | ||
oom_dump | ||
oprofile | ||
v8.xcodeproj | ||
visual_studio | ||
codemap.js | ||
consarray.js | ||
csvparser.js | ||
gc-nvp-trace-processor.py | ||
generate-ten-powers.scm | ||
js2c.py | ||
jsmin.py | ||
linux-tick-processor | ||
linux-tick-processor.py | ||
ll_prof.py | ||
logreader.js | ||
mac-nm | ||
mac-tick-processor | ||
presubmit.py | ||
process-heap-prof.py | ||
profile_view.js | ||
profile.js | ||
run-valgrind.py | ||
splaytree.js | ||
splaytree.py | ||
stats-viewer.py | ||
test.py | ||
tickprocessor-driver.js | ||
tickprocessor.js | ||
tickprocessor.py | ||
utils.py | ||
windows-tick-processor.bat | ||
windows-tick-processor.py |