mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-05-19 05:29:32 +03:00
add flags, add function declaration
This commit is contained in:
parent
e946d56ba0
commit
f8dc519a04
3 changed files with 15 additions and 0 deletions
|
@ -12,6 +12,7 @@ option(MI_USE_CXX "Use the C++ compiler to compile the library" OFF)
|
||||||
option(MI_SECURE "Use security mitigations (like guard pages and randomization)" OFF)
|
option(MI_SECURE "Use security mitigations (like guard pages and randomization)" OFF)
|
||||||
option(MI_LOCAL_DYNAMIC_TLS "Use slightly slower, dlopen-compatible TLS mechanism (Unix)" OFF)
|
option(MI_LOCAL_DYNAMIC_TLS "Use slightly slower, dlopen-compatible TLS mechanism (Unix)" OFF)
|
||||||
option(MI_BUILD_TESTS "Build test executables" ON)
|
option(MI_BUILD_TESTS "Build test executables" ON)
|
||||||
|
option(MI_USER_CLEANUP "Enable mi_register_user_cleanup functionality" OFF)
|
||||||
|
|
||||||
set(mi_install_dir "lib/mimalloc-${mi_version}")
|
set(mi_install_dir "lib/mimalloc-${mi_version}")
|
||||||
|
|
||||||
|
@ -71,6 +72,11 @@ if(MI_SECURE MATCHES "ON")
|
||||||
list(APPEND mi_defines MI_SECURE=2)
|
list(APPEND mi_defines MI_SECURE=2)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(MI_USER_CLEANUP MATCHES "ON")
|
||||||
|
message(STATUS "Enable mi_register_user_cleanup functionality (MI_USER_CLEANUP=ON)")
|
||||||
|
list(APPEND mi_defines MI_USER_CLEANUP=1)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(MI_SEE_ASM MATCHES "ON")
|
if(MI_SEE_ASM MATCHES "ON")
|
||||||
message(STATUS "Generate assembly listings (MI_SEE_ASM=ON)")
|
message(STATUS "Generate assembly listings (MI_SEE_ASM=ON)")
|
||||||
list(APPEND mi_cflags -save-temps)
|
list(APPEND mi_cflags -save-temps)
|
||||||
|
|
|
@ -29,6 +29,10 @@ terms of the MIT license. A copy of the license can be found in the file
|
||||||
#define MI_SECURE 0
|
#define MI_SECURE 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(MI_USER_CLEANUP)
|
||||||
|
#define MI_USER_CLEANUP 0
|
||||||
|
#endif
|
||||||
|
|
||||||
// Define MI_DEBUG as 1 for basic assert checks and statistics
|
// Define MI_DEBUG as 1 for basic assert checks and statistics
|
||||||
// set it to 2 to do internal asserts,
|
// set it to 2 to do internal asserts,
|
||||||
// and to 3 to do extensive invariant checking.
|
// and to 3 to do extensive invariant checking.
|
||||||
|
|
|
@ -114,6 +114,11 @@ mi_decl_export void mi_register_deferred_free(mi_deferred_free_fun* deferred_fre
|
||||||
typedef void (mi_output_fun)(const char* msg);
|
typedef void (mi_output_fun)(const char* msg);
|
||||||
mi_decl_export void mi_register_output(mi_output_fun* out) mi_attr_noexcept;
|
mi_decl_export void mi_register_output(mi_output_fun* out) mi_attr_noexcept;
|
||||||
|
|
||||||
|
#if MI_USER_CLEANUP
|
||||||
|
typedef void (mi_cleanup_fun)(void* user_data, void* p, size_t size);
|
||||||
|
mi_decl_export void mi_register_user_cleanup(mi_cleanup_fun* out, void* user_data) mi_attr_noexcept;
|
||||||
|
#endif
|
||||||
|
|
||||||
mi_decl_export void mi_collect(bool force) mi_attr_noexcept;
|
mi_decl_export void mi_collect(bool force) mi_attr_noexcept;
|
||||||
mi_decl_export int mi_version(void) mi_attr_noexcept;
|
mi_decl_export int mi_version(void) mi_attr_noexcept;
|
||||||
mi_decl_export void mi_stats_reset(void) mi_attr_noexcept;
|
mi_decl_export void mi_stats_reset(void) mi_attr_noexcept;
|
||||||
|
|
Loading…
Add table
Reference in a new issue