History log of /external/jemalloc/include/jemalloc/jemalloc_protos.h.in
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
83e5767ee9a8c68150cca06ae0d27a13ba4fcaf8 22-Apr-2015 Christopher Ferris <cferris@google.com> Revert "Revert "Merge remote-tracking branch 'aosp/upstream-dev' into merge""

This reverts commit 75929a97332565c3b987986f35652b6d5d275d3c.

The original failure this was reverted for seems to have been a bug somewhere else.

Change-Id: Ib29ba03b1b967f940dc19eceac2aa1d2923be1eb
/external/jemalloc/include/jemalloc/jemalloc_protos.h.in
75929a97332565c3b987986f35652b6d5d275d3c 16-Apr-2015 Nicolas Geoffray <ngeoffray@google.com> Revert "Merge remote-tracking branch 'aosp/upstream-dev' into merge"

Revert due to random ART crashes seen.

This reverts commit 5b5d97b42e84c2ac417271c3fab6fc282496a335.

Change-Id: I62a784301fded7ee853b182d172be46bb32bded7
/external/jemalloc/include/jemalloc/jemalloc_protos.h.in
5b5d97b42e84c2ac417271c3fab6fc282496a335 16-Apr-2015 Christopher Ferris <cferris@google.com> Merge remote-tracking branch 'aosp/upstream-dev' into merge

Change-Id: If743a1d002b1793c08a66c0bbd5c2c3eedcebe64
4cfe55166e0173be745c53adb0fecf50d11d1227 28-Aug-2014 Daniel Micay <danielmicay@gmail.com> Add support for sized deallocation.

This adds a new `sdallocx` function to the external API, allowing the
size to be passed by the caller. It avoids some extra reads in the
thread cache fast path. In the case where stats are enabled, this
avoids the work of calculating the size from the pointer.

An assertion validates the size that's passed in, so enabling debugging
will allow users of the API to debug cases where an incorrect size is
passed in.

The performance win for a contrived microbenchmark doing an allocation
and immediately freeing it is ~10%. It may have a different impact on a
real workload.

Closes #28
/external/jemalloc/include/jemalloc/jemalloc_protos.h.in
c3f865074923bf388742da3ec52dca857a0960a2 09-Sep-2014 Jason Evans <je@fb.com> Add relevant function attributes to [msn]allocx().
/external/jemalloc/include/jemalloc/jemalloc_protos.h.in
82e88d1ecfe3d7bf700355cb5023ab61559f9578 08-Sep-2014 Jason Evans <je@fb.com> Move typedefs from jemalloc_protos.h.in to jemalloc_typedefs.h.in.

Move typedefs from jemalloc_protos.h.in to jemalloc_typedefs.h.in, so
that typedefs aren't redefined when compiling stress tests.
/external/jemalloc/include/jemalloc/jemalloc_protos.h.in
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/include/jemalloc/jemalloc_protos.h.in
59113bcc94b9fc7549611afb99ca99cad1a7f196 06-May-2014 aravind <aravind@fb.com> Add support for user-specified chunk allocators/deallocators.

Add new mallctl endpoints "arena<i>.chunk.alloc" and
"arena<i>.chunk.dealloc" to allow userspace to configure
jemalloc's chunk allocator and deallocator on a per-arena
basis.
/external/jemalloc/include/jemalloc/jemalloc_protos.h.in
e2deab7a751c8080c2b2cdcfd7b11887332be1bb 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/include/jemalloc/jemalloc_protos.h.in
fb7fe50a88ca9bde74e9a401ae17ad3b15bbae28 06-May-2014 aravind <aravind@fb.com> Add support for user-specified chunk allocators/deallocators.

Add new mallctl endpoints "arena<i>.chunk.alloc" and
"arena<i>.chunk.dealloc" to allow userspace to configure
jemalloc's chunk allocator and deallocator on a per-arena
basis.
/external/jemalloc/include/jemalloc/jemalloc_protos.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_protos.h.in
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/include/jemalloc/jemalloc_protos.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_protos.h.in