v8/tools
yurys@chromium.org c7b1b79e4d This is the exact copy of r17365 which was reverted in r17488 due to memory corruption. The root cause for the memory corruption - missing check for bump pointer limit before storing filler map must be addressed in r17626 where allocation hooks were removed from the generated code and left only in the runtime.
This is initial implementation of allocation profiler.

Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.

Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.

This patch is r17301 plus a fix for the test crash in debug mode. The test crashed because we were traversing stack trace when just allocated object wasn't completely configured, in particular the map pointer was incorrect. Invalid Map pointer broke heap iteration required to find Code object for a given pc during stack traversal. The solution is to insert free space filler in the newly allocated block just before collecting stack trace.

BUG=chromium:277984,v8:2949
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/61893031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 12:13:26 +00:00
..
blink_tests Adapt test expectations for blink test. 2013-07-30 08:50:59 +00:00
gcmole updates 2013-08-14 12:53:09 +00:00
generate_shim_headers Add dependency to ICU 4.6 2013-07-01 08:32:41 +00:00
gyp This is the exact copy of r17365 which was reverted in r17488 due to memory corruption. The root cause for the memory corruption - missing check for bump pointer limit before storing filler map must be addressed in r17626 where allocation hooks were removed from the generated code and left only in the runtime. 2013-11-14 12:13:26 +00:00
oom_dump Keep two empty lines between declarations for cpp files 2013-07-05 09:52:11 +00:00
perf_tests Update performance baseline to newest chromium LKGR. 2013-07-04 07:32:57 +00:00
profviz Restrict recorded execution pauses to the required range. 2013-09-27 13:45:17 +00:00
push-to-trunk Add more test coverage to push-to-trunk script. 2013-11-12 13:11:15 +00:00
sodium Add tool to visualize machine code/lithium. 2013-10-21 13:35:48 +00:00
testrunner [Sheriff] Mark flaky test. 2013-10-31 11:48:31 +00:00
v8.xcodeproj Add support for building Xcode project files from GYP files 2011-06-09 09:07:17 +00:00
visual_studio
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 Remove obsolete preparser binary. 2013-10-04 16:21:23 +00:00
bash-completion.sh Bash completion for d8: fix directory name completion 2012-02-08 17:20:35 +00:00
check-static-initializers.sh Change deprecated comments that still talk about SCons. 2013-04-23 08:58:23 +00:00
codemap.js Eliminate the need for code delete events in CPU profiler. 2011-09-14 11:47:03 +00:00
common-includes.sh push-to-trunk.sh/merge-to-branch.sh: use "git apply" instead of "patch" to apply patches 2012-10-05 08:58:02 +00:00
consarray.js
csvparser.js
disasm.py Add ARM support to tools/grokdump.py 2013-01-07 09:48:04 +00:00
freebsd-tick-processor
fuzz-harness.sh Fix harness for fuzzer to run for 100 iterations only. 2012-05-23 07:55:38 +00:00
gc-nvp-trace-processor.py Align tools/gc-nvp-trace-processor.py with --trace-gc-nvp output. 2011-12-15 09:41:28 +00:00
gdb-v8-support.py Added check for trailing whitespaces and corrected existing violations. 2011-09-01 11:28:10 +00:00
gen-postmortem-metadata.py Add additional postmortem debugging metadata to support decoding two-byte 2013-10-14 13:08:52 +00:00
generate-ten-powers.scm
grokdump.py Fix string and descriptor array decoding in grokdump. 2013-09-19 09:37:31 +00:00
js2c.py Add simple inline macros to js2c and use that for typed array constructors. 2013-11-05 14:08:03 +00:00
jsmin.py Fixing python deprecations. 2012-05-21 10:19:28 +00:00
lexer-shell.cc Add a flag to lexer-shell to replicate input file. 2013-11-13 18:16:19 +00:00
lexer-shell.gyp Add lexer-shell for running lexer benchmarks. 2013-11-13 12:26:09 +00:00
linux-tick-processor Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
ll_prof.py llprof improvements 2012-12-07 12:51:33 +00:00
logreader.js Fixing presubmit. 2011-09-15 13:20:42 +00:00
mac-nm
mac-tick-processor
merge-to-branch.sh Scripts should not care about closed tree when committing. 2013-09-24 13:35:45 +00:00
mingw-generate-makefiles.sh MinGW: Add Cygwin-free Makefile generation script 2013-04-15 08:43:18 +00:00
nacl-run.py A helper script for testing Native Client builds of V8. 2013-04-09 08:31:17 +00:00
plot-timer-events Add better consistency check and error output to plot script. 2013-09-04 15:19:21 +00:00
presubmit.py Reland "Make Array.prototype.pop throw if the last element is not configurable." 2013-10-25 11:55:56 +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
profile.js Revert accidental r9229 and r9230 2011-09-12 10:50:40 +00:00
push-to-trunk.sh Scripts should not care about closed tree when committing. 2013-09-24 13:35:45 +00:00
run-deopt-fuzzer.py Skip tests failing on the no-i18n bot 2013-09-20 13:13:57 +00:00
run-llprof.sh llprof improvements 2012-12-07 12:51:33 +00:00
run-tests.py Add no-variants option to test runner. 2013-10-31 10:14:02 +00:00
run-valgrind.py Unify the shebang line of python scripts 2013-01-29 10:40:43 +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-push-to-trunk.sh Add test for push-to-trunk script. 2013-10-22 06:59:35 +00:00
test-server.py Change deprecated comments that still talk about SCons. 2013-04-23 08:58:23 +00:00
tick-processor.html Add HTML-based tick processor 2012-12-12 15:06:50 +00:00
tickprocessor-driver.js Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
tickprocessor.js Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
v8-info.sh Add sample usage / output and -u option 2013-06-12 15:36:11 +00:00
v8-rolls.sh Adding useful scripts to parse revision info. 2013-06-12 10:39:52 +00:00
v8heapconst.py Out-of-line constant pool on Arm: Stage 2 - Introduce ConstantPoolArray object. 2013-10-14 13:35:06 +00:00
v8heapconst.py.tmpl Generate grokdump constants with 'make grokdump' now. 2013-08-02 09:02:02 +00:00
windows-tick-processor.bat Add source map support to tick processor. 2013-08-23 17:20:54 +00:00