Replace extent_tree_szad_* with extent_heap_*.

This commit is contained in:
Jason Evans
2016-05-17 14:58:56 -07:00
parent ffa45a5331
commit fc0372a15e
9 changed files with 333 additions and 104 deletions

View File

@@ -418,11 +418,11 @@ struct arena_s {
malloc_mutex_t huge_mtx;
/*
* Trees of chunks that were previously allocated. These are used when
* Heaps of chunks that were previously allocated. These are used when
* allocating chunks, in an attempt to re-use address space.
*/
extent_tree_t chunks_szad_cached;
extent_tree_t chunks_szad_retained;
extent_heap_t chunks_cached[NPSIZES];
extent_heap_t chunks_retained[NPSIZES];
malloc_mutex_t chunks_mtx;
/* Cache of extent structures that were allocated via base_alloc(). */

View File

@@ -49,20 +49,29 @@ struct extent_s {
qr(extent_t) cc_link;
union {
/* Linkage for the size/address-ordered tree. */
rb_node(extent_t) szad_link;
/* Linkage for per size class address-ordered heaps. */
phn(extent_t) ph_link;
/* Linkage for arena's achunks, huge, and node_cache lists. */
ql_elm(extent_t) ql_link;
};
};
typedef rb_tree(extent_t) extent_tree_t;
typedef ph(extent_t) extent_heap_t;
#endif /* JEMALLOC_H_STRUCTS */
/******************************************************************************/
#ifdef JEMALLOC_H_EXTERNS
rb_proto(, extent_tree_szad_, extent_tree_t, extent_t)
#ifdef JEMALLOC_JET
typedef size_t (extent_size_quantize_t)(size_t);
extern extent_size_quantize_t *extent_size_quantize_floor;
extern extent_size_quantize_t *extent_size_quantize_ceil;
#else
size_t extent_size_quantize_floor(size_t size);
size_t extent_size_quantize_ceil(size_t size);
#endif
ph_proto(, extent_heap_, extent_heap_t, extent_t)
#endif /* JEMALLOC_H_EXTERNS */
/******************************************************************************/

View File

@@ -222,27 +222,10 @@ extent_prof_tctx_set
extent_retained_get
extent_size_get
extent_size_set
extent_size_quantize_ceil
extent_size_quantize_floor
extent_slab_get
extent_slab_set
extent_tree_szad_destroy
extent_tree_szad_destroy_recurse
extent_tree_szad_empty
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
extent_zeroed_get
extent_zeroed_set
ffs_llu