Emap: Move over metadata splitting logic.
This commit is contained in:
committed by
David Goldblatt
parent
44f5f53605
commit
7c7b702064
@@ -70,4 +70,21 @@ void emap_deregister_boundary(tsdn_t *tsdn, emap_t *emap,
|
||||
void emap_deregister_interior(tsdn_t *tsdn, emap_t *emap,
|
||||
rtree_ctx_t *rtree_ctx, edata_t *edata);
|
||||
|
||||
typedef struct emap_split_prepare_s emap_split_prepare_t;
|
||||
struct emap_split_prepare_s {
|
||||
rtree_leaf_elm_t *lead_elm_a;
|
||||
rtree_leaf_elm_t *lead_elm_b;
|
||||
rtree_leaf_elm_t *trail_elm_a;
|
||||
rtree_leaf_elm_t *trail_elm_b;
|
||||
};
|
||||
|
||||
bool emap_split_prepare(tsdn_t *tsdn, emap_t *emap, rtree_ctx_t *rtree_ctx,
|
||||
emap_split_prepare_t *split_prepare, edata_t *edata, size_t size_a,
|
||||
szind_t szind_a, bool slab_a, edata_t *trail, size_t size_b,
|
||||
szind_t szind_b, bool slab_b, unsigned ind_b);
|
||||
void emap_split_commit(tsdn_t *tsdn, emap_t *emap,
|
||||
emap_split_prepare_t *split_prepare, edata_t *lead, size_t size_a,
|
||||
szind_t szind_a, bool slab_a, edata_t *trail, size_t size_b,
|
||||
szind_t szind_b, bool slab_b);
|
||||
|
||||
#endif /* JEMALLOC_INTERNAL_EMAP_H */
|
||||
|
Reference in New Issue
Block a user