server-skynet-source-3rd-je.../include/jemalloc/internal
Jason Evans b49a334a64 Generalize chunk management hooks.
Add the "arena.<i>.chunk_hooks" mallctl, which replaces and expands on
the "arena.<i>.chunk.{alloc,dalloc,purge}" mallctls.  The chunk hooks
allow control over chunk allocation/deallocation, decommit/commit,
purging, and splitting/merging, such that the application can rely on
jemalloc's internal chunk caching and retaining functionality, yet
implement a variety of chunk management mechanisms and policies.

Merge the chunks_[sz]ad_{mmap,dss} red-black trees into
chunks_[sz]ad_retained.  This slightly reduces how hard jemalloc tries
to honor the dss precedence setting; prior to this change the precedence
setting was also consulted when recycling chunks.

Fix chunk purging.  Don't purge chunks in arena_purge_stashed(); instead
deallocate them in arena_unstash_purged(), so that the dirty memory
linkage remains valid until after the last time it is used.

This resolves #176 and #201.
2015-08-03 21:49:02 -07:00
..
arena.h Generalize chunk management hooks. 2015-08-03 21:49:02 -07:00
atomic.h Fix type errors in C11 versions of atomic_*() functions. 2015-05-27 20:33:18 -07:00
base.h Add the "stats.allocated" mallctl. 2015-03-23 17:26:53 -07:00
bitmap.h Convert to uniform style: cond == false --> !cond 2014-10-03 10:16:09 -07:00
chunk_dss.h Move centralized chunk management into arenas. 2015-02-12 00:15:56 -08:00
chunk_mmap.h Generalize chunk management hooks. 2015-08-03 21:49:02 -07:00
chunk.h Generalize chunk management hooks. 2015-08-03 21:49:02 -07:00
ckh.h Convert all tsd variables to reside in a single tsd structure. 2014-09-23 02:36:08 -07:00
ctl.h Add the "stats.arenas.<i>.lg_dirty_mult" mallctl. 2015-03-24 16:41:38 -07:00
extent.h Generalize chunk management hooks. 2015-08-03 21:49:02 -07:00
hash.h Style and spelling fixes. 2014-12-08 16:34:04 -08:00
huge.h Fix huge_palloc() to handle size rather than usize input. 2015-07-23 17:18:49 -07:00
jemalloc_internal_decls.h Fix MinGW-related portability issues. 2015-07-23 13:56:25 -07:00
jemalloc_internal_defs.h.in Implement support for non-coalescing maps on MinGW. 2015-07-24 18:39:14 -07:00
jemalloc_internal_macros.h Use KQU() rather than QU() where applicable. 2014-05-28 21:17:42 -07:00
jemalloc_internal.h.in Generalize chunk management hooks. 2015-08-03 21:49:02 -07:00
mb.h Simplify small size class infrastructure. 2012-02-28 16:50:47 -08:00
mutex.h Optimizations for Windows 2015-06-25 22:53:58 +02:00
pages.h Generalize chunk management hooks. 2015-08-03 21:49:02 -07:00
private_namespace.sh Refactor to support more varied testing. 2013-12-03 22:06:59 -08:00
private_symbols.txt Generalize chunk management hooks. 2015-08-03 21:49:02 -07:00
private_unnamespace.sh Refactor to support more varied testing. 2013-12-03 22:06:59 -08:00
prng.h Implement cache index randomization for large allocations. 2015-05-06 13:27:39 -07:00
prof.h Fix heap profiling regressions. 2015-03-16 15:11:06 -07:00
public_namespace.sh Fix name mangling for stress tests. 2014-01-16 17:38:01 -08:00
public_unnamespace.sh Fix name mangling for stress tests. 2014-01-16 17:38:01 -08:00
ql.h Style and spelling fixes. 2014-12-08 16:34:04 -08:00
qr.h Style and spelling fixes. 2014-12-08 16:34:04 -08:00
quarantine.h Make quarantine_init() static. 2014-11-07 14:50:38 -08:00
rb.h Style and spelling fixes. 2014-12-08 16:34:04 -08:00
rtree.h Avoid atomic operations for dependent rtree reads. 2015-05-15 17:02:30 -07:00
size_classes.sh Update a comment. 2015-06-15 12:01:05 -07:00
stats.h Move centralized chunk management into arenas. 2015-02-12 00:15:56 -08:00
tcache.h Impose a minimum tcache count for small size classes. 2015-05-19 17:47:16 -07:00
tsd.h Preserve LastError when calling TlsGetValue 2015-03-04 09:50:33 -08:00
util.h Leave PRI* macros defined after using them to define FMT*. 2015-07-23 15:50:09 -07:00
valgrind.h mark some conditions as unlikely 2014-09-10 21:49:42 -04:00