1 #ifndef JEMALLOC_INTERNAL_RTREE_EXTERNS_H 2 #define JEMALLOC_INTERNAL_RTREE_EXTERNS_H 3 4 #pragma GCC visibility push(hidden) 5 6 bool rtree_new(rtree_t *rtree, unsigned bits); 7 #ifdef JEMALLOC_JET 8 typedef rtree_elm_t *(rtree_node_alloc_t)(tsdn_t *, rtree_t *, size_t); 9 extern rtree_node_alloc_t *rtree_node_alloc; 10 typedef void (rtree_node_dalloc_t)(tsdn_t *, rtree_t *, rtree_elm_t *); 11 extern rtree_node_dalloc_t *rtree_node_dalloc; 12 void rtree_delete(tsdn_t *tsdn, rtree_t *rtree); 13 #endif 14 rtree_elm_t *rtree_subtree_read_hard(tsdn_t *tsdn, rtree_t *rtree, 15 unsigned level); 16 rtree_elm_t *rtree_child_read_hard(tsdn_t *tsdn, rtree_t *rtree, 17 rtree_elm_t *elm, unsigned level); 18 void rtree_elm_witness_acquire(tsdn_t *tsdn, const rtree_t *rtree, 19 uintptr_t key, const rtree_elm_t *elm); 20 void rtree_elm_witness_access(tsdn_t *tsdn, const rtree_t *rtree, 21 const rtree_elm_t *elm); 22 void rtree_elm_witness_release(tsdn_t *tsdn, const rtree_t *rtree, 23 const rtree_elm_t *elm); 24 25 #pragma GCC visibility pop 26 27 #endif /* JEMALLOC_INTERNAL_RTREE_EXTERNS_H */ 28