Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(229)

Unified Diff: third_party/tcmalloc/chromium/src/system-alloc.cc

Issue 9667026: Revert 126020 - Experiment for updating the tcmalloc chromium branch to r144 (gperftools 2.0). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/tcmalloc/chromium/src/symbolize.cc ('k') | third_party/tcmalloc/chromium/src/tcmalloc.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/tcmalloc/chromium/src/system-alloc.cc
===================================================================
--- third_party/tcmalloc/chromium/src/system-alloc.cc (revision 126022)
+++ third_party/tcmalloc/chromium/src/system-alloc.cc (working copy)
@@ -48,7 +48,7 @@
#include <unistd.h> // for sbrk, getpagesize, off_t
#endif
#include <new> // for operator new
-#include <gperftools/malloc_extension.h>
+#include <google/malloc_extension.h>
#include "base/basictypes.h"
#include "base/commandlineflags.h"
#include "base/spinlock.h" // for SpinLockHolder, SpinLock, etc
@@ -61,13 +61,6 @@
# define MAP_ANONYMOUS MAP_ANON
#endif
-// MADV_FREE is specifically designed for use by malloc(), but only
-// FreeBSD supports it; in linux we fall back to the somewhat inferior
-// MADV_DONTNEED.
-#if !defined(MADV_FREE) && defined(MADV_DONTNEED)
-# define MADV_FREE MADV_DONTNEED
-#endif
-
// Solaris has a bug where it doesn't declare madvise() for C++.
// http://www.opensolaris.org/jive/thread.jspa?threadID=21035&tstart=0
#if defined(__sun) && defined(__SVR4)
@@ -83,10 +76,6 @@
static const bool kDebugMode = true;
#endif
-// TODO(sanjay): Move the code below into the tcmalloc namespace
-using tcmalloc::kLog;
-using tcmalloc::Log;
-
// Anonymous namespace to avoid name conflicts on "CheckAddressBits".
namespace {
@@ -114,11 +103,9 @@
static SpinLock spinlock(SpinLock::LINKER_INITIALIZED);
-#if defined(HAVE_MMAP) || defined(MADV_FREE)
#ifdef HAVE_GETPAGESIZE
static size_t pagesize = 0;
#endif
-#endif
// The current system allocator
SysAllocator* sys_alloc = NULL;
@@ -145,6 +132,7 @@
SbrkSysAllocator() : SysAllocator() {
}
void* Alloc(size_t size, size_t *actual_size, size_t alignment);
+ void FlagsInitialized() {}
};
static char sbrk_space[sizeof(SbrkSysAllocator)];
@@ -153,6 +141,7 @@
MmapSysAllocator() : SysAllocator() {
}
void* Alloc(size_t size, size_t *actual_size, size_t alignment);
+ void FlagsInitialized() {}
};
static char mmap_space[sizeof(MmapSysAllocator)];
@@ -161,6 +150,7 @@
DevMemSysAllocator() : SysAllocator() {
}
void* Alloc(size_t size, size_t *actual_size, size_t alignment);
+ void FlagsInitialized() {}
};
class DefaultSysAllocator : public SysAllocator {
@@ -181,6 +171,7 @@
}
}
void* Alloc(size_t size, size_t *actual_size, size_t alignment);
+ void FlagsInitialized() {}
private:
static const int kMaxAllocators = 2;
@@ -429,6 +420,7 @@
if (result != NULL) {
return result;
}
+ TCMalloc_MESSAGE(__FILE__, __LINE__, "%s failed.\n", names_[i]);
failed_[i] = true;
}
}
@@ -507,10 +499,10 @@
}
void TCMalloc_SystemRelease(void* start, size_t length) {
-#ifdef MADV_FREE
+#ifdef MADV_DONTNEED
if (FLAGS_malloc_devmem_start) {
- // It's not safe to use MADV_FREE/MADV_DONTNEED if we've been
- // mapping /dev/mem for heap memory.
+ // It's not safe to use MADV_DONTNEED if we've been mapping
+ // /dev/mem for heap memory
return;
}
if (pagesize == 0) pagesize = getpagesize();
@@ -534,7 +526,7 @@
// Note -- ignoring most return codes, because if this fails it
// doesn't matter...
while (madvise(reinterpret_cast<char*>(new_start), new_end - new_start,
- MADV_FREE) == -1 &&
+ MADV_DONTNEED) == -1 &&
errno == EAGAIN) {
// NOP
}
« no previous file with comments | « third_party/tcmalloc/chromium/src/symbolize.cc ('k') | third_party/tcmalloc/chromium/src/tcmalloc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698