server-skynet-source-3rd-je.../include/jemalloc/internal
Jason Evans 8a03cf039c Implement cache index randomization for large allocations.
Extract szad size quantization into {extent,run}_quantize(), and .
quantize szad run sizes to the union of valid small region run sizes and
large run sizes.

Refactor iteration in arena_run_first_fit() to use
run_quantize{,_first,_next(), and add support for padded large runs.

For large allocations that have no specified alignment constraints,
compute a pseudo-random offset from the beginning of the first backing
page that is a multiple of the cache line size.  Under typical
configurations with 4-KiB pages and 64-byte cache lines this results in
a uniform distribution among 64 page boundary offsets.

Add the --disable-cache-oblivious option, primarily intended for
performance testing.

This resolves #13.
2015-05-06 13:27:39 -07:00
..
arena.h Implement cache index randomization for large allocations. 2015-05-06 13:27:39 -07:00
atomic.h Use InterlockedCompareExchange instead of non-existing InterlockedCompareExchange32 2015-03-17 12:09:30 +09: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 Refactor huge allocation to be managed by arenas. 2014-05-15 22:36:41 -07:00
chunk.h Implement dynamic per arena control over dirty page purging. 2015-03-18 18:55:33 -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 Normalize rdelm/rd structure field naming. 2015-03-10 18:29:49 -07:00
hash.h Style and spelling fixes. 2014-12-08 16:34:04 -08:00
huge.h Move centralized chunk management into arenas. 2015-02-12 00:15:56 -08:00
jemalloc_internal_decls.h Add a isblank definition for MSVC < 2013 2015-01-09 14:33:46 -08:00
jemalloc_internal_defs.h.in Implement cache index randomization for large allocations. 2015-05-06 13:27:39 -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 Implement cache index randomization for large allocations. 2015-05-06 13:27:39 -07:00
mb.h Simplify small size class infrastructure. 2012-02-28 16:50:47 -08:00
mutex.h correctly detect adaptive mutexes in pthreads 2014-09-29 16:10:40 -07:00
private_namespace.sh Refactor to support more varied testing. 2013-12-03 22:06:59 -08:00
private_symbols.txt Add the "stats.allocated" mallctl. 2015-03-23 17:26:53 -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 Fix unsigned comparison underflow. 2015-03-11 23:14:50 -07:00
size_classes.sh Add --with-lg-tiny-min, generalize --with-lg-quantum. 2014-10-10 22:35:07 -07:00
stats.h Move centralized chunk management into arenas. 2015-02-12 00:15:56 -08:00
tcache.h If MALLOCX_ARENA(a) is specified, use it during tcache fill. 2015-02-13 15:28:56 -08:00
tsd.h Preserve LastError when calling TlsGetValue 2015-03-04 09:50:33 -08:00
util.h Fix indentation inconsistencies. 2015-03-22 00:09:04 -07:00
valgrind.h mark some conditions as unlikely 2014-09-10 21:49:42 -04:00