Index: base/allocator/allocator_shim.cc |
diff --git a/base/allocator/allocator_shim.cc b/base/allocator/allocator_shim.cc |
index d61a9a47ff573d183ee372e6a01b740c2bebfc59..b5686b27c02677b4a96cae97874ca600ee582c66 100644 |
--- a/base/allocator/allocator_shim.cc |
+++ b/base/allocator/allocator_shim.cc |
@@ -5,6 +5,7 @@ |
#include "base/allocator/allocator_shim.h" |
#include <config.h> |
+#include "base/allocator/allocator_extension.h" |
#include "base/profiler/alternate_timer.h" |
#include "base/sysinfo.h" |
@@ -229,6 +230,14 @@ extern "C" intptr_t _get_heap_handle() { |
return 0; |
} |
+static void get_stats_thunk(char* buffer, int buffer_length) { |
willchan no longer on Chromium
2012/04/26 22:08:48
CamelCase naming.
|
+ MallocExtension::instance()->GetStats(buffer, buffer_length); |
+} |
+ |
+static void release_free_memory_thunk() { |
+ MallocExtension::instance()->ReleaseFreeMemory(); |
+} |
+ |
// The CRT heap initialization stub. |
extern "C" int _heap_init() { |
#ifdef ENABLE_DYNAMIC_ALLOCATOR_SWITCHING |
@@ -273,6 +282,9 @@ extern "C" int _heap_init() { |
tcmalloc::ThreadCache::GetBytesAllocatedOnCurrentThread); |
} |
+ base::allocator::SetGetStatsFunction(get_stats_thunk); |
+ base::allocator::SetReleaseFreeMemoryFunction(release_free_memory_thunk); |
+ |
return 1; |
} |