• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)24 void SetGetAllocatorWasteSizeFunction(
25     GetAllocatorWasteSizeFunction get_allocator_waste_size_function) {
26   g_get_allocator_waste_size_function = get_allocator_waste_size_function;
27 }
28 
GetGetAllocatorWasteSizeFunction()29 GetAllocatorWasteSizeFunction GetGetAllocatorWasteSizeFunction() {
30   return g_get_allocator_waste_size_function;
31 }
32 
SetGetStatsFunction(GetStatsFunction get_stats_function)33 void SetGetStatsFunction(GetStatsFunction get_stats_function) {
34   g_get_stats_function = get_stats_function;
35 }
36 
GetGetStatsFunction()37 GetStatsFunction GetGetStatsFunction() {
38   return g_get_stats_function;
39 }
40 
SetReleaseFreeMemoryFunction(ReleaseFreeMemoryFunction release_free_memory_function)41 void SetReleaseFreeMemoryFunction(
42     ReleaseFreeMemoryFunction release_free_memory_function) {
43   g_release_free_memory_function = release_free_memory_function;
44 }
45 
GetReleaseFreeMemoryFunction()46 ReleaseFreeMemoryFunction GetReleaseFreeMemoryFunction() {
47   return g_release_free_memory_function;
48 }
49 
50 }  // namespace thunks
51 }  // namespace allocator
52 }  // namespace base
53