1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/allocator/allocator_extension_thunks.h"
7 #include <cstddef> // for NULL
13 // This slightly odd translation unit exists because of the peculularity of how
14 // allocator_unittests work on windows. That target has to perform
15 // tcmalloc-specific initialization on windows, but it cannot depend on base
16 // otherwise. This target sits in the middle - base and allocator_unittests
17 // can depend on it. This file can't depend on anything else in base, including
20 static GetAllocatorWasteSizeFunction g_get_allocator_waste_size_function
= NULL
;
21 static GetStatsFunction g_get_stats_function
= NULL
;
22 static ReleaseFreeMemoryFunction g_release_free_memory_function
= NULL
;
24 void SetGetAllocatorWasteSizeFunction(
25 GetAllocatorWasteSizeFunction get_allocator_waste_size_function
) {
26 g_get_allocator_waste_size_function
= get_allocator_waste_size_function
;
29 GetAllocatorWasteSizeFunction
GetGetAllocatorWasteSizeFunction() {
30 return g_get_allocator_waste_size_function
;
33 void SetGetStatsFunction(GetStatsFunction get_stats_function
) {
34 g_get_stats_function
= get_stats_function
;
37 GetStatsFunction
GetGetStatsFunction() {
38 return g_get_stats_function
;
41 void SetReleaseFreeMemoryFunction(
42 ReleaseFreeMemoryFunction release_free_memory_function
) {
43 g_release_free_memory_function
= release_free_memory_function
;
46 ReleaseFreeMemoryFunction
GetReleaseFreeMemoryFunction() {
47 return g_release_free_memory_function
;
51 } // namespace allocator