v8/tools
ssanfilippo 8b5d4c74ec [Interpreter] Add Ignition profile visualization tool.
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}
2016-04-18 11:47:56 +00:00
..
blink_tests [test] Unskip layout tests after fixing bot. 2015-06-18 07:10:36 +00:00
cfi Port cfi blacklist from chromium. 2015-09-15 08:45:51 +00:00
gcmole Add include/ to include dir list for gcmole 2016-03-01 09:03:03 +00:00
generate_shim_headers Add dependency to ICU 4.6 2013-07-01 08:32:41 +00:00
gyp [turbofan] Effect linearization after representation inference. 2016-04-18 08:29:51 +00:00
ignition [Interpreter] Add Ignition profile visualization tool. 2016-04-18 11:47:56 +00:00
jsfunfuzz [Swarming] Isolate jsfunfuzz. 2016-02-18 15:24:48 +00:00
luci-go [swarming] Roll luci-go/isolate. 2016-02-05 09:03:35 +00:00
ninja [ycm] The YouCompleteMe configuration is not VIM specific. 2015-02-12 07:21:13 +00:00
oom_dump Reland "Merge old data and pointer space." 2015-04-07 11:32:10 +00:00
perf [benchmarks] Add R script for statistical tests on benchmark results 2016-02-05 12:29:58 +00:00
perf_tests Update performance baseline to newest chromium LKGR. 2013-07-04 07:32:57 +00:00
profviz Remove snapshot log parsing and option from tools. 2016-04-05 15:31:32 +00:00
release [release] Fix ambiguous tag names. 2016-04-13 11:55:25 +00:00
sanitizers [Coverage] Add sancov_formatter unittest for split. 2016-03-21 09:24:36 +00:00
sodium Add tool to visualize machine code/lithium. 2013-10-21 13:35:48 +00:00
testrunner [test] Simplify progress indicators. 2016-04-11 12:00:17 +00:00
unittests Revert of [tools] add --pretty switch to run_perf.py (patchset #8 id:140001 of https://codereview.chromium.org/1681283004/ ) 2016-02-16 12:56:43 +00:00
v8.xcodeproj Add support for building Xcode project files from GYP files 2011-06-09 09:07:17 +00:00
vim [ycm] The YouCompleteMe configuration is not VIM specific. 2015-02-12 07:21:13 +00:00
visual_studio Remove the Visual Studio project files 2011-05-02 13:43:13 +00:00
android-build.sh Rewrite Makefile rules for Android to allow parallel execution 2012-07-27 11:14:44 +00:00
android-ll-prof.sh Change default ARCH version in android low-level profiler script to 4.6 2012-10-08 11:11:30 +00:00
android-run.py Fix Android V8 path for testing on devices. 2013-06-28 07:31:23 +00:00
android-sync.sh Bug fix: A bug in android-sync tool 2016-01-28 11:06:27 +00:00
bash-completion.sh [tools] Fix tools/bash-completion.sh for bool flags and harmony features 2015-12-10 10:01:39 +00:00
check-inline-includes.sh Remove inline header includes from non-inline headers (1). 2015-08-12 07:32:54 +00:00
check-static-initializers.gyp [swarming] Isolate static initializer check. 2016-01-08 12:58:30 +00:00
check-static-initializers.isolate [swarming] Isolate static initializer check. 2016-01-08 12:58:30 +00:00
check-static-initializers.sh Reland^3 r22105 "Remove static initializer from isolate" 2014-07-07 10:56:36 +00:00
check-unused-bailouts.sh Remove unused bailout reasons. 2015-07-13 13:34:12 +00:00
codemap.js Tick processor: Print C++ entry points 2014-10-17 15:44:02 +00:00
compare-table-gen.js Add more exhaustive tests for Math.min and Math.max. 2015-04-10 12:35:16 +00:00
concatenate-files.py Support external startup data in V8. 2014-06-23 13:52:17 +00:00
consarray.js Make sure files end with exactly one new line and police this in presubmit. 2013-11-22 13:50:39 +00:00
cpu.sh [tools] Allow specifying cores for cpu.sh script. 2015-11-18 10:53:30 +00:00
cross_build_gcc.sh Fix tools/cross_build_gcc.sh. 2014-02-20 16:37:40 +00:00
csvparser.js Shorten constructor names in JS tickprocessor. 2011-02-10 07:47:28 +00:00
DEPS Add DEPS files and run checkdeps in presubmit check 2014-06-03 13:39:42 +00:00
detect-builtins.js Add a script that can generate simple test cases for user-exposed JS builtins 2014-09-11 09:58:58 +00:00
disasm.py ll_prof: Do not use the deprecated tempfile.mktemp() 2015-10-19 16:08:38 +00:00
draw_instruction_graph.sh Rename A64 port to ARM64 port 2014-03-21 09:28:26 +00:00
eval_gc_nvp.py [tools] Compute percentiles for GC NVP 2016-04-08 12:05:59 +00:00
eval_gc_time.sh Reland of "[heap] Better integrate handling of aborted compaction pages" 2016-04-14 11:07:20 +00:00
external-reference-check.py Moved the ExternalReferenceTable class to src/external-reference-table.cc/.h 2016-03-17 13:14:39 +00:00
find_depot_tools.py Prototype for a client-side performance trybot script. 2014-11-18 14:40:00 +00:00
find-commit-for-patch.py Add tools/find-commit-for-patch.py 2014-12-16 14:25:00 +00:00
freebsd-tick-processor * Fix build errors on FreeBSD 8.2 2011-03-16 11:15:43 +00:00
fuzz-harness.sh [Swarming] Allow overwriting archive location of fuzzer. 2016-02-18 14:07:02 +00:00
gc_nvp_common.py Clean up mark-compact phases and GC counter names. 2015-12-11 11:26:21 +00:00
gc-nvp-to-csv.py [tools] Add gc-nvp-to-csv.py script. 2015-06-19 10:40:47 +00:00
gc-nvp-trace-processor.py [tools] Add gc-nvp-to-csv.py script. 2015-06-19 10:40:47 +00:00
gdb-v8-support.py Fix missing "re" module import in GDB support script 2015-07-21 09:28:50 +00:00
gdbinit Special printing for type feedback vectors. 2015-07-15 12:22:03 +00:00
gen-postmortem-metadata.py Fix post-mortem data after frame-marking changes 2016-03-11 15:12:01 +00:00
generate-builtins-tests.py Add a script that can generate simple test cases for user-exposed JS builtins 2014-09-11 09:58:58 +00:00
generate-ten-powers.scm Fast double-to-ascii conversion. 2010-03-11 14:49:35 +00:00
grokdump.py Add ARM64 suppport to grokdump.py 2015-06-03 11:07:31 +00:00
ic-explorer.html [tools] improve the ic-explorer 2016-02-05 13:19:51 +00:00
isolate_driver.py [swarming] Add isolate driver. 2015-10-01 12:32:09 +00:00
js2c.py Implement flag and source getters on RegExp.prototype. 2015-11-05 13:08:55 +00:00
jsmin.py jsmin.py: Fix issue with escaping of back ticks 2015-06-24 22:29:46 +00:00
linux-tick-processor Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
ll_prof.py Fix annotated disassembly in ll_prof.py 2016-04-06 12:38:44 +00:00
logreader.js [tick processor] Introduce --pairwise-timed-range processing mode 2015-05-05 14:17:48 +00:00
mac-nm Fix mac-nm script to support filenames w/spaces 2009-08-13 14:03:12 +00:00
mac-tick-processor Implement shared libraries logging on Mac OS X, added required support in Tick Processor. 2009-07-14 05:01:06 +00:00
mingw-generate-makefiles.sh MinGW: Add Cygwin-free Makefile generation script 2013-04-15 08:43:18 +00:00
nacl-run.py Use the pnacl-clang toolchain for (P)NaCL builds 2014-10-06 08:10:50 +00:00
OWNERS Add initial set of sub directory OWNERS file 2015-04-02 08:46:24 +00:00
parser-shell.cc Expose a lower bound of malloc'd memory via heap statistics 2016-04-01 10:01:56 +00:00
parser-shell.gyp Rework startup-data-util. 2015-08-14 12:11:46 +00:00
perf-to-html.py perf-to-html.py - render JSON try perf jobs in a pleasing way. 2015-03-27 09:52:25 +00:00
plot-timer-events Fix bug in tools/plot-timer-events 2014-06-06 08:15:05 +00:00
presubmit.py [presubmit] Disable linter check for alpha-sorted includes. 2016-03-22 12:27:12 +00:00
process-heap-prof.py Added check for trailing whitespaces and corrected existing violations. 2011-09-01 11:28:10 +00:00
profile_view.js Tick processor: improved [Summary] section 2014-08-04 08:31:49 +00:00
profile.js Profiler improvements 2015-01-20 16:06:09 +00:00
run_perf.py Revert of [tools] add --pretty switch to run_perf.py (patchset #8 id:140001 of https://codereview.chromium.org/1681283004/ ) 2016-02-16 12:56:43 +00:00
run-deopt-fuzzer.gyp [Swarming] Isolate deopt fuzzer. 2016-02-18 10:48:21 +00:00
run-deopt-fuzzer.isolate [Swarming] Isolate deopt fuzzer. 2016-02-18 10:48:21 +00:00
run-deopt-fuzzer.py S390: Initial test changes and files checkin. 2016-03-15 18:09:36 +00:00
run-llprof.sh Fix tools/run-llprof.sh to work with newer perf. 2014-10-09 06:01:41 +00:00
run-perf.sh Add Linux perf profiling wrapper script. 2016-03-10 18:50:48 +00:00
run-tests.py [test] Rework how default timeout is handled. 2016-04-08 12:11:39 +00:00
run-valgrind.gyp [Swarming] Isolate valgrind runner. 2016-02-15 12:47:54 +00:00
run-valgrind.isolate [Swarming] Isolate valgrind runner. 2016-02-15 12:47:54 +00:00
run-valgrind.py [test] Clean up valgrind runner. 2016-01-14 10:42:32 +00:00
run.py First cut at run_mksnapshot action for gn 2014-06-03 06:50:46 +00:00
shell-utils.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
SourceMap.js Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
splaytree.js Remove support for logging into a memory buffer. 2011-07-13 11:31:22 +00:00
stats-viewer.py tools/stats-viewer: Update chromium stats table layout. 2011-05-25 16:47:54 +00:00
test-server.py Change deprecated comments that still talk about SCons. 2013-04-23 08:58:23 +00:00
tick-processor.html Remove snapshot log parsing and option from tools. 2016-04-05 15:31:32 +00:00
tickprocessor-driver.js Remove snapshot log parsing and option from tools. 2016-04-05 15:31:32 +00:00
tickprocessor.js tools: fix tickprocessor Cpp symbols on mac 2016-04-13 12:19:58 +00:00
trace-maps-processor.py Add FLAG_trace_maps 2014-11-07 16:03:44 +00:00
try_perf.py Add a revision flag for try_perf.py 2016-02-17 12:13:18 +00:00
v8-info.sh Add public version macros. 2015-02-26 08:59:23 +00:00
v8-rolls.sh Adding useful scripts to parse revision info. 2013-06-12 10:39:52 +00:00
v8heapconst.py Update tools/v8heapconst.py. 2016-02-08 08:14:50 +00:00
v8heapconst.py.tmpl Generate grokdump constants with 'make grokdump' now. 2013-08-02 09:02:02 +00:00
verify_source_deps.py Fix missing source dependencies. 2015-06-26 14:24:52 +00:00
whitespace.txt Whitespace change after adding more ignition test coverage. 2016-03-15 08:22:35 +00:00
windows-tick-processor.bat Add source map support to tick processor. 2013-08-23 17:20:54 +00:00