History log of /external/jemalloc/configure.ac
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
90ecea9ee863281f3275813b797890d4a055262a 16-May-2014 Valerii Hiora <valerii.hiora@gmail.com> Support for iOS compilation
/external/jemalloc/configure.ac
401e5435319e2555047a1932097a3e7604b0254f 03-Jun-2014 Mike Hommey <mh@glandium.org> Use JEMALLOC_INTERNAL_FFSL in STATIC_PAGE_SHIFT test
/external/jemalloc/configure.ac
e62662574e79a44c0b3611a0233d8bab142113f8 03-Jun-2014 Mike Hommey <mh@glandium.org> Check for __builtin_ffsl before ffsl.

When building with -O0, GCC doesn't use builtins for ffs and ffsl calls,
and uses library function calls instead. But the Android NDK doesn't have
those functions exported from any library, leading to build failure.
However, using __builtin_ffs* uses the builtin inlines.
/external/jemalloc/configure.ac
3c95843a29457b90081423fb2a59f237ad086915 03-Jun-2014 Richard Diamond <wichard@vitalitystudios.com> Add check for madvise(2) to configure.ac.

Some platforms, such as Google's Portable Native Client, use Newlib and
thus lack access to madvise(2). In those instances, pages_purge() is
transformed into a no-op.
/external/jemalloc/configure.ac
2aa7fed9c983d8dcde7c0cacf1b024c966758b88 29-May-2014 Richard Diamond <wichard@vitalitystudios.com> Try to use __builtin_ffsl if ffsl is unavailable.

Some platforms (like those using Newlib) don't have ffs/ffsl. This
commit adds a check to configure.ac for __builtin_ffsl if ffsl isn't
found. __builtin_ffsl performs the same function as ffsl, and has the
added benefit of being available on any platform utilizing
Gcc-compatible compiler.

This change does not address the used of ffs in the MALLOCX_ARENA()
macro.
/external/jemalloc/configure.ac
8ba88b75a8f2c9e06ad6a22f5285fa6444f52ac0 29-May-2014 Mike Hommey <mh@glandium.org> Make in-tree MSVC builds work
/external/jemalloc/configure.ac
dc22ae5c11437c3b6cf8c4ed8b8f5efa0d3bc832 29-May-2014 Mike Hommey <mh@glandium.org> Add -FS flag to support parallel builds with MSVC 2013
/external/jemalloc/configure.ac
c2bc2a423846855e80ac313c23ef4b9c7a66c426 29-May-2014 Mike Hommey <mh@glandium.org> Don't use msvc_compat's C99 headers with MSVC versions that have (some) C99 support
/external/jemalloc/configure.ac
8d8f9aeeaa77514d5732db5bd0111232af21fcfd 29-May-2014 Jason Evans <je@fb.com> Add size class computation capability.

Add size class computation capability, currently used only as validation
of the size class lookup tables. Generalize the size class spacing used
for bins, for eventual use throughout the full range of allocation
sizes.
/external/jemalloc/configure.ac
3fafd78aef36b3d72415faeb8a1a6046397cb275 07-May-2014 Daniel Micay <danielmicay@gmail.com> STATIC_PAGE_SHIFT for cross-compiling jemalloc

Sets `STATIC_PAGE_SHIFT` for cross-compiling jemalloc to 12. A
shift of 12 represents a page size of 4k for practically all
platforms.
/external/jemalloc/configure.ac
5fb06569c0ad4438d61e9720a6dd97497e84177d 28-May-2014 Mike Hommey <mh@glandium.org> Use a configure test to detect the form of malloc_usable_size in malloc.h
/external/jemalloc/configure.ac
12141150fdbda57651a53ae2fe0edaea4891d814 16-May-2014 Jason Evans <je@fb.com> Refactor huge allocation to be managed by arenas.

Refactor huge allocation to be managed by arenas (though the global
red-black tree of huge allocations remains for lookup during
deallocation). This is the logical conclusion of recent changes that 1)
made per arena dss precedence apply to huge allocation, and 2) made it
possible to replace the per arena chunk allocation/deallocation
functions.

Remove the top level huge stats, and replace them with per arena huge
stats.

Normalize function names and types to *dalloc* (some were *dealloc*).

Remove the --enable-mremap option. As jemalloc currently operates, this
is a performace regression for some applications, but planned work to
logarithmically space huge size classes should provide similar amortized
performance. The motivation for this change was that mremap-based huge
reallocation forced leaky abstractions that prevented refactoring.
/external/jemalloc/configure.ac
835cc0ae27acdc087408dd3f607210c658c28aab 23-Apr-2014 Jason Evans <jasone@canonware.com> Update libunwind configuration check to look for unw_backtrace().

Update libunwind configuration check to look for unw_backtrace(), which
is a newer API not available in older versions of libunwind.
/external/jemalloc/configure.ac
4d434adb146375ad17f0d5e994ed5728d2942e3f 15-Apr-2014 Jason Evans <je@fb.com> Make dss non-optional, and fix an "arena.<i>.dss" mallctl bug.

Make dss non-optional on all platforms which support sbrk(2).

Fix the "arena.<i>.dss" mallctl to return an error if "primary" or
"secondary" precedence is specified, but sbrk(2) is not supported.
/external/jemalloc/configure.ac
644d414bc9ab52efbbf7ebeb350170106ec1f937 15-Apr-2014 Jason Evans <jasone@canonware.com> Reverse the cc-silence default.

Replace --enable-cc-silence with --disable-cc-silence, so that by
default people won't see spurious warnings when building jemalloc.
/external/jemalloc/configure.ac
9790b9667fd975b1f9a4f108f9d0a20ab265c6b6 15-Apr-2014 Jason Evans <jasone@canonware.com> Remove the *allocm() API, which is superceded by the *allocx() API.
/external/jemalloc/configure.ac
82abf6fe6913a0f8bccc5ad8aeab081a8d9a5ed8 31-Mar-2014 Jason Evans <jasone@canonware.com> Allow libgcc-based backtracing on x86.

Remove autoconf code that explicitly disabled libgcc-based backtracing
on i[3456]86. There is no mention of which platforms/compilers
exhibited problems when this code was added, and chances are good that
any gcc toolchain issues have long since been fixed.
/external/jemalloc/configure.ac
e181f5aa76d3a9d59a4e0ce46867349334f286d1 31-Mar-2014 Jason Evans <jasone@canonware.com> Keep frame pointers if using gcc frame intrinsics.

Specify -fno-omit-frame-pointer when using __builtin_frame_address() and
__builtin_return_address() for backtracing. This fixes backtracing
failures on e.g. i686 for optimized builds.
/external/jemalloc/configure.ac
df3f27024f193b7baeedcd9f3799b4774dd20bbf 31-Mar-2014 Jason Evans <jasone@canonware.com> Adapt hash tests to big-endian systems.

The hash code, which has MurmurHash3 at its core, generates different
output depending on system endianness, so adapt the expected output on
big-endian systems. MurmurHash3 code also makes the assumption that
unaligned access is okay (not true on all systems), but jemalloc only
hashes data structures that have sufficient alignment to dodge this
limitation.
/external/jemalloc/configure.ac
cb657e3170349a27e753cdf6316513f56550205e 25-Feb-2014 Jason Evans <jasone@canonware.com> Add configure test to verify SSE2 code compiles.

Make sure that emmintrin.h can be #include'd without causing a
compilation error, rather than blindly defining HAVE_SSE2 based on
architecture. Attempts to force SSE2 compilation on a 32-bit Ubuntu
13.10 system running as a VMware guest resulted in a no-win choice
without any obvious explanation besides toolchain misconfiguration/bug:
- Suffer compilation failure due to __MMX__, __SSE__, and __SSE2__ not
being defined, even if -mmmx, -msse, and -msse2 are manually
specified (note that they appear to be enabled by default).
- Manually define __MMX__, __SSE__, and __SSE2__, and suffer compiler
warnings that they are already automatically defined. This results in
successful compilation and execution, but the noise is intolerable.
/external/jemalloc/configure.ac
99b0fbbe6975bf2af1387f75d961ad84fb108276 25-Feb-2014 Jason Evans <jasone@canonware.com> Add workaround for missing 'restrict' keyword.

Add a cpp #define that removes 'restrict' keyword usage unless the
compiler definitely supports C99. As written, 'restrict' is only
enabled if the compiler supports the -std=gnu99 option (e.g. gcc and
llvm).

Reported by Tobias Hieta.
/external/jemalloc/configure.ac
ddd6bd4e99e62feb3e377624b93e8cf88080fca4 13-Feb-2014 George Kola <georgekola@gmail.com> Using MADV_FREE on Solaris/Illumos
/external/jemalloc/configure.ac
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/configure.ac
d82a5e6a34f20698ab9368bb2b4953b81d175552 13-Dec-2013 Jason Evans <jasone@canonware.com> Implement the *allocx() API.

Implement the *allocx() API, which is a successor to the *allocm() API.
The *allocx() functions are slightly simpler to use because they have
fewer parameters, they directly return the results of primary interest,
and mallocx()/rallocx() avoid the strict aliasing pitfall that
allocm()/rallocx() share with posix_memalign(). The following code
violates strict aliasing rules:

foo_t *foo;
allocm((void **)&foo, NULL, 42, 0);

whereas the following is safe:

foo_t *foo;
void *p;
allocm(&p, NULL, 42, 0);
foo = (foo_t *)p;

mallocx() does not have this problem:

foo_t *foo = (foo_t *)mallocx(42, 0);
/external/jemalloc/configure.ac
80061b6df0a8bef0cedbd947d74932ff1c2511e8 09-Dec-2013 Jason Evans <jasone@canonware.com> Integrate SFMT 1.3.3 into test infrastructure.

Integrate the SIMD-oriented Fast Mersenne Twister (SFMT) 1.3.3 into the
test infrastructure.

The sfmt_t state encapsulation modification comes from Crux
(http://www.canonware.com/Crux/) and enables multiple
concurrent PRNGs.

test/unit/SFMT.c is an adaptation of SFMT's test.c that performs all the
same validation, both for 32- and 64-bit generation.
/external/jemalloc/configure.ac
a4f124f59fa5f702231432a7e5fa45140ba81e2a 09-Dec-2013 Jason Evans <jasone@canonware.com> Normalize #define whitespace.

Consistently use a tab rather than a space following #define.
/external/jemalloc/configure.ac
748dfac7788e3cbc2fc6d36196a81d3f002669f6 07-Dec-2013 Jason Evans <jasone@canonware.com> Add test code coverage analysis.

Add test code coverage analysis based on gcov.
/external/jemalloc/configure.ac
d37d5adee4e4570cfda83e5f1b948a25b9226224 06-Dec-2013 Jason Evans <jasone@canonware.com> Disable floating point code/linking when possible.

Unless heap profiling is enabled, disable floating point code and don't
link with libm. This, in combination with e.g. EXTRA_CFLAGS=-mno-sse on
x64 systems, makes it possible to completely disable floating point
register use. Some versions of glibc neglect to save/restore
caller-saved floating point registers during dynamic lazy symbol
loading, and the symbol loading code uses whatever malloc the
application happens to have linked/loaded with, the result being
potential floating point register corruption.
/external/jemalloc/configure.ac
dc1bed62272045651e4bbf2cd85f6fccaf7b1331 06-Dec-2013 Jason Evans <je@fb.com> Fix more test refactoring issues.
/external/jemalloc/configure.ac
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/configure.ac
66688535969c6dcb234448e590f27df38b4eebdf 04-Dec-2013 Jason Evans <jasone@canonware.com> Avoid deprecated sbrk(2) on OS X.

Avoid referencing sbrk(2) on OS X, because it is deprecated as of OS X
10.9 (Mavericks), and the compiler warns against using it.
/external/jemalloc/configure.ac
80ddf498eb166cad45c8592973eb4f949f176688 20-Aug-2013 Jason Evans <je@fb.com> Fix build break for MSVC.

Introduce AROUT to control whether there is space between ARFLAGS and
$@. This regression was introduced by
ad505e0ec622883fbb0650763ea8b54f64a770c9.

Reported by Mike Hommey.
/external/jemalloc/configure.ac
ad505e0ec622883fbb0650763ea8b54f64a770c9 11-Aug-2013 Jory A. Pratt <anarchy@gentoo.org> Allow toolchain to determine ar
/external/jemalloc/configure.ac
2625c8968e88de435d6452e6f202c8dbdeb1775b 23-Jan-2013 Jason Evans <je@fb.com> Fix quoting bug in --without-export implementation.
/external/jemalloc/configure.ac
7329a4f038ed096f3cfa11cb60433f44009fbe16 22-Jan-2013 Jason Evans <jasone@canonware.com> Fix AC_PATH_PROG() calls to specify default.

Fix AC_PATH_PROG() calls to specify 'false' as the default, so that if
the configure script fails to find a program, the false program is
instead called, and an error occurs. Prior to this fix, if xsltproc
could not be found, make would not report an error due to the leading -o
in the xsltproc invocation.

Reported by David Reiss.
/external/jemalloc/configure.ac
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/configure.ac
72c1e59fd249f99dcf5d3992cbdd570a381a67ce 03-Dec-2012 Garrett Cooper <yanegomi@gmail.com> Improve configure tests for ffsl

In particular:
- ffsl always returns int, not long, on FreeBSD, Linux, and OSX.
- Mute compiler warnings about rv being unused (and the potential for
compilers optimizing out the call completely) by dumping the value
with printf(3).

Signed-off-by: Garrett Cooper <yanegomi@gmail.com>
/external/jemalloc/configure.ac
5135e34062584f67ae2d12b1f3940a9fad32ca9f 06-Dec-2012 Mike Hommey <mh@glandium.org> Allow to enable ivsalloc independently
/external/jemalloc/configure.ac
d0357f7a09a6fcbf1df461b07851f61a7f0bdc2d 26-Nov-2012 Mike Hommey <mh@glandium.org> Allow to disable the zone allocator on Darwin
/external/jemalloc/configure.ac
9906660eb7365abb54e4495407ffddb1069ef654 19-Nov-2012 Mike Hommey <mh@glandium.org> Allow to build without exporting symbols

When statically linking jemalloc, it may be beneficial not to export its
symbols if it makes sense, which allows the compiler and the linker to do
some further optimizations.
/external/jemalloc/configure.ac
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/configure.ac
a6770a70493bc25495d17bc8b4a0246b3877918b 03-May-2012 Mike Hommey <mh@glandium.org> Remove -fno-common compiler flag for OS X.

It doesn't allow the je_malloc_message and je_malloc_conf symbols to be
overridden when linking statically.
/external/jemalloc/configure.ac
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/configure.ac
79c4bca7d10e967ff524f17a6990e5c630116198 02-May-2012 Mike Hommey <mh@glandium.org> Use "hardcoded" dependencies when compiler doesn't support -MM
/external/jemalloc/configure.ac
7bfecf412dab69e771c9bbbaa01160bb69af8ec0 30-Apr-2012 Mike Hommey <mh@glandium.org> Check for VALGRIND_RESIZEINPLACE_BLOCK support

VALGRIND_RESIZEINPLACE_BLOCK was added in valgrind 3.7. Unfortunately, the
__VALGRIND_MINOR__ macro still says 6 in 3.7 :(
/external/jemalloc/configure.ac
fd97b1dfc76647c3f90f28dc63cc987041fe20df 30-Apr-2012 Mike Hommey <mh@glandium.org> Add support for MSVC

Tested with MSVC 8 32 and 64 bits.
/external/jemalloc/configure.ac
7cdea3973cab8640d1f44c7638ed5e30ed18be24 30-Apr-2012 Mike Hommey <mh@glandium.org> Few configure.ac adjustments

- Use the extensions autoconf finds for object and executable files.
- Remove the sorev variable, and replace SOREV definition with sorev's.
- Default to je_ prefix on win32.
/external/jemalloc/configure.ac
6716aa83526b3f866d73a033970cc920bc61c13f 23-Apr-2012 Jason Evans <je@fb.com> Force use of TLS if heap profiling is enabled.
/external/jemalloc/configure.ac
a4936ce4d635ef129be201f53cdc0786315ac3b6 23-Apr-2012 Jason Evans <je@fb.com> Fix jemalloc.sh code generation.

Fix jemalloc.sh code generation by adding @sorev@ and using it instead
of @SOREV@ (which contains Makefile-specific variables).
/external/jemalloc/configure.ac
14103d3598e7b828e79a81f2978dc08348677b02 20-Apr-2012 Mike Hommey <mh@glandium.org> Fix intmax_t configure error message
/external/jemalloc/configure.ac
a19e87fbad020e8dd3d26682032929e8e5ae71c1 22-Apr-2012 Mike Hommey <mh@glandium.org> Add support for Mingw
/external/jemalloc/configure.ac
188da7c3f5bcc2a1b19f8f7a7d326dcb8702c762 18-Apr-2012 Mike Hommey <mh@glandium.org> Refactor object and library build, and only build PIC libraries when PIC_CFLAGS is defined
/external/jemalloc/configure.ac
85221d5d75be26ce8941cc08a798e69ecdd0a57c 18-Apr-2012 Mike Hommey <mh@glandium.org> Make versioned shared library suffix configurable

This allows for different patterns for file names:
- lib.so.version for e.g. Linux
- lib.version.dylib for OSX (which is much more common than
lib.dylib.version)
- lib.dll for Windows (no version at all).
/external/jemalloc/configure.ac
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/configure.ac
fa08da752bf91c146f77fff59b4ed09b42633260 16-Apr-2012 Mike Hommey <mh@glandium.org> Limit the number of flags directly given to the linker, and refactor rpath

This will make things easier for MSVC support.
/external/jemalloc/configure.ac
5bee66d3edec3bfd83bfb7c0e978e8d0c9e4888a 16-Apr-2012 Mike Hommey <mh@glandium.org> Add variables for library prefix, and static library, object and executable suffixes

This makes hacking on Makefile easier.
/external/jemalloc/configure.ac
59ae2766af88bad07ac721c4ee427b171e897bcb 17-Apr-2012 Jason Evans <je@fb.com> Add the --disable-munmap option.

Add the --disable-munmap option, remove the configure test that
attempted to detect the VM allocation quirk known to exist on Linux
x86[_64], and make --disable-munmap implicit on Linux.
/external/jemalloc/configure.ac
a398a6b46e53035a4ef660b4c7a1c406f3abe645 16-Apr-2012 Jason Evans <je@fb.com> Remove configure test cruft.
/external/jemalloc/configure.ac
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/configure.ac
83c324acd8bd5f32e0ce9b4d3df2f1a0ae46f487 12-Apr-2012 Mike Hommey <mh@glandium.org> Use a stub replacement and disable dss when sbrk is not supported
/external/jemalloc/configure.ac
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/configure.ac
b147611b5253921a873191bb0589d3b18f613946 05-Apr-2012 Jason Evans <jasone@canonware.com> Add utrace(2)-based tracing (--enable-utrace).
/external/jemalloc/configure.ac
02b231205e802a7c4f33899a569adcb1312a85d5 05-Apr-2012 Jason Evans <je@fb.com> Fix threaded initialization and enable it on Linux.

Reported by Mike Hommey.
/external/jemalloc/configure.ac
382132eeacd9311a7a25d5b8f126d82ef453d60d 05-Apr-2012 Jason Evans <je@fb.com> Add missing include for ffsl() test.
/external/jemalloc/configure.ac
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/configure.ac
2cfe6d67ef6a622eeb47ba48b431bdafc0c45b35 27-Mar-2012 Mike Hommey <mh@glandium.org> Change AC_COMPILE_IFELSE into AC_LINK_IFELSE for the __sync_{add, sub}_and_fetch() test

With the Android NDK, __sync_{add,sub}_and_fetch() compile fine for uint64_t,
but the corresponding libgcc function aren't there.
/external/jemalloc/configure.ac
fd4fcefa004e04ea8672b11e280a6ced16c38dd2 24-Mar-2012 Jason Evans <jasone@canonware.com> Force the lazy-lock feature on FreeBSD.

Force the lazy-lock feature on FreeBSD in order to avoid pthread_self(),
because it causes allocation. (This change was mistakenly omitted from
41b6afb834b1f5250223678c52bd4f013d4234f6.)
/external/jemalloc/configure.ac
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/configure.ac
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/configure.ac
b80581d30928e04b3d12b1fec2b989da44a07e2c 24-Mar-2012 Jason Evans <jasone@canonware.com> Forcibly disable TLS on OS X.

Forcibly disable TLS on OS X. gcc and llvm-gcc on OS X do not support
TLS, but clang does. Unfortunately, the implementation calls malloc()
internally during TLS initialization, which causes an unresolvable
bootstrapping issue.
/external/jemalloc/configure.ac
9022bf9bfd6ab907e5b019fed09fdc3acdf1c280 24-Mar-2012 Jason Evans <jasone@canonware.com> Remove -no-cpp-precomp compiler flag for OS X.

Remove the -no-cpp-precomp compiler flag when compiling on OS X. clang
does not support the flag, and gcc works fine without it.
/external/jemalloc/configure.ac
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/configure.ac
154829d2560a202ef6378b089655747585e44fb5 20-Mar-2012 Mike Hommey <mh@glandium.org> Improve zone support for OSX

I tested a build from 10.7 run on 10.7 and 10.6, and a build from 10.6
run on 10.6. The AC_COMPILE_IFELSE limbo is to avoid running a program
during configure, which presumably makes it work when cross compiling
for iOS.
/external/jemalloc/configure.ac
650285d5be2aacd9c0e60260563dd0235b729af7 19-Mar-2012 Jason Evans <je@fb.com> Generalize dlsym() configuration.

Generalize dlsym() configuration to succeed if dlsym() is in libc rather
than libdl.
/external/jemalloc/configure.ac
e24c7af35d1e9d24d02166ac98cfca7cf807ff13 19-Mar-2012 Jason Evans <je@fb.com> Invert NO_TLS to JEMALLOC_TLS.
/external/jemalloc/configure.ac
f3e139a1ef17f300ebed0577a0ee7b3714404707 19-Mar-2012 Jason Evans <je@fb.com> Use AC_LINK_IFELSE() rather than AC_RUN_IFELSE() in JE_COMPILABLE().

Reported by Mike Hommey.
/external/jemalloc/configure.ac
7091b415bb41b9d7098a24cfe0a577299622f5db 19-Mar-2012 Jason Evans <je@fb.com> Fix various documentation formatting regressions.
/external/jemalloc/configure.ac
39006f990771518b1b7d4b8dfdfac72409ef26ca 17-Mar-2012 Jason Evans <je@fb.com> Look for pthreads functionality in libc.

If there is no libpthread, look for pthreads functionality in libc
before failing to configure pthreads. This is necessary on at least the
Android platform.

Reported by Mike Hommey.
/external/jemalloc/configure.ac
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/configure.ac
4c2faa8a7c42a47a6bea509f5a23234bc5a66d40 13-Mar-2012 Jason Evans <je@fb.com> Fix a regression in JE_COMPILABLE().

Revert JE_COMPILABLE() so that it detects link errors. Cross-compiling
should still work as long as a valid configure cache is provided.

Clean up some comments/whitespace.
/external/jemalloc/configure.ac
08fc3b2d5173512a2c1fdbe11cf00c8c70bad503 12-Mar-2012 Jason Evans <je@fb.com> Fix --with-mangling/--with-jemalloc-prefix interaction.

Fix --with-mangling to remove mangled symbols from the set of functions
to apply a prefix to. Prior to this change, the interaction was correct
with autoconf 2.59, but incorrect with autoconf 2.65.
/external/jemalloc/configure.ac
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/configure.ac
6684cacfa8fa9d82762983bce11bb953ce62ba8e 05-Mar-2012 Jason Evans <je@fb.com> Tweak configure.ac to support cross-compiling.

Submitted by Andreas Vinsander.
/external/jemalloc/configure.ac
7e77eaffffe5c73d44ee64b14ba4b3d7693179d6 03-Mar-2012 Jason Evans <je@fb.com> Add the --disable-experimental option.
/external/jemalloc/configure.ac
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/configure.ac
777c191485452251fbecfe6638a4a54c651e25b3 29-Feb-2012 Jason Evans <je@fb.com> Enable support for junk/zero filling by default.
/external/jemalloc/configure.ac
d073a321091800e71ea56f98701253dc0969d879 29-Feb-2012 Jason Evans <je@fb.com> Enable the stats configuration option by default.
/external/jemalloc/configure.ac
c90ad71237c05473bcb968beddebb0a487c36e75 29-Feb-2012 Jason Evans <je@fb.com> Remove the sysv option.
/external/jemalloc/configure.ac
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/configure.ac
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/configure.ac
0fee70d718b9846cfab04225dc86a4b4216b963f 13-Feb-2012 Jason Evans <je@fb.com> Do not enable lazy locking by default.

Do not enable lazy locking by default, because:
- It's fragile (applications can subvert detection of multi-threaded
mode).
- Thread caching amortizes locking overhead in the default
configuration.
/external/jemalloc/configure.ac
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/configure.ac
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/configure.ac
f576c63f1eb29ce32e930501f65c541ff344e912 02-Nov-2011 Jason Evans <je@fb.com> Refactor SO and REV make variables.

Refactor the SO and REV such that they are set via autoconf variables,
@so@ and @rev@. These variables are both needed by the jemalloc.sh
script, so this unifies their definitions.
/external/jemalloc/configure.ac
2bd3cbc5c68bb9b097c382108ae1aed793e08062 13-Oct-2011 Antony Dovgal <tony@daylessday.org> add autogenerated jemalloc.sh wrapper script
/external/jemalloc/configure.ac
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/configure.ac
955851f3849e3fb57541bef37e241caf5aa7692c 01-Apr-2011 Jason Evans <jasone@canonware.com> Adjust repo path dependencies.

Update .gitignore and configure.ac to deal with the recent directory
restructuring.
/external/jemalloc/configure.ac
7427525c28d58c423a68930160e3b0fe577fe953 01-Apr-2011 Jason Evans <jasone@canonware.com> Move repo contents in jemalloc/ to top level.
/external/jemalloc/configure.ac