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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124832 0039d316-1c4b-4281-b951-d872f2087c98


CrOS-Libchrome-Original-Commit: d2a95102b1c460746ce64c3ad47442cf2bda0f5e
2 files changed
tree: 9301558125bae94a3631672af72fbe4d79ed65ee
  1. base/
  2. build/
  3. dbus/
  4. ipc/
  5. testing/
  6. third_party/