Chromium Code Reviews

Issue 200132: Add initial version of retainers heap profile. (Closed)

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

Description

Add initial version of retainers heap profile. The profile is taken together with constructors profile. In theory, it should represent a complete heap graph. However, this takes a lot of memory, so it is reduced to a more compact, but still useful form. Namely: - objects are aggregated by their constructors, except for Array and Object instances, that are too hetereogeneous; - for Arrays and Objects, initially every instance is concerned, but then they are grouped together based on their retainer graph paths similarity (e.g. if two objects has the same retainer, they are considered equal); Committed: http://code.google.com/p/v8/source/detail?r=2903

Patch Set 1 #

Total comments: 41

Patch Set 2 : Comments addressed #

Unified diffs Side-by-side diffs Stats (+1172 lines, -183 lines)
M src/SConscript View 1 chunk +9 lines, -8 lines 0 comments
M src/heap.h View 1 chunk +0 lines, -14 lines 0 comments
M src/heap.cc View 2 chunks +1 line, -158 lines 0 comments
A src/heap-profiler.h View 1 chunk +259 lines, -0 lines 0 comments
A src/heap-profiler.cc View 1 chunk +519 lines, -0 lines 0 comments
M src/log.h View 1 chunk +1 line, -0 lines 0 comments
M src/log.cc View 1 chunk +10 lines, -0 lines 0 comments
M src/string-stream.h View 1 chunk +1 line, -1 line 0 comments
M src/string-stream.cc View 1 chunk +1 line, -1 line 0 comments
M test/cctest/SConscript View 1 chunk +1 line, -0 lines 0 comments
A test/cctest/test-heap-profiler.cc View 1 chunk +323 lines, -0 lines 0 comments
M tools/gyp/v8.gyp View 1 chunk +2 lines, -0 lines 0 comments
M tools/v8.xcodeproj/project.pbxproj View 7 chunks +9 lines, -1 line 0 comments
M tools/visual_studio/v8_base.vcproj View 1 chunk +8 lines, -0 lines 0 comments
M tools/visual_studio/v8_base_arm.vcproj View 1 chunk +8 lines, -0 lines 0 comments
M tools/visual_studio/v8_base_x64.vcproj View 1 chunk +8 lines, -0 lines 0 comments
M tools/visual_studio/v8_cctest.vcproj View 1 chunk +4 lines, -0 lines 0 comments
M tools/visual_studio/v8_cctest_arm.vcproj View 1 chunk +4 lines, -0 lines 0 comments
M tools/visual_studio/v8_cctest_x64.vcproj View 1 chunk +4 lines, -0 lines 0 comments

Messages

Total messages: 4 (0 generated)
mnaganov (inactive)
11 years, 3 months ago (2009-09-15 15:34:04 UTC) #1
Søren Thygesen Gjesse
LGTM with comments. Are all the classes in the heap-profile.h used outside heap-profile.cc otherwise consider ...
11 years, 3 months ago (2009-09-16 10:35:18 UTC) #2
mnaganov (inactive)
> Are all the classes in the heap-profile.h used outside heap profile.cc otherwise > consider ...
11 years, 3 months ago (2009-09-16 13:33:52 UTC) #3
mnaganov (inactive)
11 years, 3 months ago (2009-09-16 14:50:27 UTC) #4
http://codereview.chromium.org/200132/diff/1/4
File src/heap-profiler.h (right):

http://codereview.chromium.org/200132/diff/1/4#newcode192
Line 192: static const int INITIAL_BACKREFS_LIST_CAPACITY = 2;
On 2009/09/16 10:35:18, Søren Gjesse wrote:
> Please use kXxxYyy format for constants (times 3).

Oops, sorry, I've skipped this one and below. Will fix in the next commit.

Powered by Google App Engine