diff --git a/src/page.c b/src/page.c index dcd39ed7..42dfdfbf 100644 --- a/src/page.c +++ b/src/page.c @@ -393,8 +393,7 @@ void _mi_page_free(mi_page_t* page, mi_page_queue_t* pq, bool force) { _mi_segment_page_free(page, force, segments_tld); } - -#define MI_MAX_RETIRE_SIZE (4*MI_SMALL_SIZE_MAX) +#define MI_MAX_RETIRE_SIZE (4*MI_SMALL_SIZE_MAX) // Retire a page with no more used blocks // Important to not retire too quickly though as new diff --git a/src/region.c b/src/region.c index 92758229..fd7d4544 100644 --- a/src/region.c +++ b/src/region.c @@ -284,7 +284,7 @@ static void* mi_region_try_alloc(size_t blocks, bool* commit, bool* is_large, bo mi_assert_internal(!(info.x.is_large && !*is_large)); mi_assert_internal(start != NULL); - *is_zero = mi_bitmap_unclaim(®ion->dirty, 1, blocks, bit_idx); + *is_zero = mi_bitmap_claim(®ion->dirty, 1, blocks, bit_idx, NULL); *is_large = info.x.is_large; *memid = mi_memid_create(region, bit_idx); void* p = start + (mi_bitmap_index_bit_in_field(bit_idx) * MI_SEGMENT_SIZE);