diff --git a/include/mimalloc/internal.h b/include/mimalloc/internal.h index 25e30f10..151c81a3 100644 --- a/include/mimalloc/internal.h +++ b/include/mimalloc/internal.h @@ -644,8 +644,9 @@ static inline bool mi_page_is_used_at_frac(const mi_page_t* page, uint16_t n) { static inline bool mi_page_is_huge(const mi_page_t* page) { - return (page->block_size > MI_LARGE_MAX_OBJ_SIZE || - (mi_memkind_is_os(page->memid.memkind) && page->memid.mem.os.base < (void*)page)); + return (mi_page_is_singleton(page) && + (page->block_size > MI_LARGE_MAX_OBJ_SIZE || + (mi_memkind_is_os(page->memid.memkind) && page->memid.mem.os.base < (void*)page))); } static inline mi_page_queue_t* mi_page_queue(const mi_heap_t* heap, size_t size) {