Chromium Code Reviews

Issue 5139002: New heap profiler: include all heap objects and refs into snapshot. (Closed)

Created:
10 years, 1 month ago by mnaganov (inactive)
Modified:
9 years, 7 months ago
Reviewers:
Søren Thygesen Gjesse
CC:
v8-dev
Visibility:
Public.

Description

New heap profiler: include all heap objects and refs into snapshot. Otherwise, retaned memory sizes are not precise. This increases size of heap snapshot, I will deal with this later. Heap objects and references previously missing in snapshot are now marked as 'hidden'. That means, they not shown to user, but participate in sizes calculation. Other small changes: - added 'shortcut' graph edges: e.g. to pin global objects on top level; - meta-information in JSON snapshot is no more double encoded. Committed: http://code.google.com/p/v8/source/detail?r=5849

Patch Set 1 #

Total comments: 8
Unified diffs Side-by-side diffs Stats (+405 lines, -276 lines)
M include/v8-profiler.h View 2 chunks +8 lines, -3 lines 0 comments
M src/api.cc View 1 chunk +2 lines, -0 lines 0 comments
M src/heap-profiler.cc View 2 chunks +11 lines, -5 lines 0 comments
M src/profile-generator.h View 12 chunks +59 lines, -31 lines 2 comments
M src/profile-generator.cc View 41 chunks +278 lines, -152 lines 6 comments
M src/profile-generator-inl.h View 1 chunk +7 lines, -9 lines 0 comments
M test/cctest/test-heap-profiler.cc View 14 chunks +40 lines, -76 lines 0 comments

Messages

Total messages: 3 (0 generated)
mnaganov (inactive)
10 years, 1 month ago (2010-11-17 15:06:52 UTC) #1
Søren Thygesen Gjesse
LGTM http://codereview.chromium.org/5139002/diff/1/src/profile-generator.cc File src/profile-generator.cc (right): http://codereview.chromium.org/5139002/diff/1/src/profile-generator.cc#newcode1476 src/profile-generator.cc:1476: const uint64_t HeapObjectsMap::kGcRootsObjectId = 1; Please add kNumReservedObjectsIds ...
10 years, 1 month ago (2010-11-18 08:14:54 UTC) #2
mnaganov (inactive)
10 years, 1 month ago (2010-11-18 10:32:50 UTC) #3
Thanks!

http://codereview.chromium.org/5139002/diff/1/src/profile-generator.cc
File src/profile-generator.cc (right):

http://codereview.chromium.org/5139002/diff/1/src/profile-generator.cc#newcod...
src/profile-generator.cc:1476: const uint64_t HeapObjectsMap::kGcRootsObjectId =
1;
On 2010/11/18 08:14:54, Søren Gjesse wrote:
> Please add kNumReservedObjectsIds = 2 (maybe you can find a better name) and
use
> instead of 2 below.

OK, I've introduced kFirstAvailableObjectId.

http://codereview.chromium.org/5139002/diff/1/src/profile-generator.cc#newcod...
src/profile-generator.cc:1863: 
On 2010/11/18 08:14:54, Søren Gjesse wrote:
> Add empty line.

Done.

http://codereview.chromium.org/5139002/diff/1/src/profile-generator.cc#newcod...
src/profile-generator.cc:1914: HeapObjectsSet* knownReferences = NULL)
On 2010/11/18 08:14:54, Søren Gjesse wrote:
> knownReferences -> known_references

Done.

http://codereview.chromium.org/5139002/diff/1/src/profile-generator.h
File src/profile-generator.h (right):

http://codereview.chromium.org/5139002/diff/1/src/profile-generator.h#newcode703
src/profile-generator.h:703: static HeapObject *const kInternalRootObject;
On 2010/11/18 08:14:54, Søren Gjesse wrote:
> Move * closer to HeapObject.

Done.

Powered by Google App Engine