Chromium Code Reviews| Index: content/common/discardable_shared_memory_heap.cc |
| diff --git a/content/common/discardable_shared_memory_heap.cc b/content/common/discardable_shared_memory_heap.cc |
| index 958fa82554efecf5d9c4dee25bb6206cf7e891c9..da30ba262c4a7b534f4bfd2b51c190323ee3d145 100644 |
| --- a/content/common/discardable_shared_memory_heap.cc |
| +++ b/content/common/discardable_shared_memory_heap.cc |
| @@ -22,6 +22,8 @@ bool IsInFreeList(DiscardableSharedMemoryHeap::Span* span) { |
| return span->previous() || span->next(); |
| } |
| +const char kDiscardableSegmentsDumpName[] = "discardable/segments"; |
| + |
| } // namespace |
| DiscardableSharedMemoryHeap::Span::Span( |
| @@ -225,6 +227,7 @@ size_t DiscardableSharedMemoryHeap::GetSizeOfFreeLists() const { |
| bool DiscardableSharedMemoryHeap::OnMemoryDump( |
| base::trace_event::ProcessMemoryDump* pmd) { |
| + CreateAllocatedObjectsDump(pmd); |
| std::for_each( |
| memory_segments_.begin(), memory_segments_.end(), |
| [pmd](const ScopedMemorySegment* segment) { |
| @@ -356,8 +359,8 @@ void DiscardableSharedMemoryHeap::OnMemoryDump( |
| offset += span->length_; |
| } |
| - std::string segment_dump_name = |
| - base::StringPrintf("discardable/segment_%d", segment_id); |
| + std::string segment_dump_name = base::StringPrintf( |
| + "%s/segment_%d", kDiscardableSegmentsDumpName, segment_id); |
| base::trace_event::MemoryAllocatorDump* segment_dump = |
| pmd->CreateAllocatorDump(segment_dump_name); |
| segment_dump->AddScalar(base::trace_event::MemoryAllocatorDump::kNameSize, |
| @@ -390,6 +393,21 @@ void DiscardableSharedMemoryHeap::OnMemoryDump( |
| pmd->AddOwnershipEdge(segment_dump->guid(), shared_segment_guid, kImportance); |
| } |
| +void DiscardableSharedMemoryHeap::CreateAllocatedObjectsDump( |
|
petrcermak
2015/07/29 16:38:59
nit: I think you should say "// static" above the
ssid
2015/07/29 16:57:37
Done.
|
| + base::trace_event::ProcessMemoryDump* pmd) { |
| + base::trace_event::MemoryAllocatorDump* objects_dump = |
| + pmd->CreateAllocatorDump( |
| + base::DiscardableSharedMemory::kAllocatedObjectsDumpName); |
| + base::trace_event::MemoryAllocatorDump* discardable_segments_dump = |
| + pmd->CreateAllocatorDump(kDiscardableSegmentsDumpName); |
| + |
| + // The discardable memory segments will contain kDiscardableSegmentsDumpName |
|
petrcermak
2015/07/29 16:38:59
This is reversed. The dump called kDiscardableSegm
ssid
2015/07/29 16:57:37
Done.
|
| + // as the root and will own any sub-allocations with kAllocatedObjectsDumpName |
|
petrcermak
2015/07/29 16:38:59
Probably "parent" or "ancestor" instead of "root"
petrcermak
2015/07/29 16:38:59
s/own/be owned by/
ssid
2015/07/29 16:57:37
Done.
|
| + // as the root. |
| + pmd->AddOwnershipEdge(objects_dump->guid(), |
| + discardable_segments_dump->guid()); |
| +} |
| + |
| // static |
| base::trace_event::MemoryAllocatorDumpGuid |
| DiscardableSharedMemoryHeap::GetSegmentGUIDForTracing(uint64 tracing_process_id, |