1234370Sjasone/******************************************************************************/ 2234370Sjasone#ifdef JEMALLOC_H_TYPES 3234370Sjasone 4234370Sjasonetypedef struct extent_node_s extent_node_t; 5234370Sjasone 6234370Sjasone#endif /* JEMALLOC_H_TYPES */ 7234370Sjasone/******************************************************************************/ 8234370Sjasone#ifdef JEMALLOC_H_STRUCTS 9234370Sjasone 10234370Sjasone/* Tree of extents. */ 11234370Sjasonestruct extent_node_s { 12234370Sjasone /* Linkage for the size/address-ordered tree. */ 13234370Sjasone rb_node(extent_node_t) link_szad; 14234370Sjasone 15234370Sjasone /* Linkage for the address-ordered tree. */ 16234370Sjasone rb_node(extent_node_t) link_ad; 17234370Sjasone 18234370Sjasone /* Profile counters, used for huge objects. */ 19234370Sjasone prof_ctx_t *prof_ctx; 20234370Sjasone 21234370Sjasone /* Pointer to the extent that this tree node is responsible for. */ 22234370Sjasone void *addr; 23234370Sjasone 24234370Sjasone /* Total region size. */ 25234370Sjasone size_t size; 26242844Sjasone 27242844Sjasone /* True if zero-filled; used by chunk recycling code. */ 28242844Sjasone bool zeroed; 29234370Sjasone}; 30234370Sjasonetypedef rb_tree(extent_node_t) extent_tree_t; 31234370Sjasone 32234370Sjasone#endif /* JEMALLOC_H_STRUCTS */ 33234370Sjasone/******************************************************************************/ 34234370Sjasone#ifdef JEMALLOC_H_EXTERNS 35234370Sjasone 36234370Sjasonerb_proto(, extent_tree_szad_, extent_tree_t, extent_node_t) 37234370Sjasone 38234370Sjasonerb_proto(, extent_tree_ad_, extent_tree_t, extent_node_t) 39234370Sjasone 40234370Sjasone#endif /* JEMALLOC_H_EXTERNS */ 41234370Sjasone/******************************************************************************/ 42234370Sjasone#ifdef JEMALLOC_H_INLINES 43234370Sjasone 44234370Sjasone#endif /* JEMALLOC_H_INLINES */ 45234370Sjasone/******************************************************************************/ 46234370Sjasone 47