diff options
Diffstat (limited to 'content')
-rw-r--r-- | content/app/content_main_runner.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/content/app/content_main_runner.cc b/content/app/content_main_runner.cc index 88a72e8..58dc14b 100644 --- a/content/app/content_main_runner.cc +++ b/content/app/content_main_runner.cc @@ -4,6 +4,8 @@ #include "content/public/app/content_main_runner.h" +#include <stdlib.h> + #include "base/allocator/allocator_extension.h" #include "base/at_exit.h" #include "base/command_line.h" @@ -17,6 +19,7 @@ #include "base/metrics/stats_table.h" #include "base/path_service.h" #include "base/process_util.h" +#include "base/profiler/alternate_timer.h" #include "base/stringprintf.h" #include "base/string_number_conversions.h" #include "content/browser/browser_main.h" @@ -450,6 +453,17 @@ static void ReleaseFreeMemoryThunk() { // On windows, we've already set these thunks up in _heap_init() base::allocator::SetGetStatsFunction(GetStatsThunk); base::allocator::SetReleaseFreeMemoryFunction(ReleaseFreeMemoryThunk); + + // Provide optional hook for monitoring allocation quantities on a + // per-thread basis. Only set the hook if the environment indicates this + // needs to be enabled. + const char* profiling = getenv(tracked_objects::kAlternateProfilerTime); + if (profiling && + (atoi(profiling) == tracked_objects::TIME_SOURCE_TYPE_TCMALLOC)) { + tracked_objects::SetAlternateTimeSource( + MallocExtension::GetBytesAllocatedOnCurrentThread, + tracked_objects::TIME_SOURCE_TYPE_TCMALLOC); + } #endif // On Android, |