v8/include
Peter Marshall ecae80cdb3 [cpu-profiler] Add a new profiling mode with a more detailed call tree.
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: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53298}
2018-05-23 09:23:40 +00:00
..
libplatform [libplatform] Deprecate EnsureEventLoopInitialized 2018-05-09 14:56:54 +00:00
APIDesign.md Replace <> with &lt;&gt; in md docs 2017-06-12 10:09:12 +00:00
DEPS [inspector] Build inspector under v8_enable_inspector build flag. 2016-09-06 23:26:35 +00:00
OWNERS Add Ulan to API owners and make it noparent. 2018-04-03 09:41:11 +00:00
PRESUBMIT.py [CQ] Let presubmit scripts point to correct LUCI bots 2018-02-27 23:26:51 +00:00
v8-inspector-protocol.h [inspector] Build inspector under v8_enable_inspector build flag. 2016-09-06 23:26:35 +00:00
v8-inspector.h Provide API to expose non-empty top source url. 2018-05-07 20:47:19 +00:00
v8-platform.h [V8Platform] Remove deprecated Background threads APIs and make new APIs pure virtual. 2018-05-16 23:27:02 +00:00
v8-profiler.h [cpu-profiler] Add a new profiling mode with a more detailed call tree. 2018-05-23 09:23:40 +00:00
v8-testing.h Remove easy to remove calls to Isolate::Current() from api.cc 2015-11-30 08:16:59 +00:00
v8-util.h remove SetReference from PersistentValueMapBase. 2018-01-19 13:40:51 +00:00
v8-value-serializer-version.h Expose the ValueSerializer data format version as a compile-time constant. 2017-04-27 15:14:41 +00:00
v8-version-string.h [build] Fix V8_VERSION_STRING with embedder string 2017-10-23 14:31:52 +00:00
v8-version.h Update version to 6.8 2018-04-12 10:58:04 +00:00
v8.h [api] Expose PreviewEntries as public API 2018-05-17 08:04:33 +00:00
v8config.h [bigint] Add big endian support for BigInts serialization 2018-04-25 08:29:20 +00:00