diff options
author | mbelshe@google.com <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-12 02:17:14 +0000 |
---|---|---|
committer | mbelshe@google.com <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-12 02:17:14 +0000 |
commit | 14239acc00731e94736ac62e80fc6b17c31ea131 (patch) | |
tree | 4638c1895f339b829145df4292d5c62ce8c155a4 /third_party/tcmalloc/tcmalloc.gyp | |
parent | d734f220da466c52f94423acc91bb347ef8811dd (diff) | |
download | chromium_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.gyp | 42 |
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 |