summaryrefslogtreecommitdiff
path: root/include/mimalloc-internal.h
diff options
context:
space:
mode:
authordaan <daanl@outlook.com>2021-11-13 15:50:26 -0800
committerdaan <daanl@outlook.com>2021-11-13 15:50:26 -0800
commitb72065f04bb5928f994e6f2f21cd79328558a08f (patch)
tree36818c65f1f158eb92563b801b237af7e51137c5 /include/mimalloc-internal.h
parentf1ce9228a173b9f6307785e0a9ad0af89a705f42 (diff)
move commit mask functions to segment.c
Diffstat (limited to 'include/mimalloc-internal.h')
-rw-r--r--include/mimalloc-internal.h53
1 files changed, 2 insertions, 51 deletions
diff --git a/include/mimalloc-internal.h b/include/mimalloc-internal.h
index 993ba75..20a26da 100644
--- a/include/mimalloc-internal.h
+++ b/include/mimalloc-internal.h
@@ -702,21 +702,6 @@ static inline mi_commit_mask_t mi_commit_mask_full(void) {
return ~mi_commit_mask_empty();
}
-static inline mi_commit_mask_t mi_commit_mask_create(uintptr_t bitidx, uintptr_t bitcount) {
- mi_assert_internal(bitidx < MI_COMMIT_MASK_BITS);
- mi_assert_internal((bitidx + bitcount) <= MI_COMMIT_MASK_BITS);
- if (bitcount == MI_COMMIT_MASK_BITS) {
- mi_assert_internal(bitidx==0);
- return mi_commit_mask_full();
- }
- else if (bitcount == 0) {
- return mi_commit_mask_empty();
- }
- else {
- return (((uintptr_t)1 << bitcount) - 1) << bitidx;
- }
-}
-
static inline bool mi_commit_mask_is_empty(mi_commit_mask_t mask) {
return (mask == 0);
}
@@ -725,42 +710,7 @@ static inline bool mi_commit_mask_is_full(mi_commit_mask_t mask) {
return ((~mask) == 0);
}
-static inline bool mi_commit_mask_all_set(mi_commit_mask_t commit, mi_commit_mask_t mask) {
- return ((commit & mask) == mask);
-}
-
-static inline bool mi_commit_mask_any_set(mi_commit_mask_t commit, mi_commit_mask_t mask) {
- return ((commit & mask) != 0);
-}
-
-mi_decl_nodiscard static inline mi_commit_mask_t mi_commit_mask_intersect(mi_commit_mask_t commit, mi_commit_mask_t mask) {
- return (commit & mask);
-}
-
-static inline void mi_commit_mask_clear(mi_commit_mask_t* commit, mi_commit_mask_t mask) {
- *commit = (*commit) & (~mask);
-}
-
-static inline void mi_commit_mask_set(mi_commit_mask_t* commit, mi_commit_mask_t mask) {
- *commit = (*commit) | mask;
-}
-
-static inline size_t mi_commit_mask_committed_size(mi_commit_mask_t mask, size_t total) {
- if (mi_commit_mask_is_full(mask)) {
- return total;
- }
- else if (mi_commit_mask_is_empty(mask)) {
- return 0;
- }
- else {
- size_t count = 0;
- for (; mask != 0; mask >>= 1) { // todo: use popcount
- if ((mask&1)!=0) count++;
- }
- return (total/MI_COMMIT_MASK_BITS)*count;
- }
-}
-
+size_t _mi_commit_mask_committed_size(mi_commit_mask_t mask, size_t total);
#define mi_commit_mask_foreach(mask,idx,count) \
idx = 0; \
@@ -782,6 +732,7 @@ static inline size_t mi_commit_mask_committed_size(mi_commit_mask_t mask, size_t
idx++; \
}
+
// -------------------------------------------------------------------
// Fast "random" shuffle
// -------------------------------------------------------------------