| Index: content/app/content_main_runner.cc | 
| diff --git a/content/app/content_main_runner.cc b/content/app/content_main_runner.cc | 
| index aabe6a311be2ac8d26a7dd4f6334cbff8e195a26..98b6dd8f8be41feb0d53589414d5125f1c6c67e0 100644 | 
| --- a/content/app/content_main_runner.cc | 
| +++ b/content/app/content_main_runner.cc | 
| @@ -49,6 +49,10 @@ | 
|  | 
| #if defined(USE_TCMALLOC) | 
| #include "third_party/tcmalloc/chromium/src/gperftools/malloc_extension.h" | 
| +#if defined(TYPE_PROFILING) | 
| +#include "base/allocator/type_profiler.h" | 
| +#include "base/allocator/type_profiler_tcmalloc.h" | 
| +#endif | 
| #endif | 
|  | 
| #if defined(OS_WIN) | 
| @@ -503,13 +507,20 @@ static void ReleaseFreeMemoryThunk() { | 
| const char** argv, | 
| ContentMainDelegate* delegate) OVERRIDE { | 
|  | 
| -    // NOTE(willchan): One might ask why this call is done here rather than in | 
| -    // process_util_linux.cc with the definition of | 
| +    // NOTE(willchan): One might ask why these TCMalloc-related calls are done | 
| +    // here rather than in process_util_linux.cc with the definition of | 
| // EnableTerminationOnOutOfMemory().  That's because base shouldn't have a | 
| // dependency on TCMalloc.  Really, we ought to have our allocator shim code | 
| // implement this EnableTerminationOnOutOfMemory() function.  Whateverz. | 
| // This works for now. | 
| #if !defined(OS_MACOSX) && defined(USE_TCMALLOC) | 
| + | 
| +#if defined(TYPE_PROFILING) | 
| +    base::type_profiler::InterceptFunctions::SetFunctions( | 
| +        base::type_profiler::NewInterceptForTCMalloc, | 
| +        base::type_profiler::DeleteInterceptForTCMalloc); | 
| +#endif | 
| + | 
| // For tcmalloc, we need to tell it to behave like new. | 
| tc_set_new_mode(1); | 
|  | 
|  |