| Index: base/trace_event/process_memory_dump.h
|
| diff --git a/base/trace_event/process_memory_dump.h b/base/trace_event/process_memory_dump.h
|
| index 45a973964231fa7d794b2be72d3175871970720b..d632d45a7ce5bb2eb509bbbc42b8080b7c574c27 100644
|
| --- a/base/trace_event/process_memory_dump.h
|
| +++ b/base/trace_event/process_memory_dump.h
|
| @@ -7,6 +7,7 @@
|
|
|
| #include <stddef.h>
|
|
|
| +#include <map>
|
| #include <unordered_map>
|
| #include <vector>
|
|
|
| @@ -43,6 +44,7 @@ class BASE_EXPORT ProcessMemoryDump {
|
| MemoryAllocatorDumpGuid target;
|
| int importance;
|
| const char* type;
|
| + bool overridable;
|
| };
|
|
|
| // Maps allocator dumps absolute names (allocator_name/heap/subheap) to
|
| @@ -53,6 +55,10 @@ class BASE_EXPORT ProcessMemoryDump {
|
| using HeapDumpsMap =
|
| std::unordered_map<std::string, std::unique_ptr<TracedValue>>;
|
|
|
| + // Stores allocator dump edges indexed by source allocator dump GUID.
|
| + using AllocatorDumpEdgesMap =
|
| + std::map<MemoryAllocatorDumpGuid, MemoryAllocatorDumpEdge>;
|
| +
|
| #if defined(COUNT_RESIDENT_BYTES_SUPPORTED)
|
| // Returns the number of bytes in a kernel memory page. Some platforms may
|
| // have a different value for kernel page sizes from user page sizes. It is
|
| @@ -135,7 +141,14 @@ class BASE_EXPORT ProcessMemoryDump {
|
| void AddOwnershipEdge(const MemoryAllocatorDumpGuid& source,
|
| const MemoryAllocatorDumpGuid& target);
|
|
|
| - const std::vector<MemoryAllocatorDumpEdge>& allocator_dumps_edges() const {
|
| + // Adds edges that can be overriden by a later or earlier call to
|
| + // AddOwnershipEdge() with the same source and target with a different
|
| + // |importance| value.
|
| + void AddOverridableOwnershipEdge(const MemoryAllocatorDumpGuid& source,
|
| + const MemoryAllocatorDumpGuid& target,
|
| + int importance);
|
| +
|
| + const AllocatorDumpEdgesMap& allocator_dumps_edges_for_testing() const {
|
| return allocator_dumps_edges_;
|
| }
|
|
|
| @@ -200,7 +213,7 @@ class BASE_EXPORT ProcessMemoryDump {
|
| scoped_refptr<MemoryDumpSessionState> session_state_;
|
|
|
| // Keeps track of relationships between MemoryAllocatorDump(s).
|
| - std::vector<MemoryAllocatorDumpEdge> allocator_dumps_edges_;
|
| + AllocatorDumpEdgesMap allocator_dumps_edges_;
|
|
|
| // Level of detail of the current dump.
|
| const MemoryDumpArgs dump_args_;
|
|
|