| Index: third_party/tcmalloc/vendor/src/memory_region_map.cc
|
| diff --git a/third_party/tcmalloc/vendor/src/memory_region_map.cc b/third_party/tcmalloc/vendor/src/memory_region_map.cc
|
| index 3bf8983c4cf55873be3fdeffe0242b9f445b0e10..1a8117248055988d996bd8110e9e18c3a66024db 100644
|
| --- a/third_party/tcmalloc/vendor/src/memory_region_map.cc
|
| +++ b/third_party/tcmalloc/vendor/src/memory_region_map.cc
|
| @@ -122,8 +122,8 @@
|
| #include "base/low_level_alloc.h"
|
| #include "malloc_hook-inl.h"
|
|
|
| -#include <google/stacktrace.h>
|
| -#include <google/malloc_hook.h>
|
| +#include <gperftools/stacktrace.h>
|
| +#include <gperftools/malloc_hook.h>
|
|
|
| // MREMAP_FIXED is a linux extension. How it's used in this file,
|
| // setting it to 0 is equivalent to saying, "This feature isn't
|
| @@ -145,6 +145,8 @@ SpinLock MemoryRegionMap::owner_lock_( // ACQUIRED_AFTER(lock_)
|
| SpinLock::LINKER_INITIALIZED);
|
| int MemoryRegionMap::recursion_count_ = 0; // GUARDED_BY(owner_lock_)
|
| pthread_t MemoryRegionMap::lock_owner_tid_; // GUARDED_BY(owner_lock_)
|
| +int64 MemoryRegionMap::map_size_ = 0;
|
| +int64 MemoryRegionMap::unmap_size_ = 0;
|
|
|
| // ========================================================================= //
|
|
|
| @@ -462,6 +464,7 @@ void MemoryRegionMap::RecordRegionAddition(const void* start, size_t size) {
|
| reinterpret_cast<void*>(region.caller()));
|
| // Note: none of the above allocates memory.
|
| Lock(); // recursively lock
|
| + map_size_ += size;
|
| InsertRegionLocked(region);
|
| // This will (eventually) allocate storage for and copy over the stack data
|
| // from region.call_stack_data_ that is pointed by region.call_stack().
|
| @@ -573,6 +576,7 @@ void MemoryRegionMap::RecordRegionRemoval(const void* start, size_t size) {
|
| reinterpret_cast<void*>(end_addr),
|
| regions_->size());
|
| if (VLOG_IS_ON(12)) LogAllLocked();
|
| + unmap_size_ += size;
|
| Unlock();
|
| }
|
|
|
|
|