server-skynet-source-3rd-je.../include/jemalloc/internal/rtree_witness.h
David Goldblatt 209f2926b8 Header refactoring: tsd - cleanup and dependency breaking.
This removes the tsd macros (which are used only for tsd_t in real builds).  We
break up the circular dependencies involving tsd.

We also move all tsd access through getters and setters.  This allows us to
assert that we only touch data when tsd is in a valid state.

We simplify the usages of the x macro trick, removing all the customizability
(get/set, init, cleanup), moving the lifetime logic to tsd_init and tsd_cleanup.
This lets us make initialization order independent of order within tsd_t.
2017-05-01 10:49:56 -07:00

20 lines
599 B
C

#ifndef JEMALLOC_INTERNAL_RTREE_WITNESS_H
#define JEMALLOC_INTERNAL_RTREE_WITNESS_H
#include "jemalloc/internal/rtree_types.h"
#include "jemalloc/internal/witness_types.h"
#include "jemalloc/internal/witness_structs.h"
typedef struct rtree_leaf_elm_witness_s rtree_leaf_elm_witness_t;
struct rtree_leaf_elm_witness_s {
const rtree_leaf_elm_t *elm;
witness_t witness;
};
typedef struct rtree_leaf_elm_witness_tsd_s rtree_leaf_elm_witness_tsd_t;
struct rtree_leaf_elm_witness_tsd_s {
rtree_leaf_elm_witness_t witnesses[RTREE_ELM_ACQUIRE_MAX];
};
#endif /* JEMALLOC_INTERNAL_RTREE_WITNESS_H */