1// Copyright 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#if defined(TYPE_PROFILING) 6 7#include "base/allocator/type_profiler_tcmalloc.h" 8 9#include "base/allocator/type_profiler_control.h" 10#include "third_party/tcmalloc/chromium/src/gperftools/heap-profiler.h" 11#include "third_party/tcmalloc/chromium/src/gperftools/type_profiler_map.h" 12 13namespace base { 14namespace type_profiler { 15 16void* NewInterceptForTCMalloc(void* ptr, 17 size_t size, 18 const std::type_info& type) { 19 if (Controller::IsProfiling()) 20 InsertType(ptr, size, type); 21 22 return ptr; 23} 24 25void* DeleteInterceptForTCMalloc(void* ptr, 26 size_t size, 27 const std::type_info& type) { 28 if (Controller::IsProfiling()) 29 EraseType(ptr); 30 31 return ptr; 32} 33 34} // namespace type_profiler 35} // namespace base 36 37#endif // defined(TYPE_PROFILING) 38