Index: third_party/tcmalloc/chromium/src/heap-profile-table.h |
diff --git a/third_party/tcmalloc/chromium/src/heap-profile-table.h b/third_party/tcmalloc/chromium/src/heap-profile-table.h |
index c9bee151e96291fe5db447ac84bd8f874f5890d4..0e9ef8c308c1f759d180c950400fd11472206f3b 100644 |
--- a/third_party/tcmalloc/chromium/src/heap-profile-table.h |
+++ b/third_party/tcmalloc/chromium/src/heap-profile-table.h |
@@ -181,6 +181,9 @@ class HeapProfileTable { |
// Caller must call ReleaseSnapshot() on result when no longer needed. |
Snapshot* NonLiveSnapshot(Snapshot* base); |
+ void MMapRecordBegin() { mmap_record_ = true; } |
+ void MMapRecordEnd() { mmap_record_ = false; } |
+ |
private: |
// data types ---------------------------- |
@@ -325,6 +328,10 @@ class HeapProfileTable { |
// Map of all currently allocated objects we know about. |
AllocationMap* allocation_; |
+ // Mmap allocations are saved in a separate map |
+ // because mmap and tcmalloc allocations could have the same address |
+ AllocationMap* allocation_mmap_; |
+ bool mmap_record_; |
DISALLOW_COPY_AND_ASSIGN(HeapProfileTable); |
}; |