fix warnings

This commit is contained in:
Daan Leijen 2024-08-20 12:58:49 -07:00
parent 8899a11c70
commit f130808b5c
2 changed files with 7 additions and 8 deletions

View file

@ -56,7 +56,7 @@ extern inline void* _mi_page_malloc_zero(mi_heap_t* heap, mi_page_t* page, size_
if mi_unlikely(zero) { if mi_unlikely(zero) {
mi_assert_internal(page->block_size != 0); // do not call with zero'ing for huge blocks (see _mi_malloc_generic) mi_assert_internal(page->block_size != 0); // do not call with zero'ing for huge blocks (see _mi_malloc_generic)
mi_assert_internal(!mi_page_is_huge(page)); mi_assert_internal(!mi_page_is_huge(page));
#if MI_PADDING_SIZE > 0 #if MI_PADDING
mi_assert_internal(page->block_size >= MI_PADDING_SIZE); mi_assert_internal(page->block_size >= MI_PADDING_SIZE);
#endif #endif
if (page->free_is_zero) { if (page->free_is_zero) {
@ -173,7 +173,7 @@ extern inline void* _mi_heap_malloc_zero_ex(mi_heap_t* heap, size_t size, bool z
} }
#if MI_DEBUG_GUARDED #if MI_DEBUG_GUARDED
else if ( huge_alignment == 0 && // guarded pages do not work with huge aligments at the moment else if ( huge_alignment == 0 && // guarded pages do not work with huge aligments at the moment
_mi_option_get_fast(mi_option_debug_guarded_max) > 0 && // guarded must be enabled _mi_option_get_fast(mi_option_debug_guarded_max) > 0 && // guarded must be enabled
((size >= (size_t)_mi_option_get_fast(mi_option_debug_guarded_min) && size <= (size_t)_mi_option_get_fast(mi_option_debug_guarded_max)) ((size >= (size_t)_mi_option_get_fast(mi_option_debug_guarded_min) && size <= (size_t)_mi_option_get_fast(mi_option_debug_guarded_max))
|| ((mi_good_size(size) & (_mi_os_page_size()-1)) == 0)) ) // page-size multiple are always guarded so we can have a correct `mi_usable_size`. || ((mi_good_size(size) & (_mi_os_page_size()-1)) == 0)) ) // page-size multiple are always guarded so we can have a correct `mi_usable_size`.
{ {
@ -620,7 +620,7 @@ static mi_decl_restrict void* mi_heap_malloc_guarded(mi_heap_t* heap, size_t siz
mi_assert_internal(_mi_is_aligned(guard_page, os_page_size)); mi_assert_internal(_mi_is_aligned(guard_page, os_page_size));
// place block in front of the guard page // place block in front of the guard page
size_t offset = block_size - os_page_size - obj_size; size_t offset = block_size - os_page_size - obj_size;
if (offset > MI_BLOCK_ALIGNMENT_MAX) { if (offset > MI_BLOCK_ALIGNMENT_MAX) {
// give up to place it right in front of the guard page if the offset is too large for unalignment // give up to place it right in front of the guard page if the offset is too large for unalignment
offset = MI_BLOCK_ALIGNMENT_MAX; offset = MI_BLOCK_ALIGNMENT_MAX;
@ -629,8 +629,8 @@ static mi_decl_restrict void* mi_heap_malloc_guarded(mi_heap_t* heap, size_t siz
mi_assert_internal(p>=block); mi_assert_internal(p>=block);
// set page flags // set page flags
if (offset > 0) { if (offset > 0) {
mi_page_set_has_aligned(page, true); mi_page_set_has_aligned(page, true);
} }
// set guard page // set guard page

View file

@ -452,14 +452,14 @@ static size_t mi_segment_calculate_sizes(size_t capacity, size_t required, size_
size_t guardsize = 0; size_t guardsize = 0;
size_t isize = 0; size_t isize = 0;
if (MI_SECURE == 0) { if (MI_SECURE == 0) {
// normally no guard pages // normally no guard pages
#if MI_DEBUG_GUARDED #if MI_DEBUG_GUARDED
isize = _mi_align_up(minsize, _mi_os_page_size()); isize = _mi_align_up(minsize, _mi_os_page_size());
#else #else
isize = _mi_align_up(minsize, 16 * MI_MAX_ALIGN_SIZE); isize = _mi_align_up(minsize, 16 * MI_MAX_ALIGN_SIZE);
#endif #endif
} }
else { else {
// in secure mode, we set up a protected page in between the segment info // in secure mode, we set up a protected page in between the segment info
@ -745,7 +745,6 @@ static void mi_segment_page_clear(mi_segment_t* segment, mi_page_t* page, mi_seg
void _mi_segment_page_free(mi_page_t* page, bool force, mi_segments_tld_t* tld) void _mi_segment_page_free(mi_page_t* page, bool force, mi_segments_tld_t* tld)
{ {
mi_assert(page != NULL); mi_assert(page != NULL);
mi_assert_internal(!mi_page_has_guarded(page));
mi_segment_t* segment = _mi_page_segment(page); mi_segment_t* segment = _mi_page_segment(page);
mi_assert_expensive(mi_segment_is_valid(segment,tld)); mi_assert_expensive(mi_segment_is_valid(segment,tld));
mi_pages_try_purge(false /*force?*/, tld); mi_pages_try_purge(false /*force?*/, tld);