Closed GoogleCodeExporter closed 9 years ago
Sounds good. Keep us up to date on your progress.
Original comment by chapp...@gmail.com
on 10 Mar 2013 at 8:39
It is done in Chromium. I'll be uploading my patch to fix it.
A little more details just in case:
The original mmap profiler (HEAP_PROFILE_MMAP) actually does similar counting.
The difference is that the original accumulates memory regions for each
stacktrace in HeapProfileTable for every dump request.
HeapProfileTable reads mmap's stacktraces from |call_stack| in
MemoryRegionMap::Region, adds them for each stacktrace, dumps merged heap
profile and finally removes the accumulated mmap profiles. This per-stacktrace
accumulation is done in HeapProfileTable::RefreshMMapData in the current
version, and was done in AddRemoveMMapDataLocked (heap-profiler.cc) previously.
The root problem is repeating addition and removal for every dump request. My
patch will change it to stop the repeating and to accumulate once in mmap hook.
Original comment by dmikurube@chromium.org
on 18 Mar 2013 at 5:23
Please find the patch attached.
(If recent gperftools has some code review process, I'll upload the patch to
the code review site.)
Original comment by dmikurube@chromium.org
on 18 Mar 2013 at 5:54
Attachments:
I'm not sure of the recent policy of license headers in new files.
This patch adds a new file "heap-profile-stats.h". I added Google's license
header in it at this time since I'm also working for Google. If you have a
more appropriate header, please tell me that.
Original comment by dmikurube@chromium.org
on 18 Mar 2013 at 5:56
applied. Thanks.
Honestly speaking I did not have time to deeply review this stuff. But I assume
that Chromium folks did a proper review.
Original comment by alkondratenko
on 4 Aug 2013 at 4:20
Original issue reported on code.google.com by
dmikurube@chromium.org
on 8 Mar 2013 at 12:01