summaryrefslogtreecommitdiffstats
path: root/third_party/tcmalloc/tcmalloc.gyp
diff options
context:
space:
mode:
authormbelshe@google.com <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-12 02:17:14 +0000
committermbelshe@google.com <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-12 02:17:14 +0000
commit14239acc00731e94736ac62e80fc6b17c31ea131 (patch)
tree4638c1895f339b829145df4292d5c62ce8c155a4 /third_party/tcmalloc/tcmalloc.gyp
parentd734f220da466c52f94423acc91bb347ef8811dd (diff)
downloadchromium_src-14239acc00731e94736ac62e80fc6b17c31ea131.zip
chromium_src-14239acc00731e94736ac62e80fc6b17c31ea131.tar.gz
chromium_src-14239acc00731e94736ac62e80fc6b17c31ea131.tar.bz2
Major changes to the Chrome allocator.
Changes include: * Fix tcmalloc to release memory. Implements the TCMalloc_SystemCommit() mechanism so that tcmalloc can implement SystemRelease() and later reuse that memory. * Enable dynamic switching of allocators based on an environment variable. Users can now switch between tcmalloc, jemalloc, the default windows heap, and the windows low-fragmentation heap. * Implements set_new_mode() across all allocators so that we can be sure that out-of-memory conditions are handled safely. BUG=18345 TEST=none; plan to get all unit tests running through these allocators. Review URL: http://codereview.chromium.org/165275 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23140 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/tcmalloc/tcmalloc.gyp')
-rw-r--r--third_party/tcmalloc/tcmalloc.gyp42
1 files changed, 39 insertions, 3 deletions
diff --git a/third_party/tcmalloc/tcmalloc.gyp b/third_party/tcmalloc/tcmalloc.gyp
index 41e7664..99c0e13 100644
--- a/third_party/tcmalloc/tcmalloc.gyp
+++ b/third_party/tcmalloc/tcmalloc.gyp
@@ -49,26 +49,62 @@
},
},
'sources': [
+ # tcmalloc files
'tcmalloc/src/base/dynamic_annotations.cc',
+ 'tcmalloc/src/base/dynamic_annotations.h',
'tcmalloc/src/base/logging.cc',
+ 'tcmalloc/src/base/logging.h',
'tcmalloc/src/base/low_level_alloc.cc',
+ 'tcmalloc/src/base/low_level_alloc.h',
'tcmalloc/src/base/spinlock.cc',
+ 'tcmalloc/src/base/spinlock.h',
'tcmalloc/src/base/sysinfo.cc',
+ 'tcmalloc/src/base/sysinfo.h',
'tcmalloc/src/central_freelist.cc',
+ 'tcmalloc/src/central_freelist.h',
'tcmalloc/src/common.cc',
+ 'tcmalloc/src/common.h',
'tcmalloc/src/heap-profile-table.cc',
+ 'tcmalloc/src/heap-profile-table.h',
'tcmalloc/src/internal_logging.cc',
+ 'tcmalloc/src/internal_logging.h',
+ 'tcmalloc/src/linked_list.h',
'tcmalloc/src/malloc_extension.cc',
'tcmalloc/src/malloc_hook.cc',
- 'tcmalloc/src/page_heap.cc',
+ 'tcmalloc/src/malloc_hook-inl.h',
+ 'tcmalloc/src/port.h',
'tcmalloc/src/sampler.cc',
+ 'tcmalloc/src/sampler.h',
'tcmalloc/src/span.cc',
+ 'tcmalloc/src/span.h',
'tcmalloc/src/stack_trace_table.cc',
+ 'tcmalloc/src/stack_trace_table.h',
'tcmalloc/src/stacktrace.cc',
+ 'tcmalloc/src/stacktrace.h',
'tcmalloc/src/static_vars.cc',
+ 'tcmalloc/src/static_vars.h',
'tcmalloc/src/thread_cache.cc',
- 'tcmalloc/src/windows/override_functions.cc',
- 'tcmalloc/src/windows/port.cc',
+ 'tcmalloc/src/thread_cache.h',
+
+ # tcmalloc forked files
+ 'allocator_shim.cc',
+ 'page_heap.cc',
+ 'port.cc',
+ 'system-alloc.h',
+ 'tcmalloc.cc',
+ 'win_allocator.cc',
+
+ # jemalloc files
+ 'jemalloc/jemalloc.c',
+ 'jemalloc/jemalloc.h',
+ 'jemalloc/ql.h',
+ 'jemalloc/qr.h',
+ 'jemalloc/rb.h',
+ ],
+ # sources! means that these are not compiled directly.
+ 'sources!': [
+ 'tcmalloc.cc',
+ 'win_allocator.cc',
],
'msvs_settings': {
# TODO(sgk): merge this with build/common.gypi settings