Index: base/allocator/allocator_shim.cc |
diff --git a/base/allocator/allocator_shim.cc b/base/allocator/allocator_shim.cc |
index d61a9a47ff573d183ee372e6a01b740c2bebfc59..0c3844de566a4d952638df70e9ae638a78601f35 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_thunks.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) { |
+ MallocExtension::instance()->GetStats(buffer, buffer_length); |
willchan no longer on Chromium
2012/04/27 19:51:51
indent 2 spaces
|
+} |
+ |
+static void release_free_memory_thunk() { |
+ MallocExtension::instance()->ReleaseFreeMemory(); |
willchan no longer on Chromium
2012/04/27 19:51:51
ditto
|
+} |
+ |
// The CRT heap initialization stub. |
extern "C" int _heap_init() { |
#ifdef ENABLE_DYNAMIC_ALLOCATOR_SWITCHING |
@@ -273,6 +282,10 @@ extern "C" int _heap_init() { |
tcmalloc::ThreadCache::GetBytesAllocatedOnCurrentThread); |
} |
+ base::allocator::thunks::SetGetStatsFunction(get_stats_thunk); |
+ base::allocator::thunks::SetReleaseFreeMemoryFunction( |
+ release_free_memory_thunk); |
+ |
return 1; |
} |