15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef BASE_ALLOCATOR_ALLOCATOR_SHIM_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_ALLOCATOR_ALLOCATOR_SHIM_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include <stddef.h> 9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace base { 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace allocator { 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Resets the environment variable CHROME_ALLOCATOR to specify the choice to 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// be used by subprocesses. Priority is given to the current value of 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// CHROME_ALLOCATOR_2 (if specified), then CHROME_ALLOCATOR (if specified), and 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// then a default value (typically set to TCMALLOC). 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void SetupSubprocessAllocator(); 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Expose some of tcmalloc functions for test. 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void* TCMallocDoMallocForTest(size_t size); 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TCMallocDoFreeForTest(void* ptr); 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)size_t ExcludeSpaceForMarkForTest(size_t size); 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace allocator. 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace base. 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // BASE_ALLOCATOR_ALLOCATOR_SHIM_H_ 28