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#ifndef BASE_ALLOCATOR_ALLOCATOR_SHIM_H_
6#define BASE_ALLOCATOR_ALLOCATOR_SHIM_H_
7
8#include <stddef.h>
9
10namespace base {
11namespace allocator {
12
13// Resets the environment variable CHROME_ALLOCATOR to specify the choice to
14// be used by subprocesses.  Priority is given to the current value of
15// CHROME_ALLOCATOR_2 (if specified), then CHROME_ALLOCATOR (if specified), and
16// then a default value (typically set to TCMALLOC).
17void SetupSubprocessAllocator();
18
19// Expose some of tcmalloc functions for test.
20void* TCMallocDoMallocForTest(size_t size);
21void TCMallocDoFreeForTest(void* ptr);
22size_t ExcludeSpaceForMarkForTest(size_t size);
23
24}  // namespace allocator.
25}  // namespace base.
26
27#endif   // BASE_ALLOCATOR_ALLOCATOR_SHIM_H_
28