summaryrefslogtreecommitdiff
path: root/src/page_heap.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/page_heap.h')
-rw-r--r--src/page_heap.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/page_heap.h b/src/page_heap.h
index e06e203..1fd8cfc 100644
--- a/src/page_heap.h
+++ b/src/page_heap.h
@@ -206,11 +206,21 @@ class PERFTOOLS_DLL_DECL PageHeap {
// Never delay scavenging for more than the following number of
// deallocated pages. With 4K pages, this comes to 4GB of
// deallocation.
+#ifndef TCMALLOC_LARGE_PAGES64K
static const int kMaxReleaseDelay = 1 << 20;
+#else
+ // With 64K pages this come to 16M
+ static const int kMaxReleaseDelay = 1 << 8;
+#endif
// If there is nothing to release, wait for so many pages before
// scavenging again. With 4K pages, this comes to 1GB of memory.
+#ifndef TCMALLOC_LARGE_PAGES64K
static const int kDefaultReleaseDelay = 1 << 18;
+#else
+ // WIth 64K pages, this comes to 4MB
+ static const int kDefaultReleaseDelay = 1 << 6;
+#endif
// Pick the appropriate map and cache types based on pointer size
typedef MapSelector<kAddressBits>::Type PageMap;