Go to file
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
benchmarks Fix bug in nextWeaker function of deltablue benchmark. 2013-10-25 13:21:46 +00:00
build Fix shared library build after r17692. 2013-11-13 12:59:49 +00:00
include Deprecate v8::Locker::{Start,Stop}Preemption 2013-11-14 11:37:32 +00:00
samples Add explicit Isolate parameter to External::New 2013-11-12 11:44:58 +00:00
src 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
test 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
tools 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
.gitignore Migrate to new test status file syntax 2013-09-24 12:08:33 +00:00
AUTHORS Fix a crash when generating forward jumps to labels at very high assembly offsets 2013-08-01 08:13:08 +00:00
ChangeLog Prepare push to trunk. Now working on version 3.23.5. 2013-11-14 10:54:36 +00:00
DEPS Update V8's dependencies: 2013-07-31 13:41:12 +00:00
LICENSE Update LICENSE file 2012-01-03 16:38:42 +00:00
LICENSE.strongtalk Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.v8 Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.valgrind Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
Makefile Use a fixed random seed per default. 2013-11-07 12:01:26 +00:00
Makefile.android Enable building for android on x86_64 machines. 2013-07-17 08:37:48 +00:00
Makefile.nacl Turn on i18n support by default 2013-09-19 12:07:03 +00:00
OWNERS Add ishell@ to OWNERS. 2013-10-21 13:52:12 +00:00
PRESUBMIT.py Scripts should not care about closed tree when committing. 2013-09-24 13:35:45 +00:00
WATCHLISTS Add myself to a watchlist for the public API. 2013-10-10 11:37:48 +00:00