server-skynet-source-3rd-je.../src
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.c Remove size_t -> unsigned -> size_t conversion. 2016-11-16 11:23:31 -08:00
atomic.c Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
base.c Add extent serial numbers. 2016-11-15 13:08:33 -08:00
bitmap.c Implement BITMAP_INFO_INITIALIZER(nbits). 2016-05-13 10:27:48 -07:00
ckh.c Refactor prng to not use 64-bit atomics on 32-bit platforms. 2016-11-07 10:52:44 -08:00
ctl.c Do not (recursively) allocate within tsd_fetch(). 2016-10-20 23:59:12 -07:00
extent_dss.c Add extent serial numbers. 2016-11-15 13:08:33 -08:00
extent_mmap.c Fix potential VM map fragmentation regression. 2016-06-07 14:15:49 -07:00
extent.c Add extent serial numbers. 2016-11-15 13:08:33 -08:00
hash.c Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
jemalloc_cpp.cpp jemalloc cpp new/delete bindings 2016-12-12 18:36:06 -08:00
jemalloc.c Add pthread_atfork(3) feature test. 2016-11-17 15:14:57 -08:00
large.c Fix extent_alloc_cache[_locked]() to support decommitted allocation. 2016-11-03 22:33:23 -07:00
mb.c Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
mutex.c Add os_unfair_lock support. 2016-11-02 18:09:45 -07:00
nstime.c Use CLOCK_MONOTONIC_COARSE rather than COARSE_MONOTONIC_RAW. 2016-10-29 22:58:18 -07:00
pages.c Add --disable-syscall. 2016-12-03 16:50:58 -08:00
prng.c Refactor prng* from cpp macros into inline functions. 2016-02-19 20:29:06 -08:00
prof.c Refactor prng to not use 64-bit atomics on 32-bit platforms. 2016-11-07 10:52:44 -08:00
rtree.c Fix long spinning in rtree_node_init 2016-11-02 20:30:53 -07:00
spin.c Add/use adaptive spinning. 2016-10-13 14:55:39 -07:00
stats.c Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *). 2016-11-15 15:01:03 -08:00
tcache.c Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *). 2016-10-27 21:31:25 -07:00
ticker.c Implement ticker. 2016-02-19 20:29:06 -08:00
tsd.c Make tsd cleanup functions optional, remove noop cleanup functions. 2016-06-05 20:42:24 -07:00
util.c Add --disable-syscall. 2016-12-03 16:50:58 -08:00
witness.c Make tsd cleanup functions optional, remove noop cleanup functions. 2016-06-05 20:42:24 -07:00
zone.c Fix/refactor zone allocator integration code. 2016-11-02 18:06:40 -07:00