From 25f599029155c5550d6ce29f55bc46b766a6c92d Mon Sep 17 00:00:00 2001 From: "dmikurube@google.com" Date: Sat, 3 Mar 2012 07:58:30 +0000 Subject: Revert 124832 - Update the tcmalloc chromium branch to r144 (gperftools 2.0), and merge chromium-specific changes. The major reason for us is to enable a fix for HEAP_PROFILE_MMAP. This change merges tcmalloc r144 (gperftools 2.0 f.k.a. google-perftools) with the tcmalloc/chromium branch, which is the forked Chromium version of tcmalloc. The change is created by 3-way merge from 1) the original google-perftools r109 ( = vendor base), 2) the original gperftools 2.0 r144 ( = branch), and 3) the chromium branch ( = another branch) with the following additional changes : * base/allocator/allocator.gyp is modified. * Many [#include "third_party/tcmalloc/chromium/src/google/..."] are replaced with "gperftools/". (Many files in Chromium) * gperftools/tcmalloc.h (formerly google/tcmalloc.h) is replaced with the original (generated) one. * windows/gperftools/tcmalloc.h (formerly windows/google/tcmalloc.h) is replaced with the original (generated) one. * malloc_hook-like functions are moved to libc_override*.h in gperftools 2.0. Some changes due to it. * MALLOC_HOOK_MAYBE_VOLATILE is redefined using __MALLOC_HOOK_VOLATILE. (config.h, tcmalloc.cc and libc_override_glibc.h) * The macro "CRASH(...)" is replaced with "Log(kCrash, __FILE__, __LINE__, ...)". (Many files) * LARGE_PAGE-related parameters (which may affect performance?) are merged. (common.h) * RAW_VLOG() calls are removed. (base/googleinit.h) * sys_{mmap|munmap|mremap}(...) calls are tentatively replaced with syscall(SYS_{mmap|munmap|mremap}, ...). (malloc_hook_mmap_linux.h) * tc_mallinfo is declared only when HAVE_STRUCT_MALLINFO is defined. (gperftools/tcmalloc.h) * "libc_override_redefine.h" is not included in Windows. (libc_override.h) * Chromium-original "sys_alloc" is not declared. (windows/port.cc) * base/spinlock_win32-inl.h is reverted from r144 because 64-bit atomicops are not implemented on Windows. (base/atomicops-internals-windows.h) The vendor branch is updated in another change. BUG=114302 TEST=run all existing tests. Review URL: https://chromiumcodereview.appspot.com/9311003 TBR=dmikurube@google.com Review URL: https://chromiumcodereview.appspot.com/9581043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124833 0039d316-1c4b-4281-b951-d872f2087c98 --- base/allocator/allocator.gyp | 62 +++++++++++++++---------------------------- base/debug/leak_annotations.h | 2 +- base/debug/profiler.cc | 2 +- 3 files changed, 23 insertions(+), 43 deletions(-) (limited to 'base') diff --git a/base/allocator/allocator.gyp b/base/allocator/allocator.gyp index 9b5ecc0..c3c7964 100644 --- a/base/allocator/allocator.gyp +++ b/base/allocator/allocator.gyp @@ -54,6 +54,7 @@ '<(tcmalloc_dir)/src/addressmap-inl.h', '<(tcmalloc_dir)/src/base/atomicops-internals-linuxppc.h', '<(tcmalloc_dir)/src/base/arm_instruction_set_select.h', + '<(tcmalloc_dir)/src/base/atomicops-internals-arm-gcc.h', '<(tcmalloc_dir)/src/base/atomicops-internals-arm-generic.h', '<(tcmalloc_dir)/src/base/atomicops-internals-arm-v6plus.h', '<(tcmalloc_dir)/src/base/atomicops-internals-macosx.h', @@ -67,8 +68,6 @@ # We don't list dynamic_annotations.c since its copy is already # present in the dynamic_annotations target. '<(tcmalloc_dir)/src/base/dynamic_annotations.h', - '<(tcmalloc_dir)/src/base/elf_mem_image.cc', - '<(tcmalloc_dir)/src/base/elf_mem_image.h', '<(tcmalloc_dir)/src/base/elfcore.h', '<(tcmalloc_dir)/src/base/googleinit.h', '<(tcmalloc_dir)/src/base/linux_syscall_support.h', @@ -103,15 +102,15 @@ '<(tcmalloc_dir)/src/free_list.cc', '<(tcmalloc_dir)/src/free_list.h', '<(tcmalloc_dir)/src/getpc.h', - '<(tcmalloc_dir)/src/gperftools/heap-checker.h', - '<(tcmalloc_dir)/src/gperftools/heap-profiler.h', - '<(tcmalloc_dir)/src/gperftools/malloc_extension.h', - '<(tcmalloc_dir)/src/gperftools/malloc_extension_c.h', - '<(tcmalloc_dir)/src/gperftools/malloc_hook.h', - '<(tcmalloc_dir)/src/gperftools/malloc_hook_c.h', - '<(tcmalloc_dir)/src/gperftools/profiler.h', - '<(tcmalloc_dir)/src/gperftools/stacktrace.h', - '<(tcmalloc_dir)/src/gperftools/tcmalloc.h', + '<(tcmalloc_dir)/src/google/heap-checker.h', + '<(tcmalloc_dir)/src/google/heap-profiler.h', + '<(tcmalloc_dir)/src/google/malloc_extension.h', + '<(tcmalloc_dir)/src/google/malloc_extension_c.h', + '<(tcmalloc_dir)/src/google/malloc_hook.h', + '<(tcmalloc_dir)/src/google/malloc_hook_c.h', + '<(tcmalloc_dir)/src/google/profiler.h', + '<(tcmalloc_dir)/src/google/stacktrace.h', + '<(tcmalloc_dir)/src/google/tcmalloc.h', '<(tcmalloc_dir)/src/heap-checker-bcad.cc', '<(tcmalloc_dir)/src/heap-checker.cc', '<(tcmalloc_dir)/src/heap-profile-table.cc', @@ -119,17 +118,10 @@ '<(tcmalloc_dir)/src/heap-profiler.cc', '<(tcmalloc_dir)/src/internal_logging.cc', '<(tcmalloc_dir)/src/internal_logging.h', - '<(tcmalloc_dir)/src/libc_override.h', - '<(tcmalloc_dir)/src/libc_override_gcc_and_weak.h', - '<(tcmalloc_dir)/src/libc_override_glibc.h', - '<(tcmalloc_dir)/src/libc_override_osx.h', - '<(tcmalloc_dir)/src/libc_override_redefine.h', '<(tcmalloc_dir)/src/linked_list.h', '<(tcmalloc_dir)/src/malloc_extension.cc', '<(tcmalloc_dir)/src/malloc_hook-inl.h', '<(tcmalloc_dir)/src/malloc_hook.cc', - '<(tcmalloc_dir)/src/malloc_hook_mmap_freebsd.h', - '<(tcmalloc_dir)/src/malloc_hook_mmap_linux.h', '<(tcmalloc_dir)/src/maybe_threads.cc', '<(tcmalloc_dir)/src/maybe_threads.h', '<(tcmalloc_dir)/src/memfs_malloc.cc', @@ -154,7 +146,6 @@ '<(tcmalloc_dir)/src/stack_trace_table.cc', '<(tcmalloc_dir)/src/stack_trace_table.h', '<(tcmalloc_dir)/src/stacktrace.cc', - '<(tcmalloc_dir)/src/stacktrace_arm-inl.h', '<(tcmalloc_dir)/src/stacktrace_config.h', '<(tcmalloc_dir)/src/stacktrace_generic-inl.h', '<(tcmalloc_dir)/src/stacktrace_libunwind-inl.h', @@ -162,6 +153,7 @@ '<(tcmalloc_dir)/src/stacktrace_win32-inl.h', '<(tcmalloc_dir)/src/stacktrace_with_context.cc', '<(tcmalloc_dir)/src/stacktrace_x86-inl.h', + '<(tcmalloc_dir)/src/stacktrace_x86_64-inl.h', '<(tcmalloc_dir)/src/static_vars.cc', '<(tcmalloc_dir)/src/static_vars.h', '<(tcmalloc_dir)/src/symbolize.cc', @@ -174,7 +166,7 @@ '<(tcmalloc_dir)/src/thread_cache.h', '<(tcmalloc_dir)/src/windows/config.h', '<(tcmalloc_dir)/src/windows/get_mangled_names.cc', - '<(tcmalloc_dir)/src/windows/gperftools/tcmalloc.h', + '<(tcmalloc_dir)/src/windows/google/tcmalloc.h', '<(tcmalloc_dir)/src/windows/ia32_modrm_map.cc', '<(tcmalloc_dir)/src/windows/ia32_opcode_map.cc', '<(tcmalloc_dir)/src/windows/mingw.h', @@ -219,7 +211,6 @@ '<(tcmalloc_dir)/src/base/basictypes.h', '<(tcmalloc_dir)/src/base/commandlineflags.h', '<(tcmalloc_dir)/src/base/cycleclock.h', - '<(tcmalloc_dir)/src/base/elf_mem_image.h', '<(tcmalloc_dir)/src/base/elfcore.h', '<(tcmalloc_dir)/src/base/googleinit.h', '<(tcmalloc_dir)/src/base/linux_syscall_support.h', @@ -230,27 +221,17 @@ '<(tcmalloc_dir)/src/base/stl_allocator.h', '<(tcmalloc_dir)/src/base/thread_annotations.h', '<(tcmalloc_dir)/src/getpc.h', - '<(tcmalloc_dir)/src/gperftools/heap-checker.h', - '<(tcmalloc_dir)/src/gperftools/heap-profiler.h', - '<(tcmalloc_dir)/src/gperftools/malloc_extension.h', - '<(tcmalloc_dir)/src/gperftools/malloc_extension_c.h', - '<(tcmalloc_dir)/src/gperftools/malloc_hook.h', - '<(tcmalloc_dir)/src/gperftools/malloc_hook_c.h', - '<(tcmalloc_dir)/src/gperftools/profiler.h', - '<(tcmalloc_dir)/src/gperftools/stacktrace.h', - '<(tcmalloc_dir)/src/gperftools/tcmalloc.h', - '<(tcmalloc_dir)/src/libc_override.h', - '<(tcmalloc_dir)/src/libc_override_gcc_and_weak.h', - '<(tcmalloc_dir)/src/libc_override_glibc.h', - '<(tcmalloc_dir)/src/libc_override_osx.h', - '<(tcmalloc_dir)/src/libc_override_redefine.h', - '<(tcmalloc_dir)/src/malloc_hook_mmap_freebsd.h', - '<(tcmalloc_dir)/src/malloc_hook_mmap_linux.h', + '<(tcmalloc_dir)/src/google/heap-checker.h', + '<(tcmalloc_dir)/src/google/heap-profiler.h', + '<(tcmalloc_dir)/src/google/malloc_extension_c.h', + '<(tcmalloc_dir)/src/google/malloc_hook.h', + '<(tcmalloc_dir)/src/google/malloc_hook_c.h', + '<(tcmalloc_dir)/src/google/profiler.h', + '<(tcmalloc_dir)/src/google/stacktrace.h', '<(tcmalloc_dir)/src/memfs_malloc.cc', '<(tcmalloc_dir)/src/packed-cache-inl.h', '<(tcmalloc_dir)/src/page_heap_allocator.h', '<(tcmalloc_dir)/src/pagemap.h', - '<(tcmalloc_dir)/src/stacktrace_arm-inl.h', '<(tcmalloc_dir)/src/stacktrace_config.h', '<(tcmalloc_dir)/src/stacktrace_generic-inl.h', '<(tcmalloc_dir)/src/stacktrace_libunwind-inl.h', @@ -258,9 +239,10 @@ '<(tcmalloc_dir)/src/stacktrace_win32-inl.h', '<(tcmalloc_dir)/src/stacktrace_with_context.cc', '<(tcmalloc_dir)/src/stacktrace_x86-inl.h', + '<(tcmalloc_dir)/src/stacktrace_x86_64-inl.h', '<(tcmalloc_dir)/src/tcmalloc_guard.h', '<(tcmalloc_dir)/src/windows/config.h', - '<(tcmalloc_dir)/src/windows/gperftools/tcmalloc.h', + '<(tcmalloc_dir)/src/windows/google/tcmalloc.h', '<(tcmalloc_dir)/src/windows/get_mangled_names.cc', '<(tcmalloc_dir)/src/windows/ia32_modrm_map.cc', '<(tcmalloc_dir)/src/windows/ia32_opcode_map.cc', @@ -309,8 +291,6 @@ '<(tcmalloc_dir)/src/windows', ], 'sources!': [ - '<(tcmalloc_dir)/src/base/elf_mem_image.cc', - '<(tcmalloc_dir)/src/base/elf_mem_image.h', '<(tcmalloc_dir)/src/base/linuxthreads.cc', '<(tcmalloc_dir)/src/base/linuxthreads.h', '<(tcmalloc_dir)/src/base/vdso_support.cc', diff --git a/base/debug/leak_annotations.h b/base/debug/leak_annotations.h index 5ebf9d8..1f8b28a 100644 --- a/base/debug/leak_annotations.h +++ b/base/debug/leak_annotations.h @@ -10,7 +10,7 @@ #if defined(OS_POSIX) && !defined(OS_MACOSX) && defined(USE_HEAPCHECKER) -#include "third_party/tcmalloc/chromium/src/gperftools/heap-checker.h" +#include "third_party/tcmalloc/chromium/src/google/heap-checker.h" // Annotate a program scope as having memory leaks. Tcmalloc's heap leak // checker will ignore them. Note that these annotations may mask real bugs diff --git a/base/debug/profiler.cc b/base/debug/profiler.cc index e1f2514..4195057 100644 --- a/base/debug/profiler.cc +++ b/base/debug/profiler.cc @@ -15,7 +15,7 @@ #endif // defined(OS_WIN) #if defined(ENABLE_PROFILING) && !defined(NO_TCMALLOC) -#include "third_party/tcmalloc/chromium/src/gperftools/profiler.h" +#include "third_party/tcmalloc/chromium/src/google/profiler.h" #endif namespace base { -- cgit v1.1