77cccac8cd
This is part of a broader change to make header files better represent the dependencies between one another (see https://github.com/jemalloc/jemalloc/issues/533). It breaks up component headers into smaller parts that can be made to have a simpler dependency graph. For the autogenerated headers (smoothstep.h and size_classes.h), no splitting was necessary, so I didn't add support to emit multiple headers.
24 lines
986 B
C
24 lines
986 B
C
#ifndef JEMALLOC_INTERNAL_RTREE_EXTERNS_H
|
|
#define JEMALLOC_INTERNAL_RTREE_EXTERNS_H
|
|
|
|
bool rtree_new(rtree_t *rtree, unsigned bits);
|
|
#ifdef JEMALLOC_JET
|
|
typedef rtree_elm_t *(rtree_node_alloc_t)(tsdn_t *, rtree_t *, size_t);
|
|
extern rtree_node_alloc_t *rtree_node_alloc;
|
|
typedef void (rtree_node_dalloc_t)(tsdn_t *, rtree_t *, rtree_elm_t *);
|
|
extern rtree_node_dalloc_t *rtree_node_dalloc;
|
|
void rtree_delete(tsdn_t *tsdn, rtree_t *rtree);
|
|
#endif
|
|
rtree_elm_t *rtree_subtree_read_hard(tsdn_t *tsdn, rtree_t *rtree,
|
|
unsigned level);
|
|
rtree_elm_t *rtree_child_read_hard(tsdn_t *tsdn, rtree_t *rtree,
|
|
rtree_elm_t *elm, unsigned level);
|
|
void rtree_elm_witness_acquire(tsdn_t *tsdn, const rtree_t *rtree,
|
|
uintptr_t key, const rtree_elm_t *elm);
|
|
void rtree_elm_witness_access(tsdn_t *tsdn, const rtree_t *rtree,
|
|
const rtree_elm_t *elm);
|
|
void rtree_elm_witness_release(tsdn_t *tsdn, const rtree_t *rtree,
|
|
const rtree_elm_t *elm);
|
|
|
|
#endif /* JEMALLOC_INTERNAL_RTREE_EXTERNS_H */
|