|
Fix CPU profiling for Crankshaft.
The main issue was due to multiple recompilations of functions. Now
code objects are grouped by function using SFI object address.
JSFunction objects are no longer tracked, instead we track SFI object
moves. To pick a correct code version, we now sample return addresses
instead of JSFunction addresses.
tools/{linux|mac|windows}-tickprocessor scripts differentiate
between code optimization states for the same function
(using * and ~ prefixes introduced earlier).
DevTools CPU profiler treats all variants of function code as
a single function.
ll_prof treats each optimized variant as a separate entry, because
it can disassemble each one of them.
tickprocessor.py not updated -- it is deprecated and will be removed.
BUG=v8/1087,b/3178160
TEST=all existing tests pass, including Chromium layout tests
Committed: http://code.google.com/p/v8/source/detail?r=6902
Total comments: 22
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+382 lines, -460 lines) |
Patch |
|
M |
src/compiler.h
|
View
|
|
1 chunk |
+2 lines, -3 lines |
2 comments
|
Download
|
|
M |
src/compiler.cc
|
View
|
|
8 chunks |
+24 lines, -30 lines |
0 comments
|
Download
|
|
M |
src/cpu-profiler.h
|
View
|
|
9 chunks |
+16 lines, -32 lines |
0 comments
|
Download
|
|
M |
src/cpu-profiler.cc
|
View
|
|
11 chunks |
+38 lines, -102 lines |
4 comments
|
Download
|
|
M |
src/cpu-profiler-inl.h
|
View
|
|
2 chunks |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/handles.cc
|
View
|
|
2 chunks |
+0 lines, -4 lines |
2 comments
|
Download
|
|
M |
src/heap.cc
|
View
|
|
2 chunks |
+2 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/hydrogen.cc
|
View
|
|
1 chunk |
+1 line, -4 lines |
0 comments
|
Download
|
|
M |
src/log.h
|
View
|
|
4 chunks |
+12 lines, -14 lines |
4 comments
|
Download
|
|
M |
src/log.cc
|
View
|
|
12 chunks |
+59 lines, -88 lines |
6 comments
|
Download
|
|
M |
src/log-utils.cc
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/mark-compact.cc
|
View
|
|
3 chunks |
+4 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/profile-generator.h
|
View
|
|
5 chunks |
+9 lines, -3 lines |
2 comments
|
Download
|
|
M |
src/profile-generator.cc
|
View
|
|
6 chunks |
+36 lines, -39 lines |
0 comments
|
Download
|
|
M |
src/profile-generator-inl.h
|
View
|
|
2 chunks |
+1 line, -10 lines |
0 comments
|
Download
|
|
M |
test/cctest/test-cpu-profiler.cc
|
View
|
|
3 chunks |
+2 lines, -6 lines |
0 comments
|
Download
|
|
M |
test/cctest/test-log.cc
|
View
|
|
2 chunks |
+4 lines, -19 lines |
0 comments
|
Download
|
|
M |
test/cctest/test-log-stack-tracer.cc
|
View
|
|
5 chunks |
+15 lines, -17 lines |
0 comments
|
Download
|
|
M |
test/mjsunit/tools/tickprocessor-test-func-info.log
|
View
|
|
1 chunk |
+4 lines, -6 lines |
0 comments
|
Download
|
|
M |
tools/ll_prof.py
|
View
|
|
2 chunks |
+6 lines, -3 lines |
2 comments
|
Download
|
|
M |
tools/profile.js
|
View
|
|
7 chunks |
+103 lines, -38 lines |
0 comments
|
Download
|
|
M |
tools/tickprocessor.js
|
View
|
|
8 chunks |
+37 lines, -28 lines |
0 comments
|
Download
|
Total messages: 4 (0 generated)
|