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
|