diff options
Diffstat (limited to 'include/mimalloc-types.h')
-rw-r--r-- | include/mimalloc-types.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/include/mimalloc-types.h b/include/mimalloc-types.h index 6899062..fbfee9c 100644 --- a/include/mimalloc-types.h +++ b/include/mimalloc-types.h @@ -162,11 +162,17 @@ typedef int32_t mi_ssize_t; #define MI_BIN_HUGE (73U) #if (MI_MEDIUM_OBJ_WSIZE_MAX >= 655360) -#error "define more bins" +#error "mimalloc internal: define more bins" +#endif +#if (MI_ALIGNED_MAX > MI_SEGMENT_SIZE/2) +#error "mimalloc internal: the max aligned boundary is too large for the segment size" +#endif +#if (MI_ALIGNED_MAX % MI_SEGMENT_SLICE_SIZE != 0) +#error "mimalloc internal: the max aligned boundary must be an integral multiple of the segment slice size" #endif -// Maximum slice offset (7) -#define MI_MAX_SLICE_OFFSET ((MI_MEDIUM_PAGE_SIZE / MI_SEGMENT_SLICE_SIZE) - 1) +// Maximum slice offset (15) +#define MI_MAX_SLICE_OFFSET ((MI_ALIGNED_MAX / MI_SEGMENT_SLICE_SIZE) - 1) // Used as a special value to encode block sizes in 32 bits. #define MI_HUGE_BLOCK_SIZE ((uint32_t)MI_HUGE_OBJ_SIZE_MAX) |