• Peter Marshall's avatar
    [cpu-profiler] Add a new profiling mode with a more detailed call tree. · ecae80cd
    Peter Marshall authored
    The current profiling mode (called kLeafNodeLineNumbers in this CL)
    produces a tree, with each node representing a stack frame that is seen
    in one or more samples taken during profiling. These nodes refer to a
    particular function in a stack trace, but not to a particular line or
    callsite within that function.
    
    This CL adds a new more (called kCallerLineNumbers) which produces a
    different profile tree, where each stack trace seen during profiling,
    including the line number, has a unique path in the tree.
    
    The profile tree was previously keyed on CodeEntry*. Now it is keyed on
    the pair of CodeEntry* and line_number, meaning it has distinct nodes
    for those combinations which exist, and each distinct stack trace that
    was sampled is represented in the tree.
    
    For optimized code where we have inline frames, there are no line
    numbers for the inline frames in the stack trace, causing duplicate
    branches in the tree with kNoLineNumberInfo as the reported line number.
    This will be addressed in follow-ups.
    
    Bug: v8:7018
    Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
    Change-Id: I512e221508f5b50ec028306d212263b514a9fb24
    Reviewed-on: https://chromium-review.googlesource.com/1013493
    Commit-Queue: Peter Marshall <petermarshall@chromium.org>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53298}
    ecae80cd
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni 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 Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython 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.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind 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...