server-skynet-source-3rd-je.../include/jemalloc/internal
Dave Watson 2319152d9f jemalloc cpp new/delete bindings
Adds cpp bindings for jemalloc, along with necessary autoconf settings.
This is mostly to add sized deallocation support, which can't be added
from C directly.  Sized deallocation is ~10% microbench improvement.

* Import ax_cxx_compile_stdcxx.m4 from the autoconf repo, seems like the
  easiest way to get c++14 detection.
* Adds various other changes, like CXXFLAGS, to configure.ac.
* Adds new rules to Makefile.in for src/jemalloc-cpp.cpp, and a basic
  unittest.
* Both new and delete are overridden, to ensure jemalloc is used for
  both.
* TODO future enhancement of avoiding extra PLT thunks for new and
  delete - sdallocx and malloc are publicly exported jemalloc symbols,
  using an alias would link them directly.  Unfortunately, was having
  trouble getting it to play nice with jemalloc's namespace support.

Testing:
Tested gcc 4.8, gcc 5, gcc 5.2, clang 4.0.  Only gcc >= 5 has sized
deallocation support, verified that the rest build correctly.

Tested mac osx and Centos.

Tested --with-jemalloc-prefix and --without-export.

This resolves #202.
2016-12-12 18:36:06 -08:00
..
arena.h Update a comment. 2016-11-17 11:50:52 -08:00
assert.h Tweak code to allow compilation of concatenated src/*.c sources. 2015-11-12 11:06:41 -08:00
atomic.h Rename atomic_*_{uint32,uint64,u}() to atomic_*_{u32,u64,zu}(). 2016-11-07 11:27:48 -08:00
base.h Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
bitmap.h Move slabs out of chunks. 2016-06-05 20:42:23 -07:00
ckh.h Do not (recursively) allocate within tsd_fetch(). 2016-10-20 23:59:12 -07:00
ctl.h Remove ratio-based purging. 2016-10-12 10:40:27 -07:00
extent_dss.h Make dss operations lockless. 2016-10-13 15:37:00 -07:00
extent_mmap.h Rename most remaining *chunk* APIs to *extent*. 2016-06-05 20:42:23 -07:00
extent.h Add a_type parameter to qr_{meld,split}(). 2016-12-12 18:16:51 -08:00
hash.h typecast address to pointer to byte to avoid unaligned memory access error 2016-05-03 10:02:26 -07:00
jemalloc_internal_decls.h Add os_unfair_lock support. 2016-11-02 18:09:45 -07:00
jemalloc_internal_defs.h.in Add --disable-syscall. 2016-12-03 16:50:58 -08:00
jemalloc_internal_macros.h jemalloc cpp new/delete bindings 2016-12-12 18:36:06 -08:00
jemalloc_internal.h.in jemalloc cpp new/delete bindings 2016-12-12 18:36:06 -08:00
large.h Make dss operations lockless. 2016-10-13 15:37:00 -07:00
mb.h Use TSDN_NULL rather than NULL as appropriate. 2016-05-12 21:07:08 -07:00
mutex.h Add os_unfair_lock support. 2016-11-02 18:09:45 -07:00
nstime.h Do not advance decay epoch when time goes backwards. 2016-10-10 22:15:10 -07:00
pages.h Move *PAGE* definitions to pages.h. 2016-06-03 12:27:41 -07:00
ph.h Fix a style nit. 2016-04-12 23:18:25 -07:00
private_namespace.sh Refactor to support more varied testing. 2013-12-03 22:06:59 -08:00
private_symbols.txt Add extent serial numbers. 2016-11-15 13:08:33 -08:00
private_unnamespace.sh Refactor to support more varied testing. 2013-12-03 22:06:59 -08:00
prng.h Rename atomic_*_{uint32,uint64,u}() to atomic_*_{u32,u64,zu}(). 2016-11-07 11:27:48 -08:00
prof.h Do not (recursively) allocate within tsd_fetch(). 2016-10-20 23:59:12 -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 Add a_type parameter to qr_{meld,split}(). 2016-12-12 18:16:51 -08:00
rb.h Remove rbt_nil 2016-02-23 18:09:25 -08:00
rtree.h jemalloc cpp new/delete bindings 2016-12-12 18:36:06 -08:00
size_classes.sh Relax NBINS constraint (max 255 --> max 256). 2016-06-05 20:42:24 -07:00
smoothstep.h Implement smoothstep table generation. 2016-02-19 20:56:15 -08:00
smoothstep.sh Implement smoothstep table generation. 2016-02-19 20:56:15 -08:00
spin.h Add/use adaptive spinning. 2016-10-13 14:55:39 -07:00
stats.h Rename atomic_*_{uint32,uint64,u}() to atomic_*_{u32,u64,zu}(). 2016-11-07 11:27:48 -08:00
tcache.h Do not (recursively) allocate within tsd_fetch(). 2016-10-20 23:59:12 -07:00
ticker.h Implement ticker. 2016-02-19 20:29:06 -08:00
tsd.h Do not (recursively) allocate within tsd_fetch(). 2016-10-20 23:59:12 -07:00
util.h Enable overriding JEMALLOC_{ALLOC,FREE}_JUNK. 2016-11-22 10:58:58 -08:00
witness.h Fix long spinning in rtree_node_init 2016-11-02 20:30:53 -07:00