server-skynet-source-3rd-je.../include/jemalloc/internal
Jason Evans 41b6afb834 Port to FreeBSD.
Use FreeBSD-specific functions (_pthread_mutex_init_calloc_cb(),
_malloc_{pre,post}fork()) to avoid bootstrapping issues due to
allocation in libc and libthr.

Add malloc_strtoumax() and use it instead of strtoul().  Disable
validation code in malloc_vsnprintf() and malloc_strtoumax() until
jemalloc is initialized.  This is necessary because locale
initialization causes allocation for both vsnprintf() and strtoumax().

Force the lazy-lock feature on in order to avoid pthread_self(),
because it causes allocation.

Use syscall(SYS_write, ...) rather than write(...), because libthr wraps
write() and causes allocation.  Without this workaround, it would not be
possible to print error messages in malloc_conf_init() without
substantially reworking bootstrapping.

Fix choose_arena_hard() to look at how many threads are assigned to the
candidate choice, rather than checking whether the arena is
uninitialized.  This bug potentially caused more arenas to be
initialized than necessary.
2012-02-02 23:09:53 -08:00
..
arena.h Implement tsd. 2012-03-23 15:14:55 -07:00
atomic.h Remove ephemeral mutexes. 2012-03-23 18:05:51 -07:00
base.h Port to FreeBSD. 2012-02-02 23:09:53 -08:00
bitmap.h Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
chunk_dss.h Fix fork-related bugs. 2012-03-13 16:31:41 -07:00
chunk_mmap.h Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
chunk.h Implement tsd. 2012-03-23 15:14:55 -07:00
ckh.h Rename prn to prng. 2012-03-02 15:59:45 -08:00
ctl.h Implement malloc_vsnprintf(). 2012-03-07 16:19:19 -08:00
extent.h Reduce cpp conditional logic complexity. 2012-02-10 20:22:09 -08:00
hash.h Implement malloc_vsnprintf(). 2012-03-07 16:19:19 -08:00
huge.h Fix fork-related bugs. 2012-03-13 16:31:41 -07:00
jemalloc_internal.h.in Port to FreeBSD. 2012-02-02 23:09:53 -08:00
mb.h Simplify small size class infrastructure. 2012-02-28 16:50:47 -08:00
mutex.h Port to FreeBSD. 2012-02-02 23:09:53 -08:00
private_namespace.h Implement tsd. 2012-03-23 15:14:55 -07:00
prng.h Rename prn to prng. 2012-03-02 15:59:45 -08:00
prof.h Remove ephemeral mutexes. 2012-03-23 18:05:51 -07:00
ql.h Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
qr.h Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
rb.h Clean up rb documentation. 2011-11-01 20:48:31 -07:00
rtree.h Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
size_classes.sh Remove bashism. 2012-03-12 11:33:59 -07:00
stats.h Implement malloc_vsnprintf(). 2012-03-07 16:19:19 -08:00
tcache.h Implement tsd. 2012-03-23 15:14:55 -07:00
tsd.h Port to FreeBSD. 2012-02-02 23:09:53 -08:00
util.h Port to FreeBSD. 2012-02-02 23:09:53 -08:00
zone.h Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00