diff options
author | mostynb@opera.com <mostynb@opera.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-04 04:54:26 +0000 |
---|---|---|
committer | mostynb@opera.com <mostynb@opera.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-04 04:54:26 +0000 |
commit | 6bad17eddafce5744209f2e6d3203a64731ce4d2 (patch) | |
tree | 13d827ebd391706d4e34c558c92ab5295b46748a /base/process | |
parent | 4d7552f22c66e8db1861947f013565ad3a64d9c7 (diff) | |
download | chromium_src-6bad17eddafce5744209f2e6d3203a64731ce4d2.zip chromium_src-6bad17eddafce5744209f2e6d3203a64731ce4d2.tar.gz chromium_src-6bad17eddafce5744209f2e6d3203a64731ce4d2.tar.bz2 |
only do linux pvalloc OutOfMemoryDeathTest on non-tcmalloc glibc builds
We only override libc's pvalloc if when using glibc and not tcmalloc
(in base/process/memory_linux.cc), and pvalloc is not always available
on uclibc, so let's use the same ifdef in the unit test.
Review URL: https://codereview.chromium.org/184313002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254659 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/process')
-rw-r--r-- | base/process/memory.h | 8 | ||||
-rw-r--r-- | base/process/memory_linux.cc | 4 | ||||
-rw-r--r-- | base/process/memory_unittest.cc | 3 |
3 files changed, 15 insertions, 0 deletions
diff --git a/base/process/memory.h b/base/process/memory.h index e6696cb..8187032 100644 --- a/base/process/memory.h +++ b/base/process/memory.h @@ -14,6 +14,14 @@ #include <windows.h> #endif +#ifdef PVALLOC_AVAILABLE +// Build config explicitly tells us whether or not pvalloc is available. +#elif defined(LIBC_GLIBC) && !defined(USE_TCMALLOC) +#define PVALLOC_AVAILABLE 1 +#else +#define PVALLOC_AVAILABLE 0 +#endif + namespace base { // Enables low fragmentation heap (LFH) for every heaps of this process. This diff --git a/base/process/memory_linux.cc b/base/process/memory_linux.cc index 6bed68b..e5e21b3 100644 --- a/base/process/memory_linux.cc +++ b/base/process/memory_linux.cc @@ -44,7 +44,9 @@ void* __libc_malloc(size_t size); void* __libc_realloc(void* ptr, size_t size); void* __libc_calloc(size_t nmemb, size_t size); void* __libc_valloc(size_t size); +#if PVALLOC_AVAILABLE == 1 void* __libc_pvalloc(size_t size); +#endif void* __libc_memalign(size_t alignment, size_t size); // Overriding the system memory allocation functions: @@ -99,7 +101,9 @@ void* __libc_memalign(size_t alignment, size_t size); DIE_ON_OOM_1(malloc) DIE_ON_OOM_1(valloc) +#if PVALLOC_AVAILABLE == 1 DIE_ON_OOM_1(pvalloc) +#endif DIE_ON_OOM_2(calloc, size_t) DIE_ON_OOM_2(realloc, void*) diff --git a/base/process/memory_unittest.cc b/base/process/memory_unittest.cc index 33fcc85..5a1bcdf 100644 --- a/base/process/memory_unittest.cc +++ b/base/process/memory_unittest.cc @@ -243,12 +243,15 @@ TEST_F(OutOfMemoryDeathTest, Valloc) { } #if defined(OS_LINUX) + +#if PVALLOC_AVAILABLE == 1 TEST_F(OutOfMemoryDeathTest, Pvalloc) { ASSERT_DEATH({ SetUpInDeathAssert(); value_ = pvalloc(test_size_); }, ""); } +#endif // PVALLOC_AVAILABLE == 1 TEST_F(OutOfMemoryDeathTest, Memalign) { ASSERT_DEATH({ |