diff --git a/include/mimalloc.h b/include/mimalloc.h index ba1c0d77..e7947e81 100644 --- a/include/mimalloc.h +++ b/include/mimalloc.h @@ -243,15 +243,19 @@ mi_decl_nodiscard mi_decl_export void* mi_heap_recalloc_aligned_at(mi_heap_t* he // ------------------------------------------------------ -// Remappable memory (uses `mremap` if possible) +// Remappable memory (uses `mremap` if possible). +// `mi_realloc` will use `mi_remap` internally for blocks allocated as remappable, +// and starts allocating remappable memory for any block larger than `mi_option_remap_threshold` (1MiB). +// Supported on Linux and Windows, and usually works well on systems with just `mmap` (macOS) // ------------------------------------------------------ mi_decl_nodiscard mi_decl_export void* mi_malloc_remappable(size_t size) mi_attr_noexcept mi_attr_alloc_size(1); mi_decl_nodiscard mi_decl_export void* mi_zalloc_remappable(size_t size) mi_attr_noexcept mi_attr_alloc_size(1); -mi_decl_nodiscard mi_decl_export void* mi_remap(void* p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(2); mi_decl_nodiscard mi_decl_export void* mi_heap_malloc_remappable(mi_heap_t* heap, size_t size) mi_attr_noexcept mi_attr_alloc_size(2); mi_decl_nodiscard mi_decl_export void* mi_heap_zalloc_remappable(mi_heap_t* heap, size_t size) mi_attr_noexcept mi_attr_alloc_size(2); +// mi_decl_nodiscard mi_decl_export void* mi_remap(void* p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(2); + // ------------------------------------------------------ // Analysis