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..2cfa99c7a5589f05022da9f10dd0ecdd35eb722c 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, |
| @@ -391,6 +394,22 @@ void DiscardableSharedMemoryHeap::OnMemoryDump( |
| } |
| // static |
| +void DiscardableSharedMemoryHeap::CreateAllocatedObjectsDump( |
| + 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 be dumped with |
| + // kDiscardableSegmentsDumpName as the patent and is owned by the |
|
petrcermak
2015/07/29 17:04:07
s/is/will be/
petrcermak
2015/07/29 17:04:07
s/patent/parent
ssid
2015/07/29 17:08:37
Done.
|
| + // sub-allocations dumped with kAllocatedObjectsDumpName as the parent. |
|
petrcermak
2015/07/29 17:04:07
nit: s/the/their/
ssid
2015/07/29 17:08:37
Done.
|
| + pmd->AddOwnershipEdge(objects_dump->guid(), |
| + discardable_segments_dump->guid()); |
| +} |
| + |
| +// static |
| base::trace_event::MemoryAllocatorDumpGuid |
| DiscardableSharedMemoryHeap::GetSegmentGUIDForTracing(uint64 tracing_process_id, |
| int32 segment_id) { |