• ssanfilippo's avatar
    [Interpreter] Add Ignition profile visualization tool. · 8b5d4c74
    ssanfilippo authored
    A new script is introduced, linux_perf_report.py, which reads Linux perf
    data collected when running with FLAG_perf_basic_prof enabled and
    produces an input file for flamegraph.pl, or a report of the hottest
    bytecode handlers.
    
    The bottom blocks of the produced flamegraph are bytecode handlers.
    Special bottom blocks exist as well for compile routines, time spent
    outside the interpreter and interpreter entry trampolines.
    
    Because various Stubs and other pieces of JITted code do not maintain the
    frame pointer, some sampled callchains might be incomplete even if V8 is
    compiled with no_omit_framepointer=on. The script is able to detect the
    most common anomaly where an entry trampoline appears in a chain, but not
    on top, meaning that the frame of another bytecode handler is hidden. In
    this case, the sample will be moved to a [misattributed] group to avoid
    skewing the profile of unrelated handlers.
    
    Misattributed samples and compilation routines are hidden by default.
    
    BUG=v8:4899
    LOG=N
    
    Review URL: https://codereview.chromium.org/1783503002
    
    Cr-Commit-Position: refs/heads/master@{#35574}
    8b5d4c74
Name
Last commit
Last update
..
blink_tests Loading commit data...
cfi Loading commit data...
gcmole Loading commit data...
generate_shim_headers Loading commit data...
gyp Loading commit data...
ignition Loading commit data...
jsfunfuzz Loading commit data...
luci-go Loading commit data...
ninja Loading commit data...
oom_dump Loading commit data...
perf Loading commit data...
perf_tests Loading commit data...
profviz Loading commit data...
release Loading commit data...
sanitizers Loading commit data...
sodium Loading commit data...
testrunner Loading commit data...
unittests Loading commit data...
v8.xcodeproj Loading commit data...
vim Loading commit data...
visual_studio Loading commit data...
DEPS Loading commit data...
OWNERS Loading commit data...
SourceMap.js Loading commit data...
android-build.sh Loading commit data...
android-ll-prof.sh Loading commit data...
android-run.py Loading commit data...
android-sync.sh Loading commit data...
bash-completion.sh Loading commit data...
check-inline-includes.sh Loading commit data...
check-static-initializers.gyp Loading commit data...
check-static-initializers.isolate Loading commit data...
check-static-initializers.sh Loading commit data...
check-unused-bailouts.sh Loading commit data...
codemap.js Loading commit data...
compare-table-gen.js Loading commit data...
concatenate-files.py Loading commit data...
consarray.js Loading commit data...
cpu.sh Loading commit data...
cross_build_gcc.sh Loading commit data...
csvparser.js Loading commit data...
detect-builtins.js Loading commit data...
disasm.py Loading commit data...
draw_instruction_graph.sh Loading commit data...
eval_gc_nvp.py Loading commit data...
eval_gc_time.sh Loading commit data...
external-reference-check.py Loading commit data...
find-commit-for-patch.py Loading commit data...
find_depot_tools.py Loading commit data...
freebsd-tick-processor Loading commit data...
fuzz-harness.sh Loading commit data...
gc-nvp-to-csv.py Loading commit data...
gc-nvp-trace-processor.py Loading commit data...
gc_nvp_common.py Loading commit data...
gdb-v8-support.py Loading commit data...
gdbinit Loading commit data...
gen-postmortem-metadata.py Loading commit data...
generate-builtins-tests.py Loading commit data...
generate-ten-powers.scm Loading commit data...
grokdump.py Loading commit data...
ic-explorer.html Loading commit data...
isolate_driver.py Loading commit data...
js2c.py Loading commit data...
jsmin.py Loading commit data...
linux-tick-processor Loading commit data...
ll_prof.py Loading commit data...
logreader.js Loading commit data...
mac-nm Loading commit data...
mac-tick-processor Loading commit data...
mingw-generate-makefiles.sh Loading commit data...
nacl-run.py Loading commit data...
parser-shell.cc Loading commit data...
parser-shell.gyp Loading commit data...
perf-to-html.py Loading commit data...
plot-timer-events Loading commit data...
presubmit.py Loading commit data...
process-heap-prof.py Loading commit data...
profile.js Loading commit data...
profile_view.js Loading commit data...
run-deopt-fuzzer.gyp Loading commit data...
run-deopt-fuzzer.isolate Loading commit data...
run-deopt-fuzzer.py Loading commit data...
run-llprof.sh Loading commit data...
run-perf.sh Loading commit data...
run-tests.py Loading commit data...
run-valgrind.gyp Loading commit data...
run-valgrind.isolate Loading commit data...
run-valgrind.py Loading commit data...
run.py Loading commit data...
run_perf.py Loading commit data...
shell-utils.h Loading commit data...
splaytree.js Loading commit data...
stats-viewer.py Loading commit data...
test-server.py Loading commit data...
tick-processor.html Loading commit data...
tickprocessor-driver.js Loading commit data...
tickprocessor.js Loading commit data...
trace-maps-processor.py Loading commit data...
try_perf.py Loading commit data...
v8-info.sh Loading commit data...
v8-rolls.sh Loading commit data...
v8heapconst.py Loading commit data...
v8heapconst.py.tmpl Loading commit data...
verify_source_deps.py Loading commit data...
whitespace.txt Loading commit data...
windows-tick-processor.bat Loading commit data...