extent.h revision 7de92767c20cb72c94609b9c78985526fb84a679
1/******************************************************************************/
2#ifdef JEMALLOC_H_TYPES
3
4typedef struct extent_node_s extent_node_t;
5
6#endif /* JEMALLOC_H_TYPES */
7/******************************************************************************/
8#ifdef JEMALLOC_H_STRUCTS
9
10/* Tree of extents. */
11struct 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};
30typedef rb_tree(extent_node_t) extent_tree_t;
31
32#endif /* JEMALLOC_H_STRUCTS */
33/******************************************************************************/
34#ifdef JEMALLOC_H_EXTERNS
35
36rb_proto(, extent_tree_szad_, extent_tree_t, extent_node_t)
37
38rb_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