| Index: base/allocator/allocator_shim.cc
|
| diff --git a/base/allocator/allocator_shim.cc b/base/allocator/allocator_shim.cc
|
| index d61a9a47ff573d183ee372e6a01b740c2bebfc59..63639b2c95d7125c04d7d7f8110590f172287b39 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);
|
| +}
|
| +
|
| +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,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;
|
| }
|
|
|
|
|