From 5360639748d8bfc7f7e97728e859a6380ac7db9f Mon Sep 17 00:00:00 2001 From: Daan Date: Tue, 2 Nov 2021 21:52:00 -0700 Subject: [PATCH] add mi_malloc_good_size --- include/mimalloc.h | 1 + src/alloc-posix.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/include/mimalloc.h b/include/mimalloc.h index fe0fd746..a77f1dc5 100644 --- a/include/mimalloc.h +++ b/include/mimalloc.h @@ -346,6 +346,7 @@ mi_decl_export void mi_option_set_default(mi_option_t option, long value); mi_decl_export void mi_cfree(void* p) mi_attr_noexcept; mi_decl_export void* mi__expand(void* p, size_t newsize) mi_attr_noexcept; mi_decl_nodiscard mi_decl_export size_t mi_malloc_size(const void* p) mi_attr_noexcept; +mi_decl_nodiscard mi_decl_export size_t mi_malloc_good_size(size_t size) mi_attr_noexcept; mi_decl_nodiscard mi_decl_export size_t mi_malloc_usable_size(const void *p) mi_attr_noexcept; mi_decl_export int mi_posix_memalign(void** p, size_t alignment, size_t size) mi_attr_noexcept; diff --git a/src/alloc-posix.c b/src/alloc-posix.c index 43931e56..cff01b5c 100644 --- a/src/alloc-posix.c +++ b/src/alloc-posix.c @@ -33,13 +33,19 @@ terms of the MIT license. A copy of the license can be found in the file size_t mi_malloc_size(const void* p) mi_attr_noexcept { + //if (!mi_is_in_heap_region(p)) return 0; return mi_usable_size(p); } size_t mi_malloc_usable_size(const void *p) mi_attr_noexcept { + //if (!mi_is_in_heap_region(p)) return 0; return mi_usable_size(p); } +size_t mi_malloc_good_size(size_t size) mi_attr_noexcept { + return mi_good_size(size); +} + void mi_cfree(void* p) mi_attr_noexcept { if (mi_is_in_heap_region(p)) { mi_free(p);