Reviewers: alph, loislo, Hannes Payer, Sven Panne,
Message:
Hannes, please review the part that changed compared to r17301 which you
have
already reviewed. It is in "Patch Set #2" (patch set #1 is exact copy of
r17301).
Description:
Record allocation stack traces
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 report allocation at the moment when we
already know address of the new object but hasn't changed the heap yet.
BUG=chromium:277984,v8:2949
Please review this at https://codereview.chromium.org/34733004/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+727, -35 lines):
A src/allocation-tracker.h
A src/allocation-tracker.cc
M src/heap-snapshot-generator.h
M src/heap-snapshot-generator.cc
M src/spaces-inl.h
M src/spaces.h
M src/spaces.cc
M test/cctest/test-heap-profiler.cc
M tools/gyp/v8.gyp
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.