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.h" 6 7 #include "base/logging.h" 8 9 namespace base { 10 namespace allocator { 11 12 namespace { 13 ReleaseFreeMemoryFunction g_release_free_memory_function = nullptr; 14 GetNumericPropertyFunction g_get_numeric_property_function = nullptr; 15 } 16 ReleaseFreeMemory()17void ReleaseFreeMemory() { 18 if (g_release_free_memory_function) 19 g_release_free_memory_function(); 20 } 21 GetNumericProperty(const char * name,size_t * value)22bool GetNumericProperty(const char* name, size_t* value) { 23 return g_get_numeric_property_function && 24 g_get_numeric_property_function(name, value); 25 } 26 SetReleaseFreeMemoryFunction(ReleaseFreeMemoryFunction release_free_memory_function)27void SetReleaseFreeMemoryFunction( 28 ReleaseFreeMemoryFunction release_free_memory_function) { 29 DCHECK(!g_release_free_memory_function); 30 g_release_free_memory_function = release_free_memory_function; 31 } 32 SetGetNumericPropertyFunction(GetNumericPropertyFunction get_numeric_property_function)33void SetGetNumericPropertyFunction( 34 GetNumericPropertyFunction get_numeric_property_function) { 35 DCHECK(!g_get_numeric_property_function); 36 g_get_numeric_property_function = get_numeric_property_function; 37 } 38 39 } // namespace allocator 40 } // namespace base 41