• 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
benchmarks Loading commit data...
build Loading commit data...
docs Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...