extent.h revision 234370
119370Spst/******************************************************************************/ 298944Sobrien#ifdef JEMALLOC_H_TYPES 3130803Smarcel 419370Spsttypedef struct extent_node_s extent_node_t; 598944Sobrien 619370Spst#endif /* JEMALLOC_H_TYPES */ 798944Sobrien/******************************************************************************/ 898944Sobrien#ifdef JEMALLOC_H_STRUCTS 998944Sobrien 1098944Sobrien/* Tree of extents. */ 1119370Spststruct extent_node_s { 1298944Sobrien /* Linkage for the size/address-ordered tree. */ 1398944Sobrien rb_node(extent_node_t) link_szad; 1498944Sobrien 1598944Sobrien /* Linkage for the address-ordered tree. */ 1619370Spst rb_node(extent_node_t) link_ad; 1798944Sobrien 1898944Sobrien /* Profile counters, used for huge objects. */ 1998944Sobrien prof_ctx_t *prof_ctx; 2098944Sobrien 2119370Spst /* Pointer to the extent that this tree node is responsible for. */ 22130803Smarcel void *addr; 23130803Smarcel 2419370Spst /* Total region size. */ 2519370Spst size_t size; 2619370Spst}; 2719370Spsttypedef rb_tree(extent_node_t) extent_tree_t; 2819370Spst 2919370Spst#endif /* JEMALLOC_H_STRUCTS */ 3019370Spst/******************************************************************************/ 3119370Spst#ifdef JEMALLOC_H_EXTERNS 3219370Spst 3319370Spstrb_proto(, extent_tree_szad_, extent_tree_t, extent_node_t) 3419370Spst 3519370Spstrb_proto(, extent_tree_ad_, extent_tree_t, extent_node_t) 3619370Spst 3719370Spst#endif /* JEMALLOC_H_EXTERNS */ 3819370Spst/******************************************************************************/ 3919370Spst#ifdef JEMALLOC_H_INLINES 4019370Spst 4119370Spst#endif /* JEMALLOC_H_INLINES */ 4219370Spst/******************************************************************************/ 4319370Spst 4419370Spst