mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-05-06 23:39:31 +03:00
Merge branch 'dev3' into dev3-bin
This commit is contained in:
commit
9f1c0054b8
3 changed files with 40 additions and 16 deletions
|
@ -713,31 +713,39 @@ if (MI_BUILD_TESTS)
|
||||||
enable_testing()
|
enable_testing()
|
||||||
|
|
||||||
# static link tests
|
# static link tests
|
||||||
if(MI_BUILD_STATIC)
|
foreach(TEST_NAME api api-fill stress)
|
||||||
foreach(TEST_NAME api api-fill stress)
|
add_executable(mimalloc-test-${TEST_NAME} test/test-${TEST_NAME}.c)
|
||||||
add_executable(mimalloc-test-${TEST_NAME} test/test-${TEST_NAME}.c)
|
target_compile_definitions(mimalloc-test-${TEST_NAME} PRIVATE ${mi_defines})
|
||||||
target_compile_definitions(mimalloc-test-${TEST_NAME} PRIVATE ${mi_defines})
|
target_compile_options(mimalloc-test-${TEST_NAME} PRIVATE ${mi_cflags})
|
||||||
target_compile_options(mimalloc-test-${TEST_NAME} PRIVATE ${mi_cflags})
|
target_include_directories(mimalloc-test-${TEST_NAME} PRIVATE include)
|
||||||
target_include_directories(mimalloc-test-${TEST_NAME} PRIVATE include)
|
if(MI_BUILD_SHARED AND (MI_TRACK_ASAN OR MI_DEBUG_TSAN OR MI_DEBUG_UBSAN))
|
||||||
|
target_link_libraries(mimalloc-test-${TEST_NAME} PRIVATE mimalloc ${mi_libraries})
|
||||||
|
else()
|
||||||
target_link_libraries(mimalloc-test-${TEST_NAME} PRIVATE mimalloc-static ${mi_libraries})
|
target_link_libraries(mimalloc-test-${TEST_NAME} PRIVATE mimalloc-static ${mi_libraries})
|
||||||
|
endif()
|
||||||
add_test(NAME test-${TEST_NAME} COMMAND mimalloc-test-${TEST_NAME})
|
add_test(NAME test-${TEST_NAME} COMMAND mimalloc-test-${TEST_NAME})
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
|
||||||
|
|
||||||
# dynamic override test
|
# dynamic override test
|
||||||
if(MI_BUILD_SHARED AND NOT (WIN32 OR MI_TRACK_ASAN OR MI_DEBUG_TSAN OR MI_DEBUG_UBSAN))
|
if(MI_BUILD_SHARED AND NOT (MI_TRACK_ASAN OR MI_DEBUG_TSAN OR MI_DEBUG_UBSAN))
|
||||||
add_executable(mimalloc-test-stress-dynamic test/test-stress.c)
|
add_executable(mimalloc-test-stress-dynamic test/test-stress.c)
|
||||||
target_compile_definitions(mimalloc-test-stress-dynamic PRIVATE ${mi_defines} "USE_STD_MALLOC=1")
|
target_compile_definitions(mimalloc-test-stress-dynamic PRIVATE ${mi_defines} "USE_STD_MALLOC=1")
|
||||||
|
if(WIN32)
|
||||||
|
target_compile_definitions(mimalloc-test-stress-dynamic PRIVATE "MI_LINK_VERSION=1")
|
||||||
|
endif()
|
||||||
target_compile_options(mimalloc-test-stress-dynamic PRIVATE ${mi_cflags})
|
target_compile_options(mimalloc-test-stress-dynamic PRIVATE ${mi_cflags})
|
||||||
target_include_directories(mimalloc-test-stress-dynamic PRIVATE include)
|
target_include_directories(mimalloc-test-stress-dynamic PRIVATE include)
|
||||||
target_link_libraries(mimalloc-test-stress-dynamic PRIVATE ${mi_libraries}) # pthread
|
target_link_libraries(mimalloc-test-stress-dynamic PRIVATE mimalloc ${mi_libraries}) # mi_version
|
||||||
if(APPLE)
|
if(WIN32)
|
||||||
set(LD_PRELOAD "DYLD_INSERT_LIBRARIES")
|
add_test(NAME test-stress-dynamic COMMAND ${CMAKE_COMMAND} -E env MIMALLOC_SHOW_STATS=1 $<TARGET_FILE:mimalloc-test-stress-dynamic>)
|
||||||
else()
|
else()
|
||||||
set(LD_PRELOAD "LD_PRELOAD")
|
if(APPLE)
|
||||||
|
set(LD_PRELOAD "DYLD_INSERT_LIBRARIES")
|
||||||
|
else()
|
||||||
|
set(LD_PRELOAD "LD_PRELOAD")
|
||||||
|
endif()
|
||||||
|
add_test(NAME test-stress-dynamic COMMAND ${CMAKE_COMMAND} -E env MIMALLOC_SHOW_STATS=1 ${LD_PRELOAD}=$<TARGET_FILE:mimalloc> $<TARGET_FILE:mimalloc-test-stress-dynamic>)
|
||||||
endif()
|
endif()
|
||||||
add_test(NAME test-stress-dynamic COMMAND ${CMAKE_COMMAND} -E env MIMALLOC_SHOW_STATS=1 ${LD_PRELOAD}=$<TARGET_FILE:mimalloc> $<TARGET_FILE:mimalloc-test-stress-dynamic>)
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,10 @@ jobs:
|
||||||
BuildType: release
|
BuildType: release
|
||||||
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release
|
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release
|
||||||
MSBuildConfiguration: Release
|
MSBuildConfiguration: Release
|
||||||
|
Release SIMD:
|
||||||
|
BuildType: release-simd
|
||||||
|
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release -DMI_OPT_SIMD=ON -DMI_WIN_USE_FIXED_TLS=ON
|
||||||
|
MSBuildConfiguration: Release
|
||||||
Secure:
|
Secure:
|
||||||
BuildType: secure
|
BuildType: secure
|
||||||
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release -DMI_SECURE=ON
|
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release -DMI_SECURE=ON
|
||||||
|
|
|
@ -261,7 +261,9 @@ static void test_stress(void) {
|
||||||
#if !defined(NDEBUG) || defined(MI_TSAN)
|
#if !defined(NDEBUG) || defined(MI_TSAN)
|
||||||
if ((n + 1) % 10 == 0) {
|
if ((n + 1) % 10 == 0) {
|
||||||
printf("- iterations left: %3d\n", ITER - (n + 1));
|
printf("- iterations left: %3d\n", ITER - (n + 1));
|
||||||
|
#ifndef USE_STD_MALLOC
|
||||||
mi_debug_show_arenas();
|
mi_debug_show_arenas();
|
||||||
|
#endif
|
||||||
//mi_collect(true);
|
//mi_collect(true);
|
||||||
//mi_debug_show_arenas();
|
//mi_debug_show_arenas();
|
||||||
}
|
}
|
||||||
|
@ -298,7 +300,17 @@ static void test_leak(void) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(USE_STD_MALLOC) && defined(MI_LINK_VERSION)
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
#endif
|
||||||
|
int mi_version(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
int main(int argc, char** argv) {
|
int main(int argc, char** argv) {
|
||||||
|
#ifdef MI_LINK_VERSION
|
||||||
|
mi_version();
|
||||||
|
#endif
|
||||||
#ifdef HEAP_WALK
|
#ifdef HEAP_WALK
|
||||||
mi_option_enable(mi_option_visit_abandoned);
|
mi_option_enable(mi_option_visit_abandoned);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue