server-skynet-source-3rd-je.../include/jemalloc/internal
Daniel Micay 4cfe55166e Add support for sized deallocation.
This adds a new `sdallocx` function to the external API, allowing the
size to be passed by the caller.  It avoids some extra reads in the
thread cache fast path.  In the case where stats are enabled, this
avoids the work of calculating the size from the pointer.

An assertion validates the size that's passed in, so enabling debugging
will allow users of the API to debug cases where an incorrect size is
passed in.

The performance win for a contrived microbenchmark doing an allocation
and immediately freeing it is ~10%.  It may have a different impact on a
real workload.

Closes #28
2014-09-08 17:34:24 -07:00
..
arena.h Add support for sized deallocation. 2014-09-08 17:34:24 -07:00
atomic.h Add atomic operations tests and fix latent bugs. 2014-08-06 23:36:19 -07:00
base.h Refactor huge allocation to be managed by arenas. 2014-05-15 22:36:41 -07:00
bitmap.h Try to use __builtin_ffsl if ffsl is unavailable. 2014-06-02 07:44:50 -07:00
chunk_dss.h Refactor tests. 2013-12-08 20:52:21 -08:00
chunk_mmap.h Refactor huge allocation to be managed by arenas. 2014-05-15 22:36:41 -07:00
chunk.h Refactor chunk map. 2014-09-04 22:22:52 -07:00
ckh.h Normalize #define whitespace. 2013-12-08 22:28:27 -08:00
ctl.h Refactor huge allocation to be managed by arenas. 2014-05-15 22:36:41 -07:00
extent.h Implement per thread heap profiling. 2014-08-19 21:31:16 -07:00
hash.h Use KQU() rather than QU() where applicable. 2014-05-28 21:17:42 -07:00
huge.h Implement per thread heap profiling. 2014-08-19 21:31:16 -07:00
jemalloc_internal_decls.h Try to use __builtin_ffsl if ffsl is unavailable. 2014-06-02 07:44:50 -07:00
jemalloc_internal_defs.h.in Test for availability of malloc hooks via autoconf 2014-08-22 15:19:21 -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 Add support for sized deallocation. 2014-09-08 17:34:24 -07:00
mb.h Simplify small size class infrastructure. 2012-02-28 16:50:47 -08:00
mutex.h Add support for Mingw 2012-04-21 21:27:46 -07:00
private_namespace.sh Refactor to support more varied testing. 2013-12-03 22:06:59 -08:00
private_symbols.txt Add support for sized deallocation. 2014-09-08 17:34:24 -07:00
private_unnamespace.sh Refactor to support more varied testing. 2013-12-03 22:06:59 -08:00
prng.h Whitespace cleanups. 2014-09-04 22:27:26 -07:00
prof.h Implement per thread heap profiling. 2014-08-19 21:31:16 -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 Normalize #define whitespace. 2013-12-08 22:28:27 -08:00
qr.h Normalize #define whitespace. 2013-12-08 22:28:27 -08:00
quarantine.h Fix potential TLS-related memory corruption. 2013-01-31 14:23:48 -08:00
rb.h Add rb_empty(). 2014-08-19 21:05:54 -07:00
rtree.h Convert rtree from (void *) to (uint8_t) storage. 2014-01-02 17:36:38 -08:00
size_classes.sh Optimize [nmd]alloc() fast paths. 2014-09-07 14:40:19 -07:00
stats.h Refactor huge allocation to be managed by arenas. 2014-05-15 22:36:41 -07:00
tcache.h Refactor small_size2bin and small_bin2size. 2014-04-16 17:14:33 -07:00
tsd.h Add mq (message queue) to test infrastructure. 2013-12-12 14:41:02 -08:00
util.h Try to use __builtin_ffsl if ffsl is unavailable. 2014-06-02 07:44:50 -07:00
valgrind.h Optimize Valgrind integration. 2014-04-15 16:49:57 -07:00