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. 4 5 #include "base/allocator/allocator_extension_thunks.h" 6 7 #include <cstddef> // for NULL 8 9 namespace base { 10 namespace allocator { 11 namespace thunks { 12 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 18 // logging. 19 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; 23 SetGetAllocatorWasteSizeFunction(GetAllocatorWasteSizeFunction get_allocator_waste_size_function)24void SetGetAllocatorWasteSizeFunction( 25 GetAllocatorWasteSizeFunction get_allocator_waste_size_function) { 26 g_get_allocator_waste_size_function = get_allocator_waste_size_function; 27 } 28 GetGetAllocatorWasteSizeFunction()29GetAllocatorWasteSizeFunction GetGetAllocatorWasteSizeFunction() { 30 return g_get_allocator_waste_size_function; 31 } 32 SetGetStatsFunction(GetStatsFunction get_stats_function)33void SetGetStatsFunction(GetStatsFunction get_stats_function) { 34 g_get_stats_function = get_stats_function; 35 } 36 GetGetStatsFunction()37GetStatsFunction GetGetStatsFunction() { 38 return g_get_stats_function; 39 } 40 SetReleaseFreeMemoryFunction(ReleaseFreeMemoryFunction release_free_memory_function)41void SetReleaseFreeMemoryFunction( 42 ReleaseFreeMemoryFunction release_free_memory_function) { 43 g_release_free_memory_function = release_free_memory_function; 44 } 45 GetReleaseFreeMemoryFunction()46ReleaseFreeMemoryFunction GetReleaseFreeMemoryFunction() { 47 return g_release_free_memory_function; 48 } 49 50 } // namespace thunks 51 } // namespace allocator 52 } // namespace base 53