Home | History | Annotate | Download | only in internal
      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 	/* Arena from which this extent came, if any */
     28 	arena_t			*arena;
     29 
     30 	/* True if zero-filled; used by chunk recycling code. */
     31 	bool			zeroed;
     32 };
     33 typedef rb_tree(extent_node_t) extent_tree_t;
     34 
     35 #endif /* JEMALLOC_H_STRUCTS */
     36 /******************************************************************************/
     37 #ifdef JEMALLOC_H_EXTERNS
     38 
     39 rb_proto(, extent_tree_szad_, extent_tree_t, extent_node_t)
     40 
     41 rb_proto(, extent_tree_ad_, extent_tree_t, extent_node_t)
     42 
     43 #endif /* JEMALLOC_H_EXTERNS */
     44 /******************************************************************************/
     45 #ifdef JEMALLOC_H_INLINES
     46 
     47 #endif /* JEMALLOC_H_INLINES */
     48 /******************************************************************************/
     49 
     50