History log of /external/jemalloc/INSTALL
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/INSTALL
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/INSTALL
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/INSTALL
9790b9667fd975b1f9a4f108f9d0a20ab265c6b6 15-Apr-2014 Jason Evans <jasone@canonware.com> Remove the *allocm() API, which is superceded by the *allocx() API.
/external/jemalloc/INSTALL
748dfac7788e3cbc2fc6d36196a81d3f002669f6 07-Dec-2013 Jason Evans <jasone@canonware.com> Add test code coverage analysis.

Add test code coverage analysis based on gcov.
/external/jemalloc/INSTALL
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/INSTALL
5135e34062584f67ae2d12b1f3940a9fad32ca9f 06-Dec-2012 Mike Hommey <mh@glandium.org> Allow to enable ivsalloc independently
/external/jemalloc/INSTALL
d0357f7a09a6fcbf1df461b07851f61a7f0bdc2d 26-Nov-2012 Mike Hommey <mh@glandium.org> Allow to disable the zone allocator on Darwin
/external/jemalloc/INSTALL
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/INSTALL
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/INSTALL
079687bb87e2ac13274c2c4ff1134d42a78e9c7a 23-Apr-2012 Jason Evans <je@fb.com> Clean up documentation and formatting.
/external/jemalloc/INSTALL
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/INSTALL
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/INSTALL
b147611b5253921a873191bb0589d3b18f613946 05-Apr-2012 Jason Evans <jasone@canonware.com> Add utrace(2)-based tracing (--enable-utrace).
/external/jemalloc/INSTALL
7e77eaffffe5c73d44ee64b14ba4b3d7693179d6 03-Mar-2012 Jason Evans <je@fb.com> Add the --disable-experimental option.
/external/jemalloc/INSTALL
7b398aca3bfa558774548ffed6c1a8baba46cc79 03-Mar-2012 Jason Evans <je@fb.com> Add fine-grained build/install targets.
/external/jemalloc/INSTALL
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/INSTALL
777c191485452251fbecfe6638a4a54c651e25b3 29-Feb-2012 Jason Evans <je@fb.com> Enable support for junk/zero filling by default.
/external/jemalloc/INSTALL
d073a321091800e71ea56f98701253dc0969d879 29-Feb-2012 Jason Evans <je@fb.com> Enable the stats configuration option by default.
/external/jemalloc/INSTALL
c90ad71237c05473bcb968beddebb0a487c36e75 29-Feb-2012 Jason Evans <je@fb.com> Remove the sysv option.
/external/jemalloc/INSTALL
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/INSTALL
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/INSTALL
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/INSTALL
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/INSTALL
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/INSTALL
7427525c28d58c423a68930160e3b0fe577fe953 01-Apr-2011 Jason Evans <jasone@canonware.com> Move repo contents in jemalloc/ to top level.
/external/jemalloc/INSTALL