summaryrefslogtreecommitdiffstats
path: root/src/jemalloc_cpp.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Split out cold code path in newImplQinfan Wu2017-07-241-7/+16
| | | | | I noticed that the whole newImpl is inlined. Since OOM handling code is rarely executed, we should only inline the hot path.
* Get rid of most of the various inline macros.David Goldblatt2017-04-241-1/+0
|
* Move CPP_PROLOGUE and CPP_EPILOGUE to the .cppDavid Goldblatt2017-04-191-0/+8
| | | | This lets us avoid having to specify them in every C file.
* Header refactoring: Split up jemalloc_internal.hDavid Goldblatt2017-04-111-1/+2
| | | | | | | | | | | | | | This is a biggy. jemalloc_internal.h has been doing multiple jobs for a while now: - The source of system-wide definitions. - The catch-all include file. - The module header file for jemalloc.c This commit splits up this functionality. The system-wide definitions responsibility has moved to jemalloc_preamble.h. The catch-all include file is now jemalloc_internal_includes.h. The module headers for jemalloc.c are now in jemalloc_internal_[externs|inlines|types].h, just as they are for the other modules.
* Replace tabs following #define with spaces.Jason Evans2017-01-211-1/+1
| | | | This resolves #564.
* Remove extraneous parens around return arguments.Jason Evans2017-01-211-6/+6
| | | | This resolves #540.
* Update brace style.Jason Evans2017-01-211-22/+11
| | | | | | | Add braces around single-line blocks, and remove line breaks before function-opening braces. This resolves #537.
* Add nullptr support to sized delete operators.Jason Evans2017-01-171-0/+6
|
* Fix style nits.Jason Evans2017-01-171-19/+18
|
* Remove leading blank lines from function bodies.Jason Evans2017-01-131-10/+0
| | | | This resolves #535.
* Fix indentation.Jason Evans2017-01-131-1/+1
|
* jemalloc cpp new/delete bindingsDave Watson2016-12-131-0/+140
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.