Index: third_party/tcmalloc/chromium/src/malloc_extension.cc |
diff --git a/third_party/tcmalloc/chromium/src/malloc_extension.cc b/third_party/tcmalloc/chromium/src/malloc_extension.cc |
index e9a0da7e2e36075c29bec75b8b0702890da0ec20..2d6497f4e740a7c512d720dc49b0134b4f31671c 100644 |
--- a/third_party/tcmalloc/chromium/src/malloc_extension.cc |
+++ b/third_party/tcmalloc/chromium/src/malloc_extension.cc |
@@ -45,9 +45,10 @@ |
#include "base/dynamic_annotations.h" |
#include "base/sysinfo.h" // for FillProcSelfMaps |
#ifndef NO_HEAP_CHECK |
-#include "google/heap-checker.h" |
+#include "gperftools/heap-checker.h" |
#endif |
-#include "google/malloc_extension.h" |
+#include "gperftools/malloc_extension.h" |
+#include "gperftools/malloc_extension_c.h" |
#include "maybe_threads.h" |
using STL_NAMESPACE::string; |
@@ -107,9 +108,9 @@ SysAllocator::~SysAllocator() {} |
// Default implementation -- does nothing |
MallocExtension::~MallocExtension() { } |
bool MallocExtension::VerifyAllMemory() { return true; } |
-bool MallocExtension::VerifyNewMemory(void* p) { return true; } |
-bool MallocExtension::VerifyArrayNewMemory(void* p) { return true; } |
-bool MallocExtension::VerifyMallocMemory(void* p) { return true; } |
+bool MallocExtension::VerifyNewMemory(const void* p) { return true; } |
+bool MallocExtension::VerifyArrayNewMemory(const void* p) { return true; } |
+bool MallocExtension::VerifyMallocMemory(const void* p) { return true; } |
bool MallocExtension::GetNumericProperty(const char* property, size_t* value) { |
return false; |
@@ -176,10 +177,15 @@ size_t MallocExtension::GetEstimatedAllocatedSize(size_t size) { |
return size; |
} |
-size_t MallocExtension::GetAllocatedSize(void* p) { |
+size_t MallocExtension::GetAllocatedSize(const void* p) { |
+ assert(GetOwnership(p) != kNotOwned); |
return 0; |
} |
+MallocExtension::Ownership MallocExtension::GetOwnership(const void* p) { |
+ return kUnknownOwnership; |
+} |
+ |
void MallocExtension::GetFreeListSizes( |
vector<MallocExtension::FreeListInfo>* v) { |
v->clear(); |
@@ -238,11 +244,11 @@ void PrintCountAndSize(MallocExtensionWriter* writer, |
uintptr_t count, uintptr_t size) { |
char buf[100]; |
snprintf(buf, sizeof(buf), |
- "%6lld: %8lld [%6lld: %8lld] @", |
- static_cast<long long>(count), |
- static_cast<long long>(size), |
- static_cast<long long>(count), |
- static_cast<long long>(size)); |
+ "%6"PRIu64": %8"PRIu64" [%6"PRIu64": %8"PRIu64"] @", |
+ static_cast<uint64>(count), |
+ static_cast<uint64>(size), |
+ static_cast<uint64>(count), |
+ static_cast<uint64>(size)); |
writer->append(buf, strlen(buf)); |
} |
@@ -337,9 +343,9 @@ void MallocExtension::Ranges(void* arg, RangeFunction func) { |
} |
C_SHIM(VerifyAllMemory, int, (void), ()); |
-C_SHIM(VerifyNewMemory, int, (void* p), (p)); |
-C_SHIM(VerifyArrayNewMemory, int, (void* p), (p)); |
-C_SHIM(VerifyMallocMemory, int, (void* p), (p)); |
+C_SHIM(VerifyNewMemory, int, (const void* p), (p)); |
+C_SHIM(VerifyArrayNewMemory, int, (const void* p), (p)); |
+C_SHIM(VerifyMallocMemory, int, (const void* p), (p)); |
C_SHIM(MallocMemoryStats, int, |
(int* blocks, size_t* total, int histogram[kMallocHistogramSize]), |
(blocks, total, histogram)); |
@@ -356,4 +362,11 @@ C_SHIM(MarkThreadBusy, void, (void), ()); |
C_SHIM(ReleaseFreeMemory, void, (void), ()); |
C_SHIM(ReleaseToSystem, void, (size_t num_bytes), (num_bytes)); |
C_SHIM(GetEstimatedAllocatedSize, size_t, (size_t size), (size)); |
-C_SHIM(GetAllocatedSize, size_t, (void* p), (p)); |
+C_SHIM(GetAllocatedSize, size_t, (const void* p), (p)); |
+ |
+// Can't use the shim here because of the need to translate the enums. |
+extern "C" |
+MallocExtension_Ownership MallocExtension_GetOwnership(const void* p) { |
+ return static_cast<MallocExtension_Ownership>( |
+ MallocExtension::instance()->GetOwnership(p)); |
+} |