e42940346e47de63bfc47470c86c3c132ec2db8c |
|
02-Mar-2016 |
Christopher Ferris <cferris@google.com> |
Merge remote-tracking branch 'aosp/upstream-dev' into merge Bug: 26807329 (cherry picked from commit fb9c9c8d5230956caa48501dad4fde4b90e00319) Change-Id: I428ae6395d8c00db6baef5313b3dd47b68444bd9
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
e42c309eba6c5084dc0abda9b211e91e2c548fdf |
|
23-Jul-2015 |
Jason Evans <jasone@canonware.com> |
Add JEMALLOC_FORMAT_PRINTF(). Replace JEMALLOC_ATTR(format(printf, ...). with JEMALLOC_FORMAT_PRINTF(), so that configuration feature tests can omit the attribute if it would cause extraneous compilation warnings.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
0b8f0bc0a41ad6db469097bf257d85a44f839f5f |
|
11-Jul-2015 |
Jason Evans <je@fb.com> |
Add configure test for alloc_size attribute.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
ae93d6bf364e9db9f9ee69c3e5f9df110d8685a4 |
|
10-Jul-2015 |
Jason Evans <jasone@canonware.com> |
Avoid function prototype incompatibilities. Add various function attributes to the exported functions to give the compiler more information to work with during optimization, and also specify throw() when compiling with C++ on Linux, in order to adequately match what __THROW does in glibc. This resolves #237.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
9790b9667fd975b1f9a4f108f9d0a20ab265c6b6 |
|
15-Apr-2014 |
Jason Evans <jasone@canonware.com> |
Remove the *allocm() API, which is superceded by the *allocx() API.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
f234dc51b9740242d8ba69307db7c5a1312f5a03 |
|
17-Jan-2014 |
Jason Evans <je@fb.com> |
Fix name mangling for stress tests. Fix stress tests such that testlib code uses the jet_ allocator, but test code uses libjemalloc. Generate jemalloc_{rename,mangle}.h, the former because it's needed for the stress test name mangling fix, and the latter for consistency. As an artifact of this change, some (but not all) definitions related to the experimental API are absent from the headers unless the feature is enabled at configure time.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
34779914400988922d36815b7085893fbcc89a2e |
|
14-Dec-2013 |
Jason Evans <je@fb.com> |
Fix name mangling issues. Move je_* definitions from jemalloc_macros.h.in to jemalloc_defs.h.in, because only the latter is an autoconf header (#undef substitution occurs). Fix unit tests to use automatic mangling, so that e.g. mallocx is macro-substituted to becom jet_mallocx.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
9f35a71a81adcfd6c0ea6461ecd2b84ac384e34f |
|
07-Dec-2013 |
Jason Evans <jasone@canonware.com> |
Make jemalloc.h formatting more consistent.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
dc1bed62272045651e4bbf2cd85f6fccaf7b1331 |
|
06-Dec-2013 |
Jason Evans <je@fb.com> |
Fix more test refactoring issues.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
86abd0dcd8e478759fe409d338d11558c4cec427 |
|
01-Dec-2013 |
Jason Evans <jasone@canonware.com> |
Refactor to support more varied testing. Refactor the test harness to support three types of tests: - unit: White box unit tests. These tests have full access to all internal jemalloc library symbols. Though in actuality all symbols are prefixed by jet_, macro-based name mangling abstracts this away from test code. - integration: Black box integration tests. These tests link with the installable shared jemalloc library, and with the exception of some utility code and configure-generated macro definitions, they have no access to jemalloc internals. - stress: Black box stress tests. These tests link with the installable shared jemalloc library, as well as with an internal allocator with symbols prefixed by jet_ (same as for unit tests) that can be used to allocate data structures that are internal to the test code. Move existing tests into test/{unit,integration}/ as appropriate. Split out internal parts of jemalloc_defs.h.in and put them in jemalloc_internal_defs.h.in. This reduces internals exposure to applications that #include <jemalloc/jemalloc.h>. Refactor jemalloc.h header generation so that a single header file results, and the prototypes can be used to generate jet_ prototypes for tests. Split jemalloc.h.in into multiple parts (jemalloc_defs.h.in, jemalloc_macros.h.in, jemalloc_protos.h.in, jemalloc_mangle.h.in) and use a shell script to generate a unified jemalloc.h at configure time. Change the default private namespace prefix from "" to "je_". Add missing private namespace mangling. Remove hard-coded private_namespace.h. Instead generate it and private_unnamespace.h from private_symbols.txt. Use similar logic for public symbols, which aids in name mangling for jet_ symbols. Add test_warn() and test_fail(). Replace existing exit(1) calls with test_fail() calls.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
13e4e24c42d17492f85cdd550c1e13d6f929307e |
|
03-Dec-2012 |
Garrett Cooper <yanegomi@gmail.com> |
Fix build break on *BSD Linux uses alloca.h; many other operating systems define alloca(3) in stdlib.h. Signed-off-by: Garrett Cooper <yanegomi@gmail.com>
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
247d1248478561c669a85d831e9758089f93a076 |
|
10-Oct-2012 |
Jason Evans <je@fb.com> |
Drop const from malloc_usable_size() argument on Linux. Drop const from malloc_usable_size() argument on Linux, in order to match the prototype in Linux's malloc.h.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
2e671ffbadc02fc7de8cbafdd1031e3b0ad73c5b |
|
10-May-2012 |
Jason Evans <je@fb.com> |
Add the --enable-mremap option. Add the --enable-mremap option, and disable the use of mremap(2) by default, for the same reason that freeing chunks via munmap(2) is disabled by default on Linux: semi-permanent VM map fragmentation.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
1b523da21c8aded36dbe669a9e9ca78c3c96cad7 |
|
02-May-2012 |
Jason Evans <jasone@canonware.com> |
Fix partial rename of s/EXPORT/JEMALLOC_EXPORT/g.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
fd97b1dfc76647c3f90f28dc63cc987041fe20df |
|
30-Apr-2012 |
Mike Hommey <mh@glandium.org> |
Add support for MSVC Tested with MSVC 8 32 and 64 bits.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
da99e31105eb709ef4ec8a120b115c32a6b9723a |
|
30-Apr-2012 |
Mike Hommey <mh@glandium.org> |
Replace JEMALLOC_ATTR with various different macros when it makes sense Theses newly added macros will be used to implement the equivalent under MSVC. Also, move the definitions to headers, where they make more sense, and for some, are even more useful there (e.g. malloc).
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
666c5bf7a8baaa842da69cb402948411432a9d00 |
|
18-Apr-2012 |
Mike Hommey <mh@glandium.org> |
Add a pages_purge function to wrap madvise(JEMALLOC_MADV_PURGE) calls This will be used to implement the feature on mingw, which doesn't have madvise.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
b57d3ec571c6551231be62b7bf92c084a8c8291c |
|
17-Apr-2012 |
Jason Evans <jasone@canonware.com> |
Add atomic(9) implementations of atomic operations. Add atomic(9) implementations of atomic operations. These are used on FreeBSD for non-x86 architectures.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
7ca0fdfb85b2a9fc7a112e158892c098e004385b |
|
13-Apr-2012 |
Jason Evans <je@fb.com> |
Disable munmap() if it causes VM map holes. Add a configure test to determine whether common mmap()/munmap() patterns cause VM map holes, and only use munmap() to discard unused chunks if the problem does not exist. Unify the chunk caching for mmap and dss. Fix options processing to limit lg_chunk to be large enough that redzones will always fit.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
83c324acd8bd5f32e0ce9b4d3df2f1a0ae46f487 |
|
12-Apr-2012 |
Mike Hommey <mh@glandium.org> |
Use a stub replacement and disable dss when sbrk is not supported
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
122449b073bcbaa504c4f592ea2d733503c272d2 |
|
06-Apr-2012 |
Jason Evans <je@fb.com> |
Implement Valgrind support, redzones, and quarantine. Implement Valgrind support, as well as the redzone and quarantine features, which help Valgrind detect memory errors. Redzones are only implemented for small objects because the changes necessary to support redzones around large and huge objects are complicated by in-place reallocation, to the point that it isn't clear that the maintenance burden is worth the incremental improvement to Valgrind support. Merge arena_salloc() and arena_salloc_demote(). Refactor i[v]salloc() to expose the 'demote' option.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
b147611b5253921a873191bb0589d3b18f613946 |
|
05-Apr-2012 |
Jason Evans <jasone@canonware.com> |
Add utrace(2)-based tracing (--enable-utrace).
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
3cc1f1aa6981d6647aa01cec725fb2c134c1b0e9 |
|
04-Apr-2012 |
Jason Evans <jasone@canonware.com> |
Add tls_model configuration. The tls_model attribute isn't supporte by clang (yet?), so add a configure test that defines JEMALLOC_TLS_MODEL appropriately.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
c1e567bda042d94159026b96e7a77683606037fa |
|
26-Mar-2012 |
Mike Hommey <mh@glandium.org> |
Use __sync_add_and_fetch and __sync_sub_and_fetch when they are available These functions may be available as inlines or as libgcc functions. In the former case, a __GCC_HAVE_SYNC_COMPARE_AND_SWAP_n macro is defined. But we still want to use these functions in the latter case, when we don't have our own implementation.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
41b6afb834b1f5250223678c52bd4f013d4234f6 |
|
03-Feb-2012 |
Jason Evans <jasone@canonware.com> |
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.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
cd9a1346e96f71bdecdc654ea50fc62d76371e74 |
|
22-Mar-2012 |
Jason Evans <je@fb.com> |
Implement tsd. Implement tsd, which is a TLS/TSD abstraction that uses one or both internally. Modify bootstrapping such that no tsd's are utilized until allocation is safe. Remove malloc_[v]tprintf(), and use malloc_snprintf() instead. Fix %p argument size handling in malloc_vsnprintf(). Fix a long-standing statistics-related bug in the "thread.arena" mallctl that could cause crashes due to linked list corruption.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
e24c7af35d1e9d24d02166ac98cfca7cf807ff13 |
|
19-Mar-2012 |
Jason Evans <je@fb.com> |
Invert NO_TLS to JEMALLOC_TLS.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
0a0bbf63e5d9bc60d6854c6d46b437fbeebd1470 |
|
13-Mar-2012 |
Jason Evans <je@fb.com> |
Implement aligned_alloc(). Implement aligned_alloc(), which was added in the C11 standard. The function is weakly specified to the point that a minimally compliant implementation would be painful to use (size must be an integral multiple of alignment!), which in practice makes posix_memalign() a safer choice.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
d81e4bdd5c991bd5642c8b859ef1f752b51cd9be |
|
06-Mar-2012 |
Jason Evans <je@fb.com> |
Implement malloc_vsnprintf(). Implement malloc_vsnprintf() (a subset of vsnprintf(3)) as well as several other printing functions based on it, so that formatted printing can be relied upon without concern for inducing a dependency on floating point runtime support. Replace malloc_write() calls with malloc_*printf() where doing so simplifies the code. Add name mangling for library-private symbols in the data and BSS sections. Adjust CONF_HANDLE_*() macros in malloc_conf_init() to expose all opt_* variable use to cpp so that proper mangling occurs.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
7e77eaffffe5c73d44ee64b14ba4b3d7693179d6 |
|
03-Mar-2012 |
Jason Evans <je@fb.com> |
Add the --disable-experimental option.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
62320b85517c472beb12bf0ba69660393712f51a |
|
02-Mar-2012 |
Jason Evans <je@fb.com> |
Reorder macros.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
0a5489e37da88a1a50fbf8552e0d3a7f8fd93ffc |
|
02-Mar-2012 |
Jason Evans <je@fb.com> |
Add --with-mangling. Add the --with-mangling configure option, which can be used to specify name mangling on a per public symbol basis that takes precedence over --with-jemalloc-prefix. Expose the memalign() and valloc() overrides even if --with-jemalloc-prefix is specified. This change does no real harm, and simplifies the code.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
c90ad71237c05473bcb968beddebb0a487c36e75 |
|
29-Feb-2012 |
Jason Evans <je@fb.com> |
Remove the sysv option.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
b172610317babc7f365584ddd7fdaf4eb8d9d04c |
|
29-Feb-2012 |
Jason Evans <je@fb.com> |
Simplify small size class infrastructure. Program-generate small size class tables for all valid combinations of LG_TINY_MIN, LG_QUANTUM, and PAGE_SHIFT. Use the appropriate table to generate all relevant data structures, and remove the distinction between tiny/quantum/cacheline/subpage bins. Remove --enable-dynamic-page-shift. This option didn't prove useful in practice, and it prevented optimizations. Add Tilera architecture support.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
ef8897b4b938111fcc9b54725067f1dbb33a4c20 |
|
13-Feb-2012 |
Jason Evans <je@fb.com> |
Make 8-byte tiny size class non-optional. When tiny size class support was first added, it was intended to support truly tiny size classes (even 2 bytes). However, this wasn't very useful in practice, so the minimum tiny size class has been limited to sizeof(void *) for a long time now. This is too small to be standards compliant, but other commonly used malloc implementations do not even bother using a 16-byte quantum on systems with vector units (SSE2+, AltiVEC, etc.). As such, it is safe in practice to support an 8-byte tiny size class on 64-bit systems that support 16-byte types.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
4162627757889ea999264c2ddbc3c354768774e2 |
|
13-Feb-2012 |
Jason Evans <je@fb.com> |
Remove the swap feature. Remove the swap feature, which enabled per application swap files. In practice this feature has not proven itself useful to users.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
7372b15a31c63ac5cb9ed8aeabc2a0a3c005e8bf |
|
11-Feb-2012 |
Jason Evans <je@fb.com> |
Reduce cpp conditional logic complexity. Convert configuration-related cpp conditional logic to use static constant variables, e.g.: #ifdef JEMALLOC_DEBUG [...] #endif becomes: if (config_debug) { [...] } The advantage is clearer, more concise code. The main disadvantage is that data structures no longer have conditionally defined fields, so they pay the cost of all fields regardless of whether they are used. In practice, this is only a minor concern; config_stats will go away in an upcoming change, and config_prof is the only other major feature that depends on more than a few special-purpose fields.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
746e77a06bf1089d50fbd64e1759b96c1cfbd9f5 |
|
31-Jul-2011 |
Jason Evans <je@fb.com> |
Add the --with-private-namespace option. Add the --with-private-namespace option to make it possible to work around library-private symbols being exposed in static libraries.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|
7427525c28d58c423a68930160e3b0fe577fe953 |
|
01-Apr-2011 |
Jason Evans <jasone@canonware.com> |
Move repo contents in jemalloc/ to top level.
/external/jemalloc/include/jemalloc/jemalloc_defs.h.in
|