| // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #include "base/allocator/allocator_extension_thunks.h" | 
 |  | 
 | #include <cstddef> // for NULL | 
 |  | 
 | namespace base { | 
 | namespace allocator { | 
 | namespace thunks { | 
 |  | 
 | // This slightly odd translation unit exists because of the peculularity of how | 
 | // allocator_unittests work on windows.  That target has to perform | 
 | // tcmalloc-specific initialization on windows, but it cannot depend on base | 
 | // otherwise. This target sits in the middle - base and allocator_unittests | 
 | // can depend on it. This file can't depend on anything else in base, including | 
 | // logging. | 
 |  | 
 | static GetAllocatorWasteSizeFunction g_get_allocator_waste_size_function = NULL; | 
 | static GetStatsFunction g_get_stats_function = NULL; | 
 | static ReleaseFreeMemoryFunction g_release_free_memory_function = NULL; | 
 |  | 
 | void SetGetAllocatorWasteSizeFunction( | 
 |     GetAllocatorWasteSizeFunction get_allocator_waste_size_function) { | 
 |   g_get_allocator_waste_size_function = get_allocator_waste_size_function; | 
 | } | 
 |  | 
 | GetAllocatorWasteSizeFunction GetGetAllocatorWasteSizeFunction() { | 
 |   return g_get_allocator_waste_size_function; | 
 | } | 
 |  | 
 | void SetGetStatsFunction(GetStatsFunction get_stats_function) { | 
 |   g_get_stats_function = get_stats_function; | 
 | } | 
 |  | 
 | GetStatsFunction GetGetStatsFunction() { | 
 |   return g_get_stats_function; | 
 | } | 
 |  | 
 | void SetReleaseFreeMemoryFunction( | 
 |     ReleaseFreeMemoryFunction release_free_memory_function) { | 
 |   g_release_free_memory_function = release_free_memory_function; | 
 | } | 
 |  | 
 | ReleaseFreeMemoryFunction GetReleaseFreeMemoryFunction() { | 
 |   return g_release_free_memory_function; | 
 | } | 
 |  | 
 | }  // namespace thunks | 
 | }  // namespace allocator | 
 | }  // namespace base |