diff options
-rw-r--r-- | base/allocator/allocator.gyp | 39 | ||||
-rw-r--r-- | base/allocator/allocator_shim.cc | 2 | ||||
-rw-r--r-- | base/allocator/debugallocation_shim.cc | 9 | ||||
-rw-r--r-- | build/common.gypi | 3 |
4 files changed, 22 insertions, 31 deletions
diff --git a/base/allocator/allocator.gyp b/base/allocator/allocator.gyp index fc4b902..f669298 100644 --- a/base/allocator/allocator.gyp +++ b/base/allocator/allocator.gyp @@ -203,7 +203,6 @@ 'allocator_shim.cc', 'allocator_shim.h', - 'debugallocation_shim.cc', 'generic_allocators.cc', 'win_allocator.cc', ], @@ -213,10 +212,6 @@ 'generic_allocators.cc', 'win_allocator.cc', - # Included by debugallocation_shim.cc. - '<(tcmalloc_dir)/src/debugallocation.cc', - '<(tcmalloc_dir)/src/tcmalloc.cc', - # We simply don't use these, but list them above so that IDE # users can view the full available source for reference, etc. '<(tcmalloc_dir)/src/addressmap-inl.h', @@ -305,21 +300,6 @@ 'RuntimeLibrary': '0', }, }, - 'variables': { - # Provide a way to force disable debugallocation in Debug builds, - # e.g. for profiling (it's more rare to profile Debug builds, - # but people sometimes need to do that). - 'disable_debugallocation%': 0, - }, - 'conditions': [ - ['disable_debugallocation==0', { - 'defines': [ - # Use debugallocation for Debug builds to catch problems early - # and cleanly, http://crbug.com/30715 . - 'TCMALLOC_FOR_DEBUGALLOCATION', - ], - }], - ], }, }, 'conditions': [ @@ -366,7 +346,7 @@ '<(tcmalloc_dir)/src/system-alloc.h', # included by allocator_shim.cc - 'debugallocation_shim.cc', + '<(tcmalloc_dir)/src/tcmalloc.cc', # heap-profiler/checker/cpuprofiler '<(tcmalloc_dir)/src/base/thread_lister.c', @@ -385,6 +365,9 @@ '<(tcmalloc_dir)/src/profile-handler.cc', '<(tcmalloc_dir)/src/profile-handler.h', '<(tcmalloc_dir)/src/profiler.cc', + + # debugallocation + '<(tcmalloc_dir)/src/debugallocation.cc', ], }], ['OS=="linux" or OS=="freebsd" or OS=="solaris"', { @@ -431,6 +414,20 @@ '-fvtable-verify=preinit', ], }], + [ 'linux_use_debugallocation==1', { + 'sources!': [ + # debugallocation.cc #includes tcmalloc.cc, + # so only one of them should be used. + '<(tcmalloc_dir)/src/tcmalloc.cc', + ], + 'defines': [ + 'TCMALLOC_FOR_DEBUGALLOCATION', + ], + }, { # linux_use_debugallocation != 1 + 'sources!': [ + '<(tcmalloc_dir)/src/debugallocation.cc', + ], + }], [ 'linux_keep_shadow_stacks==1', { 'sources': [ '<(tcmalloc_dir)/src/linux_shadow_stacks.cc', diff --git a/base/allocator/allocator_shim.cc b/base/allocator/allocator_shim.cc index 5acc533..bcc84aa 100644 --- a/base/allocator/allocator_shim.cc +++ b/base/allocator/allocator_shim.cc @@ -56,7 +56,7 @@ static const char secondary_name[] = "CHROME_ALLOCATOR_2"; // We include tcmalloc and the win_allocator to get as much inlining as // possible. -#include "debugallocation_shim.cc" +#include "tcmalloc.cc" #include "win_allocator.cc" // Forward declarations from jemalloc. diff --git a/base/allocator/debugallocation_shim.cc b/base/allocator/debugallocation_shim.cc deleted file mode 100644 index d1cf52a..0000000 --- a/base/allocator/debugallocation_shim.cc +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#if defined(TCMALLOC_FOR_DEBUGALLOCATION) -#include "third_party/tcmalloc/chromium/src/debugallocation.cc" -#else -#include "third_party/tcmalloc/chromium/src/tcmalloc.cc" -#endif diff --git a/build/common.gypi b/build/common.gypi index 5bd509d..e06636c 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -792,6 +792,9 @@ # Enable TCMalloc. 'linux_use_tcmalloc%': 1, + # Disable TCMalloc's debugallocation. + 'linux_use_debugallocation%': 0, + # Disable TCMalloc's heapchecker. 'linux_use_heapchecker%': 0, |