1 /******************************************************************************/
2 #ifdef JEMALLOC_H_TYPES
3 
4 typedef struct extent_node_s extent_node_t;
5 
6 #endif /* JEMALLOC_H_TYPES */
7 /******************************************************************************/
8 #ifdef JEMALLOC_H_STRUCTS
9 
10 /* Tree of extents. */
11 struct extent_node_s {
12 	/* Linkage for the size/address-ordered tree. */
13 	rb_node(extent_node_t)	link_szad;
14 
15 	/* Linkage for the address-ordered tree. */
16 	rb_node(extent_node_t)	link_ad;
17 
18 	/* Profile counters, used for huge objects. */
19 	prof_ctx_t		*prof_ctx;
20 
21 	/* Pointer to the extent that this tree node is responsible for. */
22 	void			*addr;
23 
24 	/* Total region size. */
25 	size_t			size;
26 
27 	/* True if zero-filled; used by chunk recycling code. */
28 	bool			zeroed;
29 };
30 typedef rb_tree(extent_node_t) extent_tree_t;
31 
32 #endif /* JEMALLOC_H_STRUCTS */
33 /******************************************************************************/
34 #ifdef JEMALLOC_H_EXTERNS
35 
36 rb_proto(, extent_tree_szad_, extent_tree_t, extent_node_t)
37 
38 rb_proto(, extent_tree_ad_, extent_tree_t, extent_node_t)
39 
40 #endif /* JEMALLOC_H_EXTERNS */
41 /******************************************************************************/
42 #ifdef JEMALLOC_H_INLINES
43 
44 #endif /* JEMALLOC_H_INLINES */
45 /******************************************************************************/
46 
47