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.
2013-12-01 07:25:42 +08:00
|
|
|
a0calloc
|
|
|
|
a0free
|
|
|
|
a0malloc
|
|
|
|
arena_alloc_junk_small
|
|
|
|
arena_bin_index
|
|
|
|
arena_bin_info
|
|
|
|
arena_boot
|
|
|
|
arena_dalloc
|
|
|
|
arena_dalloc_bin
|
|
|
|
arena_dalloc_bin_locked
|
2014-01-08 08:47:56 +08:00
|
|
|
arena_dalloc_junk_large
|
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.
2013-12-01 07:25:42 +08:00
|
|
|
arena_dalloc_junk_small
|
|
|
|
arena_dalloc_large
|
|
|
|
arena_dalloc_large_locked
|
|
|
|
arena_dalloc_small
|
|
|
|
arena_dss_prec_get
|
|
|
|
arena_dss_prec_set
|
|
|
|
arena_malloc
|
|
|
|
arena_malloc_large
|
|
|
|
arena_malloc_small
|
|
|
|
arena_mapbits_allocated_get
|
|
|
|
arena_mapbits_binind_get
|
|
|
|
arena_mapbits_dirty_get
|
|
|
|
arena_mapbits_get
|
|
|
|
arena_mapbits_large_binind_set
|
|
|
|
arena_mapbits_large_get
|
|
|
|
arena_mapbits_large_set
|
|
|
|
arena_mapbits_large_size_get
|
|
|
|
arena_mapbits_small_runind_get
|
|
|
|
arena_mapbits_small_set
|
|
|
|
arena_mapbits_unallocated_set
|
|
|
|
arena_mapbits_unallocated_size_get
|
|
|
|
arena_mapbits_unallocated_size_set
|
|
|
|
arena_mapbits_unzeroed_get
|
|
|
|
arena_mapbits_unzeroed_set
|
|
|
|
arena_mapbitsp_get
|
|
|
|
arena_mapbitsp_read
|
|
|
|
arena_mapbitsp_write
|
|
|
|
arena_mapp_get
|
|
|
|
arena_maxclass
|
|
|
|
arena_new
|
|
|
|
arena_palloc
|
|
|
|
arena_postfork_child
|
|
|
|
arena_postfork_parent
|
|
|
|
arena_prefork
|
|
|
|
arena_prof_accum
|
|
|
|
arena_prof_accum_impl
|
|
|
|
arena_prof_accum_locked
|
|
|
|
arena_prof_ctx_get
|
|
|
|
arena_prof_ctx_set
|
|
|
|
arena_prof_promoted
|
|
|
|
arena_ptr_small_binind_get
|
|
|
|
arena_purge_all
|
2013-12-18 07:14:36 +08:00
|
|
|
arena_quarantine_junk_small
|
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.
2013-12-01 07:25:42 +08:00
|
|
|
arena_ralloc
|
2014-01-08 08:47:56 +08:00
|
|
|
arena_ralloc_junk_large
|
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.
2013-12-01 07:25:42 +08:00
|
|
|
arena_ralloc_no_move
|
2013-12-18 07:14:36 +08:00
|
|
|
arena_redzone_corruption
|
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.
2013-12-01 07:25:42 +08:00
|
|
|
arena_run_regind
|
|
|
|
arena_salloc
|
|
|
|
arena_stats_merge
|
|
|
|
arena_tcache_fill_small
|
|
|
|
arenas
|
|
|
|
arenas_booted
|
|
|
|
arenas_cleanup
|
|
|
|
arenas_extend
|
|
|
|
arenas_initialized
|
|
|
|
arenas_lock
|
|
|
|
arenas_tls
|
|
|
|
arenas_tsd
|
|
|
|
arenas_tsd_boot
|
|
|
|
arenas_tsd_cleanup_wrapper
|
|
|
|
arenas_tsd_get
|
|
|
|
arenas_tsd_get_wrapper
|
|
|
|
arenas_tsd_init_head
|
|
|
|
arenas_tsd_set
|
|
|
|
atomic_add_u
|
|
|
|
atomic_add_uint32
|
|
|
|
atomic_add_uint64
|
|
|
|
atomic_add_z
|
|
|
|
atomic_sub_u
|
|
|
|
atomic_sub_uint32
|
|
|
|
atomic_sub_uint64
|
|
|
|
atomic_sub_z
|
|
|
|
base_alloc
|
|
|
|
base_boot
|
|
|
|
base_calloc
|
|
|
|
base_node_alloc
|
|
|
|
base_node_dealloc
|
|
|
|
base_postfork_child
|
|
|
|
base_postfork_parent
|
|
|
|
base_prefork
|
|
|
|
bitmap_full
|
|
|
|
bitmap_get
|
|
|
|
bitmap_info_init
|
|
|
|
bitmap_info_ngroups
|
|
|
|
bitmap_init
|
|
|
|
bitmap_set
|
|
|
|
bitmap_sfu
|
|
|
|
bitmap_size
|
|
|
|
bitmap_unset
|
|
|
|
bt_init
|
|
|
|
buferror
|
|
|
|
choose_arena
|
|
|
|
choose_arena_hard
|
|
|
|
chunk_alloc
|
|
|
|
chunk_alloc_dss
|
|
|
|
chunk_alloc_mmap
|
|
|
|
chunk_boot
|
|
|
|
chunk_dealloc
|
|
|
|
chunk_dealloc_mmap
|
|
|
|
chunk_dss_boot
|
|
|
|
chunk_dss_postfork_child
|
|
|
|
chunk_dss_postfork_parent
|
|
|
|
chunk_dss_prec_get
|
|
|
|
chunk_dss_prec_set
|
|
|
|
chunk_dss_prefork
|
|
|
|
chunk_in_dss
|
|
|
|
chunk_npages
|
|
|
|
chunk_postfork_child
|
|
|
|
chunk_postfork_parent
|
|
|
|
chunk_prefork
|
|
|
|
chunk_unmap
|
|
|
|
chunks_mtx
|
|
|
|
chunks_rtree
|
|
|
|
chunksize
|
|
|
|
chunksize_mask
|
|
|
|
ckh_bucket_search
|
|
|
|
ckh_count
|
|
|
|
ckh_delete
|
|
|
|
ckh_evict_reloc_insert
|
|
|
|
ckh_insert
|
|
|
|
ckh_isearch
|
|
|
|
ckh_iter
|
|
|
|
ckh_new
|
|
|
|
ckh_pointer_hash
|
|
|
|
ckh_pointer_keycomp
|
|
|
|
ckh_rebuild
|
|
|
|
ckh_remove
|
|
|
|
ckh_search
|
|
|
|
ckh_string_hash
|
|
|
|
ckh_string_keycomp
|
|
|
|
ckh_try_bucket_insert
|
|
|
|
ckh_try_insert
|
|
|
|
ctl_boot
|
|
|
|
ctl_bymib
|
|
|
|
ctl_byname
|
|
|
|
ctl_nametomib
|
|
|
|
ctl_postfork_child
|
|
|
|
ctl_postfork_parent
|
|
|
|
ctl_prefork
|
|
|
|
dss_prec_names
|
|
|
|
extent_tree_ad_first
|
|
|
|
extent_tree_ad_insert
|
|
|
|
extent_tree_ad_iter
|
|
|
|
extent_tree_ad_iter_recurse
|
|
|
|
extent_tree_ad_iter_start
|
|
|
|
extent_tree_ad_last
|
|
|
|
extent_tree_ad_new
|
|
|
|
extent_tree_ad_next
|
|
|
|
extent_tree_ad_nsearch
|
|
|
|
extent_tree_ad_prev
|
|
|
|
extent_tree_ad_psearch
|
|
|
|
extent_tree_ad_remove
|
|
|
|
extent_tree_ad_reverse_iter
|
|
|
|
extent_tree_ad_reverse_iter_recurse
|
|
|
|
extent_tree_ad_reverse_iter_start
|
|
|
|
extent_tree_ad_search
|
|
|
|
extent_tree_szad_first
|
|
|
|
extent_tree_szad_insert
|
|
|
|
extent_tree_szad_iter
|
|
|
|
extent_tree_szad_iter_recurse
|
|
|
|
extent_tree_szad_iter_start
|
|
|
|
extent_tree_szad_last
|
|
|
|
extent_tree_szad_new
|
|
|
|
extent_tree_szad_next
|
|
|
|
extent_tree_szad_nsearch
|
|
|
|
extent_tree_szad_prev
|
|
|
|
extent_tree_szad_psearch
|
|
|
|
extent_tree_szad_remove
|
|
|
|
extent_tree_szad_reverse_iter
|
|
|
|
extent_tree_szad_reverse_iter_recurse
|
|
|
|
extent_tree_szad_reverse_iter_start
|
|
|
|
extent_tree_szad_search
|
|
|
|
get_errno
|
|
|
|
hash
|
|
|
|
hash_fmix_32
|
|
|
|
hash_fmix_64
|
|
|
|
hash_get_block_32
|
|
|
|
hash_get_block_64
|
|
|
|
hash_rotl_32
|
|
|
|
hash_rotl_64
|
|
|
|
hash_x64_128
|
|
|
|
hash_x86_128
|
|
|
|
hash_x86_32
|
|
|
|
huge_allocated
|
|
|
|
huge_boot
|
|
|
|
huge_dalloc
|
2014-01-08 08:47:56 +08:00
|
|
|
huge_dalloc_junk
|
2014-04-01 00:31:38 +08:00
|
|
|
huge_dss_prec_get
|
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.
2013-12-01 07:25:42 +08:00
|
|
|
huge_malloc
|
|
|
|
huge_mtx
|
|
|
|
huge_ndalloc
|
|
|
|
huge_nmalloc
|
|
|
|
huge_palloc
|
|
|
|
huge_postfork_child
|
|
|
|
huge_postfork_parent
|
|
|
|
huge_prefork
|
|
|
|
huge_prof_ctx_get
|
|
|
|
huge_prof_ctx_set
|
|
|
|
huge_ralloc
|
|
|
|
huge_ralloc_no_move
|
|
|
|
huge_salloc
|
|
|
|
icalloc
|
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);
2013-12-13 14:35:52 +08:00
|
|
|
icalloct
|
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.
2013-12-01 07:25:42 +08:00
|
|
|
idalloc
|
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);
2013-12-13 14:35:52 +08:00
|
|
|
idalloct
|
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.
2013-12-01 07:25:42 +08:00
|
|
|
imalloc
|
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);
2013-12-13 14:35:52 +08:00
|
|
|
imalloct
|
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.
2013-12-01 07:25:42 +08:00
|
|
|
ipalloc
|
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);
2013-12-13 14:35:52 +08:00
|
|
|
ipalloct
|
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.
2013-12-01 07:25:42 +08:00
|
|
|
iqalloc
|
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);
2013-12-13 14:35:52 +08:00
|
|
|
iqalloct
|
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.
2013-12-01 07:25:42 +08:00
|
|
|
iralloc
|
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);
2013-12-13 14:35:52 +08:00
|
|
|
iralloct
|
2014-01-13 07:05:44 +08:00
|
|
|
iralloct_realign
|
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.
2013-12-01 07:25:42 +08:00
|
|
|
isalloc
|
|
|
|
isthreaded
|
|
|
|
ivsalloc
|
2014-01-13 07:05:44 +08:00
|
|
|
ixalloc
|
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.
2013-12-01 07:25:42 +08:00
|
|
|
jemalloc_postfork_child
|
|
|
|
jemalloc_postfork_parent
|
|
|
|
jemalloc_prefork
|
|
|
|
malloc_cprintf
|
|
|
|
malloc_mutex_init
|
|
|
|
malloc_mutex_lock
|
|
|
|
malloc_mutex_postfork_child
|
|
|
|
malloc_mutex_postfork_parent
|
|
|
|
malloc_mutex_prefork
|
|
|
|
malloc_mutex_unlock
|
|
|
|
malloc_printf
|
|
|
|
malloc_snprintf
|
|
|
|
malloc_strtoumax
|
|
|
|
malloc_tsd_boot
|
|
|
|
malloc_tsd_cleanup_register
|
|
|
|
malloc_tsd_dalloc
|
|
|
|
malloc_tsd_malloc
|
|
|
|
malloc_tsd_no_cleanup
|
|
|
|
malloc_vcprintf
|
|
|
|
malloc_vsnprintf
|
|
|
|
malloc_write
|
|
|
|
map_bias
|
|
|
|
mb_write
|
|
|
|
mutex_boot
|
|
|
|
narenas_auto
|
|
|
|
narenas_total
|
|
|
|
narenas_total_get
|
|
|
|
ncpus
|
|
|
|
nhbins
|
|
|
|
opt_abort
|
|
|
|
opt_dss
|
|
|
|
opt_junk
|
|
|
|
opt_lg_chunk
|
|
|
|
opt_lg_dirty_mult
|
|
|
|
opt_lg_prof_interval
|
|
|
|
opt_lg_prof_sample
|
|
|
|
opt_lg_tcache_max
|
|
|
|
opt_narenas
|
|
|
|
opt_prof
|
|
|
|
opt_prof_accum
|
|
|
|
opt_prof_active
|
|
|
|
opt_prof_final
|
|
|
|
opt_prof_gdump
|
|
|
|
opt_prof_leak
|
|
|
|
opt_prof_prefix
|
|
|
|
opt_quarantine
|
|
|
|
opt_redzone
|
|
|
|
opt_stats_print
|
|
|
|
opt_tcache
|
|
|
|
opt_utrace
|
|
|
|
opt_valgrind
|
|
|
|
opt_xmalloc
|
|
|
|
opt_zero
|
|
|
|
p2rz
|
|
|
|
pages_purge
|
|
|
|
pow2_ceil
|
|
|
|
prof_backtrace
|
|
|
|
prof_boot0
|
|
|
|
prof_boot1
|
|
|
|
prof_boot2
|
2014-01-18 07:40:52 +08:00
|
|
|
prof_bt_count
|
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.
2013-12-01 07:25:42 +08:00
|
|
|
prof_ctx_get
|
|
|
|
prof_ctx_set
|
2014-01-18 07:40:52 +08:00
|
|
|
prof_dump_open
|
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.
2013-12-01 07:25:42 +08:00
|
|
|
prof_free
|
|
|
|
prof_gdump
|
|
|
|
prof_idump
|
|
|
|
prof_interval
|
|
|
|
prof_lookup
|
|
|
|
prof_malloc
|
|
|
|
prof_mdump
|
|
|
|
prof_postfork_child
|
|
|
|
prof_postfork_parent
|
|
|
|
prof_prefork
|
|
|
|
prof_realloc
|
|
|
|
prof_sample_accum_update
|
|
|
|
prof_sample_threshold_update
|
|
|
|
prof_tdata_booted
|
|
|
|
prof_tdata_cleanup
|
|
|
|
prof_tdata_get
|
|
|
|
prof_tdata_init
|
|
|
|
prof_tdata_initialized
|
|
|
|
prof_tdata_tls
|
|
|
|
prof_tdata_tsd
|
|
|
|
prof_tdata_tsd_boot
|
|
|
|
prof_tdata_tsd_cleanup_wrapper
|
|
|
|
prof_tdata_tsd_get
|
|
|
|
prof_tdata_tsd_get_wrapper
|
|
|
|
prof_tdata_tsd_init_head
|
|
|
|
prof_tdata_tsd_set
|
|
|
|
quarantine
|
|
|
|
quarantine_alloc_hook
|
|
|
|
quarantine_boot
|
|
|
|
quarantine_booted
|
|
|
|
quarantine_cleanup
|
|
|
|
quarantine_init
|
|
|
|
quarantine_tls
|
|
|
|
quarantine_tsd
|
|
|
|
quarantine_tsd_boot
|
|
|
|
quarantine_tsd_cleanup_wrapper
|
|
|
|
quarantine_tsd_get
|
|
|
|
quarantine_tsd_get_wrapper
|
|
|
|
quarantine_tsd_init_head
|
|
|
|
quarantine_tsd_set
|
|
|
|
register_zone
|
2014-01-03 08:08:28 +08:00
|
|
|
rtree_delete
|
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.
2013-12-01 07:25:42 +08:00
|
|
|
rtree_get
|
|
|
|
rtree_get_locked
|
|
|
|
rtree_new
|
|
|
|
rtree_postfork_child
|
|
|
|
rtree_postfork_parent
|
|
|
|
rtree_prefork
|
|
|
|
rtree_set
|
|
|
|
s2u
|
|
|
|
sa2u
|
|
|
|
set_errno
|
|
|
|
small_size2bin
|
|
|
|
stats_cactive
|
|
|
|
stats_cactive_add
|
|
|
|
stats_cactive_get
|
|
|
|
stats_cactive_sub
|
|
|
|
stats_chunks
|
|
|
|
stats_print
|
|
|
|
tcache_alloc_easy
|
|
|
|
tcache_alloc_large
|
|
|
|
tcache_alloc_small
|
|
|
|
tcache_alloc_small_hard
|
|
|
|
tcache_arena_associate
|
|
|
|
tcache_arena_dissociate
|
|
|
|
tcache_bin_flush_large
|
|
|
|
tcache_bin_flush_small
|
|
|
|
tcache_bin_info
|
|
|
|
tcache_boot0
|
|
|
|
tcache_boot1
|
|
|
|
tcache_booted
|
|
|
|
tcache_create
|
|
|
|
tcache_dalloc_large
|
|
|
|
tcache_dalloc_small
|
|
|
|
tcache_destroy
|
|
|
|
tcache_enabled_booted
|
|
|
|
tcache_enabled_get
|
|
|
|
tcache_enabled_initialized
|
|
|
|
tcache_enabled_set
|
|
|
|
tcache_enabled_tls
|
|
|
|
tcache_enabled_tsd
|
|
|
|
tcache_enabled_tsd_boot
|
|
|
|
tcache_enabled_tsd_cleanup_wrapper
|
|
|
|
tcache_enabled_tsd_get
|
|
|
|
tcache_enabled_tsd_get_wrapper
|
|
|
|
tcache_enabled_tsd_init_head
|
|
|
|
tcache_enabled_tsd_set
|
|
|
|
tcache_event
|
|
|
|
tcache_event_hard
|
|
|
|
tcache_flush
|
|
|
|
tcache_get
|
|
|
|
tcache_initialized
|
|
|
|
tcache_maxclass
|
|
|
|
tcache_salloc
|
|
|
|
tcache_stats_merge
|
|
|
|
tcache_thread_cleanup
|
|
|
|
tcache_tls
|
|
|
|
tcache_tsd
|
|
|
|
tcache_tsd_boot
|
|
|
|
tcache_tsd_cleanup_wrapper
|
|
|
|
tcache_tsd_get
|
|
|
|
tcache_tsd_get_wrapper
|
|
|
|
tcache_tsd_init_head
|
|
|
|
tcache_tsd_set
|
|
|
|
thread_allocated_booted
|
|
|
|
thread_allocated_initialized
|
|
|
|
thread_allocated_tls
|
|
|
|
thread_allocated_tsd
|
|
|
|
thread_allocated_tsd_boot
|
|
|
|
thread_allocated_tsd_cleanup_wrapper
|
|
|
|
thread_allocated_tsd_get
|
|
|
|
thread_allocated_tsd_get_wrapper
|
|
|
|
thread_allocated_tsd_init_head
|
|
|
|
thread_allocated_tsd_set
|
|
|
|
tsd_init_check_recursion
|
|
|
|
tsd_init_finish
|
|
|
|
u2rz
|