2 #ifdef JEMALLOC_H_TYPES
4 typedef struct extent_node_s extent_node_t;
8 #ifdef JEMALLOC_H_STRUCTS
11 struct extent_node_s {
55 prof_tctx_t *en_prof_tctx;
58 arena_runs_dirty_link_t
rd;
59 qr(extent_node_t) cc_link;
63 rb_node(extent_node_t) szsnad_link;
66 ql_elm(extent_node_t) ql_link;
72 typedef rb_tree(extent_node_t) extent_tree_t;
76 #ifdef JEMALLOC_H_EXTERNS
83 rb_proto(, extent_tree_szsnad_, extent_tree_t, extent_node_t)
85 rb_proto(, extent_tree_ad_, extent_tree_t, extent_node_t)
89 #ifdef JEMALLOC_H_INLINES
91 #ifndef JEMALLOC_ENABLE_INLINE
109 size_t size,
size_t sn,
bool zeroed,
bool committed);
112 arena_runs_dirty_link_t *runs_dirty, extent_node_t *chunks_dirty);
116 #if (defined(JEMALLOC_ENABLE_INLINE) || defined(JEMALLOC_EXTENT_C_))
121 return (node->en_arena);
128 return (node->en_addr);
135 return (node->en_size);
142 return (node->en_sn);
149 return (node->en_zeroed);
157 return (node->en_committed);
164 return (node->en_achunk);
171 return (node->en_prof_tctx);
178 node->en_arena = arena;
185 node->en_addr =
addr;
192 node->en_size =
size;
206 node->en_zeroed = zeroed;
213 node->en_committed = committed;
220 node->en_achunk = achunk;
227 node->en_prof_tctx = tctx;
232 size_t sn,
bool zeroed,
bool committed)
250 qr_new(&node->rd, rd_link);
256 arena_runs_dirty_link_t *runs_dirty, extent_node_t *chunks_dirty)
259 qr_meld(runs_dirty, &node->rd, rd_link);
260 qr_meld(chunks_dirty, node, cc_link);
static const bool config_prof
#define extent_node_zeroed_get
#define extent_node_dirty_insert
#define extent_size_quantize_floor
#define extent_node_sn_get
#define extent_node_size_get
#define extent_node_arena_get
#define extent_node_committed_get
#define extent_node_sn_set
#define extent_node_size_set
#define extent_node_dirty_remove
#define extent_size_quantize_ceil
#define extent_node_addr_set
#define extent_node_arena_set
#define extent_node_achunk_get
#define extent_node_zeroed_set
#define extent_node_dirty_linkage_init
#define extent_node_committed_set
#define extent_node_addr_get
#define extent_node_achunk_set
#define extent_node_prof_tctx_get
#define extent_node_prof_tctx_set
#define qr_meld(a_qr_a, a_qr_b, a_field)
#define qr_remove(a_qr, a_field)
#define qr_new(a_qr, a_field)
#define rb_proto(a_attr, a_prefix, a_rbt_type, a_type)