]> git.saurik.com Git - redis.git/blob - deps/jemalloc/include/jemalloc/internal/extent.h
36af8be8995f85dd0e668364a562f8b78a587a90
[redis.git] / deps / jemalloc / include / jemalloc / internal / extent.h
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 typedef rb_tree(extent_node_t) extent_tree_t;
28
29 #endif /* JEMALLOC_H_STRUCTS */
30 /******************************************************************************/
31 #ifdef JEMALLOC_H_EXTERNS
32
33 rb_proto(, extent_tree_szad_, extent_tree_t, extent_node_t)
34
35 rb_proto(, extent_tree_ad_, extent_tree_t, extent_node_t)
36
37 #endif /* JEMALLOC_H_EXTERNS */
38 /******************************************************************************/
39 #ifdef JEMALLOC_H_INLINES
40
41 #endif /* JEMALLOC_H_INLINES */
42 /******************************************************************************/
43