From 217f2e2cc77ae70d2429bdc7eff3f11ef9d6e792 Mon Sep 17 00:00:00 2001 From: playX Date: Tue, 9 Mar 2021 19:11:43 +0300 Subject: [PATCH] Revert "Add heap local deferred free" This reverts commit 0278758d689ffa1d0257b7426144987f3f76ee8e. --- CMakeCache.txt | 440 --------- CMakeFiles/3.19.4/CMakeCCompiler.cmake | 77 -- CMakeFiles/3.19.4/CMakeCXXCompiler.cmake | 89 -- .../3.19.4/CMakeDetermineCompilerABI_C.bin | Bin 20904 -> 0 bytes .../3.19.4/CMakeDetermineCompilerABI_CXX.bin | Bin 20912 -> 0 bytes CMakeFiles/3.19.4/CMakeSystem.cmake | 15 - .../3.19.4/CompilerIdC/CMakeCCompilerId.c | 691 --------------- CMakeFiles/3.19.4/CompilerIdC/a.out | Bin 21064 -> 0 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 680 -------------- CMakeFiles/3.19.4/CompilerIdCXX/a.out | Bin 21072 -> 0 bytes CMakeFiles/CMakeDirectoryInformation.cmake | 16 - CMakeFiles/CMakeOutput.log | 399 --------- .../mimalloc-1.7/cmake/mimalloc-release.cmake | 29 - .../lib/mimalloc-1.7/cmake/mimalloc.cmake | 101 --- CMakeFiles/Makefile.cmake | 52 -- CMakeFiles/Makefile2 | 241 ----- CMakeFiles/TargetDirectories.txt | 12 - CMakeFiles/cmake.check_cache | 1 - CMakeFiles/mimalloc-obj.dir/C.includecache | 374 -------- CMakeFiles/mimalloc-obj.dir/DependInfo.cmake | 26 - CMakeFiles/mimalloc-obj.dir/build.make | 109 --- CMakeFiles/mimalloc-obj.dir/cmake_clean.cmake | 8 - CMakeFiles/mimalloc-obj.dir/depend.internal | 27 - CMakeFiles/mimalloc-obj.dir/depend.make | 27 - CMakeFiles/mimalloc-obj.dir/flags.make | 10 - CMakeFiles/mimalloc-obj.dir/progress.make | 2 - CMakeFiles/mimalloc-obj.dir/src/static.c.o | Bin 158736 -> 0 bytes CMakeFiles/mimalloc-static.dir/C.includecache | 94 -- .../mimalloc-static.dir/DependInfo.cmake | 40 - CMakeFiles/mimalloc-static.dir/build.make | 313 ------- .../mimalloc-static.dir/cmake_clean.cmake | 23 - .../cmake_clean_target.cmake | 3 - .../mimalloc-static.dir/depend.internal | 92 -- CMakeFiles/mimalloc-static.dir/depend.make | 92 -- CMakeFiles/mimalloc-static.dir/flags.make | 10 - CMakeFiles/mimalloc-static.dir/link.txt | 2 - CMakeFiles/mimalloc-static.dir/progress.make | 16 - .../mimalloc-static.dir/src/alloc-aligned.c.o | Bin 9256 -> 0 bytes .../mimalloc-static.dir/src/alloc-posix.c.o | Bin 4888 -> 0 bytes CMakeFiles/mimalloc-static.dir/src/alloc.c.o | Bin 22496 -> 0 bytes CMakeFiles/mimalloc-static.dir/src/arena.c.o | Bin 9192 -> 0 bytes CMakeFiles/mimalloc-static.dir/src/bitmap.c.o | Bin 5984 -> 0 bytes CMakeFiles/mimalloc-static.dir/src/heap.c.o | Bin 9248 -> 0 bytes CMakeFiles/mimalloc-static.dir/src/init.c.o | Bin 24216 -> 0 bytes .../mimalloc-static.dir/src/options.c.o | Bin 12984 -> 0 bytes CMakeFiles/mimalloc-static.dir/src/os.c.o | Bin 19976 -> 0 bytes CMakeFiles/mimalloc-static.dir/src/page.c.o | Bin 16080 -> 0 bytes CMakeFiles/mimalloc-static.dir/src/random.c.o | Bin 8976 -> 0 bytes CMakeFiles/mimalloc-static.dir/src/region.c.o | Bin 7992 -> 0 bytes .../mimalloc-static.dir/src/segment.c.o | Bin 15728 -> 0 bytes CMakeFiles/mimalloc-static.dir/src/stats.c.o | Bin 22424 -> 0 bytes .../mimalloc-test-api.dir/C.includecache | 36 - .../mimalloc-test-api.dir/DependInfo.cmake | 22 - CMakeFiles/mimalloc-test-api.dir/build.make | 119 --- .../mimalloc-test-api.dir/cmake_clean.cmake | 10 - .../mimalloc-test-api.dir/depend.internal | 6 - CMakeFiles/mimalloc-test-api.dir/depend.make | 6 - CMakeFiles/mimalloc-test-api.dir/flags.make | 10 - CMakeFiles/mimalloc-test-api.dir/link.txt | 1 - .../mimalloc-test-api.dir/progress.make | 3 - .../mimalloc-test-api.dir/test/test-api.c.o | Bin 18648 -> 0 bytes .../mimalloc-test-stress.dir/C.includecache | 42 - .../mimalloc-test-stress.dir/DependInfo.cmake | 22 - .../mimalloc-test-stress.dir/build.make | 119 --- .../cmake_clean.cmake | 10 - .../mimalloc-test-stress.dir/depend.internal | 6 - .../mimalloc-test-stress.dir/depend.make | 6 - .../mimalloc-test-stress.dir/flags.make | 10 - CMakeFiles/mimalloc-test-stress.dir/link.txt | 1 - .../mimalloc-test-stress.dir/progress.make | 3 - .../test/test-stress.c.o | Bin 7680 -> 0 bytes CMakeFiles/mimalloc.dir/C.includecache | 94 -- CMakeFiles/mimalloc.dir/DependInfo.cmake | 48 - CMakeFiles/mimalloc.dir/build.make | 317 ------- CMakeFiles/mimalloc.dir/cmake_clean.cmake | 24 - CMakeFiles/mimalloc.dir/depend.internal | 92 -- CMakeFiles/mimalloc.dir/depend.make | 92 -- CMakeFiles/mimalloc.dir/flags.make | 10 - CMakeFiles/mimalloc.dir/link.txt | 1 - CMakeFiles/mimalloc.dir/progress.make | 16 - CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o | Bin 9256 -> 0 bytes CMakeFiles/mimalloc.dir/src/alloc-posix.c.o | Bin 4888 -> 0 bytes CMakeFiles/mimalloc.dir/src/alloc.c.o | Bin 22496 -> 0 bytes CMakeFiles/mimalloc.dir/src/arena.c.o | Bin 9192 -> 0 bytes CMakeFiles/mimalloc.dir/src/bitmap.c.o | Bin 5984 -> 0 bytes CMakeFiles/mimalloc.dir/src/heap.c.o | Bin 9248 -> 0 bytes CMakeFiles/mimalloc.dir/src/init.c.o | Bin 24160 -> 0 bytes CMakeFiles/mimalloc.dir/src/options.c.o | Bin 12984 -> 0 bytes CMakeFiles/mimalloc.dir/src/os.c.o | Bin 19976 -> 0 bytes CMakeFiles/mimalloc.dir/src/page.c.o | Bin 16080 -> 0 bytes CMakeFiles/mimalloc.dir/src/random.c.o | Bin 8976 -> 0 bytes CMakeFiles/mimalloc.dir/src/region.c.o | Bin 7992 -> 0 bytes CMakeFiles/mimalloc.dir/src/segment.c.o | Bin 15728 -> 0 bytes CMakeFiles/mimalloc.dir/src/stats.c.o | Bin 22424 -> 0 bytes CMakeFiles/progress.marks | 1 - CTestTestfile.cmake | 10 - Makefile | 837 ------------------ cmake_install.cmake | 229 ----- doc/mimalloc-doc.h | 7 - include/mimalloc-types.h | 2 - include/mimalloc.h | 663 +++++++------- libmimalloc.a | Bin 196210 -> 0 bytes libmimalloc.so | 1 - libmimalloc.so.1.7 | Bin 145688 -> 0 bytes mimalloc-test-api | Bin 157448 -> 0 bytes mimalloc-test-stress | Bin 21952 -> 0 bytes src/heap.c | 423 ++++----- src/init.c | 631 ++++++------- src/page.c | 596 ++++++------- 109 files changed, 1024 insertions(+), 7613 deletions(-) delete mode 100644 CMakeCache.txt delete mode 100644 CMakeFiles/3.19.4/CMakeCCompiler.cmake delete mode 100644 CMakeFiles/3.19.4/CMakeCXXCompiler.cmake delete mode 100755 CMakeFiles/3.19.4/CMakeDetermineCompilerABI_C.bin delete mode 100755 CMakeFiles/3.19.4/CMakeDetermineCompilerABI_CXX.bin delete mode 100644 CMakeFiles/3.19.4/CMakeSystem.cmake delete mode 100644 CMakeFiles/3.19.4/CompilerIdC/CMakeCCompilerId.c delete mode 100755 CMakeFiles/3.19.4/CompilerIdC/a.out delete mode 100644 CMakeFiles/3.19.4/CompilerIdCXX/CMakeCXXCompilerId.cpp delete mode 100755 CMakeFiles/3.19.4/CompilerIdCXX/a.out delete mode 100644 CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 CMakeFiles/CMakeOutput.log delete mode 100644 CMakeFiles/Export/_usr/local/lib/mimalloc-1.7/cmake/mimalloc-release.cmake delete mode 100644 CMakeFiles/Export/_usr/local/lib/mimalloc-1.7/cmake/mimalloc.cmake delete mode 100644 CMakeFiles/Makefile.cmake delete mode 100644 CMakeFiles/Makefile2 delete mode 100644 CMakeFiles/TargetDirectories.txt delete mode 100644 CMakeFiles/cmake.check_cache delete mode 100644 CMakeFiles/mimalloc-obj.dir/C.includecache delete mode 100644 CMakeFiles/mimalloc-obj.dir/DependInfo.cmake delete mode 100644 CMakeFiles/mimalloc-obj.dir/build.make delete mode 100644 CMakeFiles/mimalloc-obj.dir/cmake_clean.cmake delete mode 100644 CMakeFiles/mimalloc-obj.dir/depend.internal delete mode 100644 CMakeFiles/mimalloc-obj.dir/depend.make delete mode 100644 CMakeFiles/mimalloc-obj.dir/flags.make delete mode 100644 CMakeFiles/mimalloc-obj.dir/progress.make delete mode 100644 CMakeFiles/mimalloc-obj.dir/src/static.c.o delete mode 100644 CMakeFiles/mimalloc-static.dir/C.includecache delete mode 100644 CMakeFiles/mimalloc-static.dir/DependInfo.cmake delete mode 100644 CMakeFiles/mimalloc-static.dir/build.make delete mode 100644 CMakeFiles/mimalloc-static.dir/cmake_clean.cmake delete mode 100644 CMakeFiles/mimalloc-static.dir/cmake_clean_target.cmake delete mode 100644 CMakeFiles/mimalloc-static.dir/depend.internal delete mode 100644 CMakeFiles/mimalloc-static.dir/depend.make delete mode 100644 CMakeFiles/mimalloc-static.dir/flags.make delete mode 100644 CMakeFiles/mimalloc-static.dir/link.txt delete mode 100644 CMakeFiles/mimalloc-static.dir/progress.make delete mode 100644 CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o delete mode 100644 CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o delete mode 100644 CMakeFiles/mimalloc-static.dir/src/alloc.c.o delete mode 100644 CMakeFiles/mimalloc-static.dir/src/arena.c.o delete mode 100644 CMakeFiles/mimalloc-static.dir/src/bitmap.c.o delete mode 100644 CMakeFiles/mimalloc-static.dir/src/heap.c.o delete mode 100644 CMakeFiles/mimalloc-static.dir/src/init.c.o delete mode 100644 CMakeFiles/mimalloc-static.dir/src/options.c.o delete mode 100644 CMakeFiles/mimalloc-static.dir/src/os.c.o delete mode 100644 CMakeFiles/mimalloc-static.dir/src/page.c.o delete mode 100644 CMakeFiles/mimalloc-static.dir/src/random.c.o delete mode 100644 CMakeFiles/mimalloc-static.dir/src/region.c.o delete mode 100644 CMakeFiles/mimalloc-static.dir/src/segment.c.o delete mode 100644 CMakeFiles/mimalloc-static.dir/src/stats.c.o delete mode 100644 CMakeFiles/mimalloc-test-api.dir/C.includecache delete mode 100644 CMakeFiles/mimalloc-test-api.dir/DependInfo.cmake delete mode 100644 CMakeFiles/mimalloc-test-api.dir/build.make delete mode 100644 CMakeFiles/mimalloc-test-api.dir/cmake_clean.cmake delete mode 100644 CMakeFiles/mimalloc-test-api.dir/depend.internal delete mode 100644 CMakeFiles/mimalloc-test-api.dir/depend.make delete mode 100644 CMakeFiles/mimalloc-test-api.dir/flags.make delete mode 100644 CMakeFiles/mimalloc-test-api.dir/link.txt delete mode 100644 CMakeFiles/mimalloc-test-api.dir/progress.make delete mode 100644 CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o delete mode 100644 CMakeFiles/mimalloc-test-stress.dir/C.includecache delete mode 100644 CMakeFiles/mimalloc-test-stress.dir/DependInfo.cmake delete mode 100644 CMakeFiles/mimalloc-test-stress.dir/build.make delete mode 100644 CMakeFiles/mimalloc-test-stress.dir/cmake_clean.cmake delete mode 100644 CMakeFiles/mimalloc-test-stress.dir/depend.internal delete mode 100644 CMakeFiles/mimalloc-test-stress.dir/depend.make delete mode 100644 CMakeFiles/mimalloc-test-stress.dir/flags.make delete mode 100644 CMakeFiles/mimalloc-test-stress.dir/link.txt delete mode 100644 CMakeFiles/mimalloc-test-stress.dir/progress.make delete mode 100644 CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o delete mode 100644 CMakeFiles/mimalloc.dir/C.includecache delete mode 100644 CMakeFiles/mimalloc.dir/DependInfo.cmake delete mode 100644 CMakeFiles/mimalloc.dir/build.make delete mode 100644 CMakeFiles/mimalloc.dir/cmake_clean.cmake delete mode 100644 CMakeFiles/mimalloc.dir/depend.internal delete mode 100644 CMakeFiles/mimalloc.dir/depend.make delete mode 100644 CMakeFiles/mimalloc.dir/flags.make delete mode 100644 CMakeFiles/mimalloc.dir/link.txt delete mode 100644 CMakeFiles/mimalloc.dir/progress.make delete mode 100644 CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o delete mode 100644 CMakeFiles/mimalloc.dir/src/alloc-posix.c.o delete mode 100644 CMakeFiles/mimalloc.dir/src/alloc.c.o delete mode 100644 CMakeFiles/mimalloc.dir/src/arena.c.o delete mode 100644 CMakeFiles/mimalloc.dir/src/bitmap.c.o delete mode 100644 CMakeFiles/mimalloc.dir/src/heap.c.o delete mode 100644 CMakeFiles/mimalloc.dir/src/init.c.o delete mode 100644 CMakeFiles/mimalloc.dir/src/options.c.o delete mode 100644 CMakeFiles/mimalloc.dir/src/os.c.o delete mode 100644 CMakeFiles/mimalloc.dir/src/page.c.o delete mode 100644 CMakeFiles/mimalloc.dir/src/random.c.o delete mode 100644 CMakeFiles/mimalloc.dir/src/region.c.o delete mode 100644 CMakeFiles/mimalloc.dir/src/segment.c.o delete mode 100644 CMakeFiles/mimalloc.dir/src/stats.c.o delete mode 100644 CMakeFiles/progress.marks delete mode 100644 CTestTestfile.cmake delete mode 100644 Makefile delete mode 100644 cmake_install.cmake delete mode 100644 libmimalloc.a delete mode 120000 libmimalloc.so delete mode 100755 libmimalloc.so.1.7 delete mode 100755 mimalloc-test-api delete mode 100755 mimalloc-test-stress diff --git a/CMakeCache.txt b/CMakeCache.txt deleted file mode 100644 index 7a66d4bf..00000000 --- a/CMakeCache.txt +++ /dev/null @@ -1,440 +0,0 @@ -# This is the CMakeCache file. -# For build in directory: /home/aprokurov/Projects/mimalloc -# It was generated by CMake: /usr/bin/cmake -# You can edit this file to change values found and used by cmake. -# If you do not want to change any of the values, simply exit the editor. -# If you do want to change a value, simply edit, save, and exit the editor. -# The syntax for the file is as follows: -# KEY:TYPE=VALUE -# KEY is the name of a variable in the cache. -# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. -# VALUE is the current value for the KEY. - -######################## -# EXTERNAL cache entries -######################## - -//Path to a program. -CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line - -//Path to a program. -CMAKE_AR:FILEPATH=/usr/bin/ar - -//Choose the type of build, options are: None Debug Release RelWithDebInfo -// MinSizeRel ... -CMAKE_BUILD_TYPE:STRING= - -//Enable/Disable color output during build. -CMAKE_COLOR_MAKEFILE:BOOL=ON - -//CXX compiler -CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ - -//A wrapper around 'ar' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar - -//A wrapper around 'ranlib' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib - -//Flags used by the CXX compiler during all build types. -CMAKE_CXX_FLAGS:STRING= - -//Flags used by the CXX compiler during DEBUG builds. -CMAKE_CXX_FLAGS_DEBUG:STRING=-g - -//Flags used by the CXX compiler during MINSIZEREL builds. -CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the CXX compiler during RELEASE builds. -CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the CXX compiler during RELWITHDEBINFO builds. -CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//C compiler -CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc - -//A wrapper around 'ar' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar - -//A wrapper around 'ranlib' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib - -//Flags used by the C compiler during all build types. -CMAKE_C_FLAGS:STRING= - -//Flags used by the C compiler during DEBUG builds. -CMAKE_C_FLAGS_DEBUG:STRING=-g - -//Flags used by the C compiler during MINSIZEREL builds. -CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the C compiler during RELEASE builds. -CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the C compiler during RELWITHDEBINFO builds. -CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//Path to a program. -CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND - -//Flags used by the linker during all build types. -CMAKE_EXE_LINKER_FLAGS:STRING= - -//Flags used by the linker during DEBUG builds. -CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during MINSIZEREL builds. -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during RELEASE builds. -CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during RELWITHDEBINFO builds. -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Enable/Disable output of compile commands during generation. -CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= - -//Install path prefix, prepended onto install directories. -CMAKE_INSTALL_PREFIX:PATH=/usr/local - -//Path to a program. -CMAKE_LINKER:FILEPATH=/usr/bin/ld - -//Path to a program. -CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make - -//Flags used by the linker during the creation of modules during -// all build types. -CMAKE_MODULE_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of modules during -// DEBUG builds. -CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of modules during -// MINSIZEREL builds. -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of modules during -// RELEASE builds. -CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of modules during -// RELWITHDEBINFO builds. -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_NM:FILEPATH=/usr/bin/nm - -//Path to a program. -CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy - -//Path to a program. -CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump - -//Value Computed by CMake -CMAKE_PROJECT_DESCRIPTION:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_HOMEPAGE_URL:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_NAME:STATIC=libmimalloc - -//Path to a program. -CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib - -//Path to a program. -CMAKE_READELF:FILEPATH=/usr/bin/readelf - -//Flags used by the linker during the creation of shared libraries -// during all build types. -CMAKE_SHARED_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of shared libraries -// during DEBUG builds. -CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of shared libraries -// during MINSIZEREL builds. -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELEASE builds. -CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELWITHDEBINFO builds. -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//If set, runtime paths are not added when installing shared libraries, -// but are added when building. -CMAKE_SKIP_INSTALL_RPATH:BOOL=NO - -//If set, runtime paths are not added when using shared libraries. -CMAKE_SKIP_RPATH:BOOL=NO - -//Flags used by the linker during the creation of static libraries -// during all build types. -CMAKE_STATIC_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of static libraries -// during DEBUG builds. -CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of static libraries -// during MINSIZEREL builds. -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELEASE builds. -CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELWITHDEBINFO builds. -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_STRIP:FILEPATH=/usr/bin/strip - -//If this value is on, makefiles will be generated without the -// .SILENT directive, and all commands will be echoed to the console -// during the make. This is useful for debugging only. With Visual -// Studio IDE projects all commands are done without /nologo. -CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE - -//Path to a library. -LIBRT:FILEPATH=/usr/lib/librt.so - -//Build object library -MI_BUILD_OBJECT:BOOL=ON - -//Build shared library -MI_BUILD_SHARED:BOOL=ON - -//Build static library -MI_BUILD_STATIC:BOOL=ON - -//Build test executables -MI_BUILD_TESTS:BOOL=ON - -//Use full internal invariant checking in DEBUG mode (deprecated, -// use MI_DEBUG_FULL instead) -MI_CHECK_FULL:BOOL=OFF - -//Use full internal heap invariant checking in DEBUG mode (expensive) -MI_DEBUG_FULL:BOOL=OFF - -//Build with thread sanitizer (needs clang) -MI_DEBUG_TSAN:BOOL=OFF - -//Build with undefined-behavior sanitizer (needs clang++) -MI_DEBUG_UBSAN:BOOL=OFF - -//Install directly into $CMAKE_INSTALL_PREFIX instead of PREFIX/lib/mimalloc-version -MI_INSTALL_TOPLEVEL:BOOL=OFF - -//Use interpose to override standard malloc on macOS -MI_INTERPOSE:BOOL=ON - -//Use slightly slower, dlopen-compatible TLS mechanism (Unix) -MI_LOCAL_DYNAMIC_TLS:BOOL=OFF - -//Use malloc zone to override standard malloc on macOS -MI_OSX_ZONE:BOOL=OFF - -//Override the standard malloc interface (e.g. define entry points -// for malloc() etc) -MI_OVERRIDE:BOOL=ON - -//Enable padding to detect heap block overflow (used only in DEBUG -// mode) -MI_PADDING:BOOL=ON - -//Use full security mitigations (like guard pages, allocation randomization, -// double-free mitigation, and free-list corruption detection) -MI_SECURE:BOOL=OFF - -//Generate assembly files -MI_SEE_ASM:BOOL=OFF - -//Show error and warning messages by default (only enabled by default -// in DEBUG mode) -MI_SHOW_ERRORS:BOOL=OFF - -//Use the C++ compiler to compile the library (instead of the C -// compiler) -MI_USE_CXX:BOOL=OFF - -//Enable abort() call on memory allocation failure by default -MI_XMALLOC:BOOL=OFF - -//Value Computed by CMake -libmimalloc_BINARY_DIR:STATIC=/home/aprokurov/Projects/mimalloc - -//Value Computed by CMake -libmimalloc_SOURCE_DIR:STATIC=/home/aprokurov/Projects/mimalloc - -//Dependencies for the target -mimalloc-static_LIB_DEPENDS:STATIC=general;pthread;general;/usr/lib/librt.so; - -//Dependencies for the target -mimalloc_LIB_DEPENDS:STATIC=general;pthread;general;/usr/lib/librt.so; - - -######################## -# INTERNAL cache entries -######################## - -//ADVANCED property for variable: CMAKE_ADDR2LINE -CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_AR -CMAKE_AR-ADVANCED:INTERNAL=1 -//This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/aprokurov/Projects/mimalloc -//Major version of cmake used to create the current loaded cache -CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 -//Minor version of cmake used to create the current loaded cache -CMAKE_CACHE_MINOR_VERSION:INTERNAL=19 -//Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=4 -//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE -CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 -//Path to CMake executable. -CMAKE_COMMAND:INTERNAL=/usr/bin/cmake -//Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack -//Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest -//ADVANCED property for variable: CMAKE_CXX_COMPILER -CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR -CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB -CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS -CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG -CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL -CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE -CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO -CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER -CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER_AR -CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB -CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS -CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG -CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL -CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE -CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO -CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_DLLTOOL -CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 -//Path to cache edit program executable. -CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake -//Executable file format -CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS -CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG -CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE -CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS -CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 -//Name of external makefile project generator. -CMAKE_EXTRA_GENERATOR:INTERNAL= -//Name of generator. -CMAKE_GENERATOR:INTERNAL=Unix Makefiles -//Generator instance identifier. -CMAKE_GENERATOR_INSTANCE:INTERNAL= -//Name of generator platform. -CMAKE_GENERATOR_PLATFORM:INTERNAL= -//Name of generator toolset. -CMAKE_GENERATOR_TOOLSET:INTERNAL= -//Source directory with the top level CMakeLists.txt file for this -// project -CMAKE_HOME_DIRECTORY:INTERNAL=/home/aprokurov/Projects/mimalloc -//Install .so files without execute permission. -CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 -//ADVANCED property for variable: CMAKE_LINKER -CMAKE_LINKER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MAKE_PROGRAM -CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS -CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG -CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE -CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_NM -CMAKE_NM-ADVANCED:INTERNAL=1 -//number of local generators -CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJCOPY -CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJDUMP -CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 -//Platform information initialized -CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RANLIB -CMAKE_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_READELF -CMAKE_READELF-ADVANCED:INTERNAL=1 -//Path to CMake installation. -CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.19 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS -CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG -CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE -CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH -CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_RPATH -CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS -CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG -CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE -CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STRIP -CMAKE_STRIP-ADVANCED:INTERNAL=1 -//uname command -CMAKE_UNAME:INTERNAL=/usr/bin/uname -//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE -CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 - diff --git a/CMakeFiles/3.19.4/CMakeCCompiler.cmake b/CMakeFiles/3.19.4/CMakeCCompiler.cmake deleted file mode 100644 index fbe5dfd1..00000000 --- a/CMakeFiles/3.19.4/CMakeCCompiler.cmake +++ /dev/null @@ -1,77 +0,0 @@ -set(CMAKE_C_COMPILER "/usr/bin/cc") -set(CMAKE_C_COMPILER_ARG1 "") -set(CMAKE_C_COMPILER_ID "GNU") -set(CMAKE_C_COMPILER_VERSION "10.2.1") -set(CMAKE_C_COMPILER_VERSION_INTERNAL "") -set(CMAKE_C_COMPILER_WRAPPER "") -set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") -set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert") -set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") -set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") -set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") - -set(CMAKE_C_PLATFORM_ID "Linux") -set(CMAKE_C_SIMULATE_ID "") -set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") -set(CMAKE_C_SIMULATE_VERSION "") - - - - -set(CMAKE_AR "/usr/bin/ar") -set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar") -set(CMAKE_RANLIB "/usr/bin/ranlib") -set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib") -set(CMAKE_LINKER "/usr/bin/ld") -set(CMAKE_MT "") -set(CMAKE_COMPILER_IS_GNUCC 1) -set(CMAKE_C_COMPILER_LOADED 1) -set(CMAKE_C_COMPILER_WORKS TRUE) -set(CMAKE_C_ABI_COMPILED TRUE) -set(CMAKE_COMPILER_IS_MINGW ) -set(CMAKE_COMPILER_IS_CYGWIN ) -if(CMAKE_COMPILER_IS_CYGWIN) - set(CYGWIN 1) - set(UNIX 1) -endif() - -set(CMAKE_C_COMPILER_ENV_VAR "CC") - -if(CMAKE_COMPILER_IS_MINGW) - set(MINGW 1) -endif() -set(CMAKE_C_COMPILER_ID_RUN 1) -set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) -set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) -set(CMAKE_C_LINKER_PREFERENCE 10) - -# Save compiler ABI information. -set(CMAKE_C_SIZEOF_DATA_PTR "8") -set(CMAKE_C_COMPILER_ABI "ELF") -set(CMAKE_C_LIBRARY_ARCHITECTURE "") - -if(CMAKE_C_SIZEOF_DATA_PTR) - set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") -endif() - -if(CMAKE_C_COMPILER_ABI) - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") -endif() - -if(CMAKE_C_LIBRARY_ARCHITECTURE) - set(CMAKE_LIBRARY_ARCHITECTURE "") -endif() - -set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") -if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) - set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") -endif() - - - - - -set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include;/usr/local/include;/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include-fixed;/usr/include") -set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") -set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1;/usr/lib64;/lib64") -set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/CMakeFiles/3.19.4/CMakeCXXCompiler.cmake b/CMakeFiles/3.19.4/CMakeCXXCompiler.cmake deleted file mode 100644 index 3963aa1b..00000000 --- a/CMakeFiles/3.19.4/CMakeCXXCompiler.cmake +++ /dev/null @@ -1,89 +0,0 @@ -set(CMAKE_CXX_COMPILER "/usr/bin/c++") -set(CMAKE_CXX_COMPILER_ARG1 "") -set(CMAKE_CXX_COMPILER_ID "GNU") -set(CMAKE_CXX_COMPILER_VERSION "10.2.1") -set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") -set(CMAKE_CXX_COMPILER_WRAPPER "") -set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14") -set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20") -set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") -set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") -set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") -set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") -set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") - -set(CMAKE_CXX_PLATFORM_ID "Linux") -set(CMAKE_CXX_SIMULATE_ID "") -set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") -set(CMAKE_CXX_SIMULATE_VERSION "") - - - - -set(CMAKE_AR "/usr/bin/ar") -set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar") -set(CMAKE_RANLIB "/usr/bin/ranlib") -set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib") -set(CMAKE_LINKER "/usr/bin/ld") -set(CMAKE_MT "") -set(CMAKE_COMPILER_IS_GNUCXX 1) -set(CMAKE_CXX_COMPILER_LOADED 1) -set(CMAKE_CXX_COMPILER_WORKS TRUE) -set(CMAKE_CXX_ABI_COMPILED TRUE) -set(CMAKE_COMPILER_IS_MINGW ) -set(CMAKE_COMPILER_IS_CYGWIN ) -if(CMAKE_COMPILER_IS_CYGWIN) - set(CYGWIN 1) - set(UNIX 1) -endif() - -set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") - -if(CMAKE_COMPILER_IS_MINGW) - set(MINGW 1) -endif() -set(CMAKE_CXX_COMPILER_ID_RUN 1) -set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP) -set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) - -foreach (lang C OBJC OBJCXX) - if (CMAKE_${lang}_COMPILER_ID_RUN) - foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) - list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) - endforeach() - endif() -endforeach() - -set(CMAKE_CXX_LINKER_PREFERENCE 30) -set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) - -# Save compiler ABI information. -set(CMAKE_CXX_SIZEOF_DATA_PTR "8") -set(CMAKE_CXX_COMPILER_ABI "ELF") -set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") - -if(CMAKE_CXX_SIZEOF_DATA_PTR) - set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") -endif() - -if(CMAKE_CXX_COMPILER_ABI) - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") -endif() - -if(CMAKE_CXX_LIBRARY_ARCHITECTURE) - set(CMAKE_LIBRARY_ARCHITECTURE "") -endif() - -set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") -if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) - set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") -endif() - - - - - -set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/10.2.1;/usr/include/c++/10.2.1/x86_64-unknown-linux-gnu;/usr/include/c++/10.2.1/backward;/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include;/usr/local/include;/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include-fixed;/usr/include") -set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") -set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1;/usr/lib64;/lib64") -set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/CMakeFiles/3.19.4/CMakeDetermineCompilerABI_C.bin b/CMakeFiles/3.19.4/CMakeDetermineCompilerABI_C.bin deleted file mode 100755 index a2cbb863b4ebc90656ab1504bf9f7dc673b8abc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20904 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 L)@RP*BE|mzy3haD diff --git a/CMakeFiles/3.19.4/CMakeDetermineCompilerABI_CXX.bin b/CMakeFiles/3.19.4/CMakeDetermineCompilerABI_CXX.bin deleted file mode 100755 index e1906877c1828a59455d23d7583a19378946f024..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20912 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 Ul-5qw?H}4=Yh2?paIxZl089ZRmjD0& diff --git a/CMakeFiles/3.19.4/CMakeSystem.cmake b/CMakeFiles/3.19.4/CMakeSystem.cmake deleted file mode 100644 index 8c83488d..00000000 --- a/CMakeFiles/3.19.4/CMakeSystem.cmake +++ /dev/null @@ -1,15 +0,0 @@ -set(CMAKE_HOST_SYSTEM "Linux-5.10.17_1") -set(CMAKE_HOST_SYSTEM_NAME "Linux") -set(CMAKE_HOST_SYSTEM_VERSION "5.10.17_1") -set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") - - - -set(CMAKE_SYSTEM "Linux-5.10.17_1") -set(CMAKE_SYSTEM_NAME "Linux") -set(CMAKE_SYSTEM_VERSION "5.10.17_1") -set(CMAKE_SYSTEM_PROCESSOR "x86_64") - -set(CMAKE_CROSSCOMPILING "FALSE") - -set(CMAKE_SYSTEM_LOADED 1) diff --git a/CMakeFiles/3.19.4/CompilerIdC/CMakeCCompilerId.c b/CMakeFiles/3.19.4/CompilerIdC/CMakeCCompilerId.c deleted file mode 100644 index c126ec70..00000000 --- a/CMakeFiles/3.19.4/CompilerIdC/CMakeCCompilerId.c +++ /dev/null @@ -1,691 +0,0 @@ -#ifdef __cplusplus -# error "A C++ compiler has been selected for C." -#endif - -#if defined(__18CXX) -# define ID_VOID_MAIN -#endif -#if defined(__CLASSIC_C__) -/* cv-qualifiers did not exist in K&R C */ -# define const -# define volatile -#endif - - -/* Version number components: V=Version, R=Revision, P=Patch - Version date components: YYYY=Year, MM=Month, DD=Day */ - -#if defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# if defined(__GNUC__) -# define SIMULATE_ID "GNU" -# endif - /* __INTEL_COMPILER = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) -# if defined(__INTEL_COMPILER_UPDATE) -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) -# else -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) -# endif -# if defined(__INTEL_COMPILER_BUILD_DATE) - /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ -# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) -# endif -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# if defined(__GNUC__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -# elif defined(__GNUG__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) -# endif -# if defined(__GNUC_MINOR__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(__PATHCC__) -# define COMPILER_ID "PathScale" -# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) -# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) -# if defined(__PATHCC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) -# endif - -#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) -# define COMPILER_ID "Embarcadero" -# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) -# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - /* __BORLANDC__ = 0xVRR */ -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) - -#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 -# define COMPILER_ID "Watcom" - /* __WATCOMC__ = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__WATCOMC__) -# define COMPILER_ID "OpenWatcom" - /* __WATCOMC__ = VVRP + 1100 */ -# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__SUNPRO_C) -# define COMPILER_ID "SunPro" -# if __SUNPRO_C >= 0x5100 - /* __SUNPRO_C = 0xVRRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# else - /* __SUNPRO_CC = 0xVRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# endif - -#elif defined(__HP_cc) -# define COMPILER_ID "HP" - /* __HP_cc = VVRRPP */ -# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) -# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) - -#elif defined(__DECC) -# define COMPILER_ID "Compaq" - /* __DECC_VER = VVRRTPPPP */ -# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) -# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) -# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) - -#elif defined(__IBMC__) && defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__ibmxl__) && defined(__clang__) -# define COMPILER_ID "XLClang" -# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) -# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) -# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) - - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 -# define COMPILER_ID "XL" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 -# define COMPILER_ID "VisualAge" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__PGI) -# define COMPILER_ID "PGI" -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) -# if defined(__PGIC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) -# endif - -#elif defined(_CRAYC) -# define COMPILER_ID "Cray" -# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) - -#elif defined(__TI_COMPILER_VERSION__) -# define COMPILER_ID "TI" - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) - -#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) -# define COMPILER_ID "Fujitsu" - -#elif defined(__ghs__) -# define COMPILER_ID "GHS" -/* __GHS_VERSION_NUMBER = VVVVRP */ -# ifdef __GHS_VERSION_NUMBER -# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) -# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) -# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) -# endif - -#elif defined(__TINYC__) -# define COMPILER_ID "TinyCC" - -#elif defined(__BCC__) -# define COMPILER_ID "Bruce" - -#elif defined(__SCO_VERSION__) -# define COMPILER_ID "SCO" - -#elif defined(__ARMCC_VERSION) && !defined(__clang__) -# define COMPILER_ID "ARMCC" -#if __ARMCC_VERSION >= 1000000 - /* __ARMCC_VERSION = VRRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#else - /* __ARMCC_VERSION = VRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#endif - - -#elif defined(__clang__) && defined(__apple_build_version__) -# define COMPILER_ID "AppleClang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) - -#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) -# define COMPILER_ID "ARMClang" - # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) -# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) - -#elif defined(__clang__) -# define COMPILER_ID "Clang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif - -#elif defined(__GNUC__) -# define COMPILER_ID "GNU" -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) -# if defined(__GNUC_MINOR__) -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - /* _MSC_VER = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) -# if defined(_MSC_FULL_VER) -# if _MSC_VER >= 1400 - /* _MSC_FULL_VER = VVRRPPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) -# else - /* _MSC_FULL_VER = VVRRPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) -# endif -# endif -# if defined(_MSC_BUILD) -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) -# endif - -#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -# define COMPILER_ID "ADSP" -#if defined(__VISUALDSPVERSION__) - /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ -# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) -# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) -#endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# define COMPILER_ID "IAR" -# if defined(__VER__) && defined(__ICCARM__) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) -# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) -# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__)) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) -# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) -# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# endif - -#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) -# define COMPILER_ID "SDCC" -# if defined(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) -# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) -# else - /* SDCC = VRP */ -# define COMPILER_VERSION_MAJOR DEC(SDCC/100) -# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) -# define COMPILER_VERSION_PATCH DEC(SDCC % 10) -# endif - - -/* These compilers are either not known or too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; -#ifdef SIMULATE_ID -char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; -#endif - -#ifdef __QNXNTO__ -char const* qnxnto = "INFO" ":" "qnxnto[]"; -#endif - -#if defined(_CRAYC) || defined(__cray__) -char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; -#endif - -#define STRINGIFY_HELPER(X) #X -#define STRINGIFY(X) STRINGIFY_HELPER(X) - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU__) -# define PLATFORM_ID "Haiku" - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#elif defined(__WATCOMC__) -# if defined(__LINUX__) -# define PLATFORM_ID "Linux" - -# elif defined(__DOS__) -# define PLATFORM_ID "DOS" - -# elif defined(__OS2__) -# define PLATFORM_ID "OS2" - -# elif defined(__WINDOWS__) -# define PLATFORM_ID "Windows3x" - -# elif defined(__VXWORKS__) -# define PLATFORM_ID "VxWorks" - -# else /* unknown platform */ -# define PLATFORM_ID -# endif - -#elif defined(__INTEGRITY) -# if defined(INT_178B) -# define PLATFORM_ID "Integrity178" - -# else /* regular Integrity */ -# define PLATFORM_ID "Integrity" -# endif - -#else /* unknown platform */ -# define PLATFORM_ID - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is because - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# elif defined(_M_ARM64) -# define ARCHITECTURE_ID "ARM64" - -# elif defined(_M_ARM) -# if _M_ARM == 4 -# define ARCHITECTURE_ID "ARMV4I" -# elif _M_ARM == 5 -# define ARCHITECTURE_ID "ARMV5I" -# else -# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) -# endif - -# elif defined(_M_MIPS) -# define ARCHITECTURE_ID "MIPS" - -# elif defined(_M_SH) -# define ARCHITECTURE_ID "SHx" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__WATCOMC__) -# if defined(_M_I86) -# define ARCHITECTURE_ID "I86" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# if defined(__ICCARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__ICCRX__) -# define ARCHITECTURE_ID "RX" - -# elif defined(__ICCRH850__) -# define ARCHITECTURE_ID "RH850" - -# elif defined(__ICCRL78__) -# define ARCHITECTURE_ID "RL78" - -# elif defined(__ICCRISCV__) -# define ARCHITECTURE_ID "RISCV" - -# elif defined(__ICCAVR__) -# define ARCHITECTURE_ID "AVR" - -# elif defined(__ICC430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__ICCV850__) -# define ARCHITECTURE_ID "V850" - -# elif defined(__ICC8051__) -# define ARCHITECTURE_ID "8051" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__ghs__) -# if defined(__PPC64__) -# define ARCHITECTURE_ID "PPC64" - -# elif defined(__ppc__) -# define ARCHITECTURE_ID "PPC" - -# elif defined(__ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__x86_64__) -# define ARCHITECTURE_ID "x64" - -# elif defined(__i386__) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__TI_COMPILER_VERSION__) -# if defined(__TI_ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__MSP430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__TMS320C28XX__) -# define ARCHITECTURE_ID "TMS320C28x" - -# elif defined(__TMS320C6X__) || defined(_TMS320C6X) -# define ARCHITECTURE_ID "TMS320C6x" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#else -# define ARCHITECTURE_ID -#endif - -/* Convert integer to decimal digit literals. */ -#define DEC(n) \ - ('0' + (((n) / 10000000)%10)), \ - ('0' + (((n) / 1000000)%10)), \ - ('0' + (((n) / 100000)%10)), \ - ('0' + (((n) / 10000)%10)), \ - ('0' + (((n) / 1000)%10)), \ - ('0' + (((n) / 100)%10)), \ - ('0' + (((n) / 10)%10)), \ - ('0' + ((n) % 10)) - -/* Convert integer to hex digit literals. */ -#define HEX(n) \ - ('0' + ((n)>>28 & 0xF)), \ - ('0' + ((n)>>24 & 0xF)), \ - ('0' + ((n)>>20 & 0xF)), \ - ('0' + ((n)>>16 & 0xF)), \ - ('0' + ((n)>>12 & 0xF)), \ - ('0' + ((n)>>8 & 0xF)), \ - ('0' + ((n)>>4 & 0xF)), \ - ('0' + ((n) & 0xF)) - -/* Construct a string literal encoding the version number components. */ -#ifdef COMPILER_VERSION_MAJOR -char const info_version[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', - COMPILER_VERSION_MAJOR, -# ifdef COMPILER_VERSION_MINOR - '.', COMPILER_VERSION_MINOR, -# ifdef COMPILER_VERSION_PATCH - '.', COMPILER_VERSION_PATCH, -# ifdef COMPILER_VERSION_TWEAK - '.', COMPILER_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct a string literal encoding the internal version number. */ -#ifdef COMPILER_VERSION_INTERNAL -char const info_version_internal[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', - 'i','n','t','e','r','n','a','l','[', - COMPILER_VERSION_INTERNAL,']','\0'}; -#endif - -/* Construct a string literal encoding the version number components. */ -#ifdef SIMULATE_VERSION_MAJOR -char const info_simulate_version[] = { - 'I', 'N', 'F', 'O', ':', - 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', - SIMULATE_VERSION_MAJOR, -# ifdef SIMULATE_VERSION_MINOR - '.', SIMULATE_VERSION_MINOR, -# ifdef SIMULATE_VERSION_PATCH - '.', SIMULATE_VERSION_PATCH, -# ifdef SIMULATE_VERSION_TWEAK - '.', SIMULATE_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - -#if !defined(__STDC__) -# if (defined(_MSC_VER) && !defined(__clang__)) \ - || (defined(__ibmxl__) || defined(__IBMC__)) -# define C_DIALECT "90" -# else -# define C_DIALECT -# endif -#elif __STDC_VERSION__ >= 201000L -# define C_DIALECT "11" -#elif __STDC_VERSION__ >= 199901L -# define C_DIALECT "99" -#else -# define C_DIALECT "90" -#endif -const char* info_language_dialect_default = - "INFO" ":" "dialect_default[" C_DIALECT "]"; - -/*--------------------------------------------------------------------------*/ - -#ifdef ID_VOID_MAIN -void main() {} -#else -# if defined(__CLASSIC_C__) -int main(argc, argv) int argc; char *argv[]; -# else -int main(int argc, char* argv[]) -# endif -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; - require += info_arch[argc]; -#ifdef COMPILER_VERSION_MAJOR - require += info_version[argc]; -#endif -#ifdef COMPILER_VERSION_INTERNAL - require += info_version_internal[argc]; -#endif -#ifdef SIMULATE_ID - require += info_simulate[argc]; -#endif -#ifdef SIMULATE_VERSION_MAJOR - require += info_simulate_version[argc]; -#endif -#if defined(_CRAYC) || defined(__cray__) - require += info_cray[argc]; -#endif - require += info_language_dialect_default[argc]; - (void)argv; - return require; -} -#endif diff --git a/CMakeFiles/3.19.4/CompilerIdC/a.out b/CMakeFiles/3.19.4/CompilerIdC/a.out deleted file mode 100755 index 604f1101888751cc58b668c48057ad450eb9bf01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21064 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 diff --git a/CMakeFiles/3.19.4/CompilerIdCXX/CMakeCXXCompilerId.cpp b/CMakeFiles/3.19.4/CompilerIdCXX/CMakeCXXCompilerId.cpp deleted file mode 100644 index 0c63d62d..00000000 --- a/CMakeFiles/3.19.4/CompilerIdCXX/CMakeCXXCompilerId.cpp +++ /dev/null @@ -1,680 +0,0 @@ -/* This source file must have a .cpp extension so that all C++ compilers - recognize the extension without flags. Borland does not know .cxx for - example. */ -#ifndef __cplusplus -# error "A C compiler has been selected for C++." -#endif - - -/* Version number components: V=Version, R=Revision, P=Patch - Version date components: YYYY=Year, MM=Month, DD=Day */ - -#if defined(__COMO__) -# define COMPILER_ID "Comeau" - /* __COMO_VERSION__ = VRR */ -# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) -# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) - -#elif defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# if defined(__GNUC__) -# define SIMULATE_ID "GNU" -# endif - /* __INTEL_COMPILER = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) -# if defined(__INTEL_COMPILER_UPDATE) -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) -# else -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) -# endif -# if defined(__INTEL_COMPILER_BUILD_DATE) - /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ -# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) -# endif -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# if defined(__GNUC__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -# elif defined(__GNUG__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) -# endif -# if defined(__GNUC_MINOR__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(__PATHCC__) -# define COMPILER_ID "PathScale" -# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) -# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) -# if defined(__PATHCC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) -# endif - -#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) -# define COMPILER_ID "Embarcadero" -# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) -# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - /* __BORLANDC__ = 0xVRR */ -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) - -#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 -# define COMPILER_ID "Watcom" - /* __WATCOMC__ = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__WATCOMC__) -# define COMPILER_ID "OpenWatcom" - /* __WATCOMC__ = VVRP + 1100 */ -# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__SUNPRO_CC) -# define COMPILER_ID "SunPro" -# if __SUNPRO_CC >= 0x5100 - /* __SUNPRO_CC = 0xVRRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) -# else - /* __SUNPRO_CC = 0xVRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) -# endif - -#elif defined(__HP_aCC) -# define COMPILER_ID "HP" - /* __HP_aCC = VVRRPP */ -# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) -# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) - -#elif defined(__DECCXX) -# define COMPILER_ID "Compaq" - /* __DECCXX_VER = VVRRTPPPP */ -# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) -# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) -# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) - -#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" - /* __IBMCPP__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) - -#elif defined(__ibmxl__) && defined(__clang__) -# define COMPILER_ID "XLClang" -# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) -# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) -# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) - - -#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 -# define COMPILER_ID "XL" - /* __IBMCPP__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) - -#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 -# define COMPILER_ID "VisualAge" - /* __IBMCPP__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) - -#elif defined(__PGI) -# define COMPILER_ID "PGI" -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) -# if defined(__PGIC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) -# endif - -#elif defined(_CRAYC) -# define COMPILER_ID "Cray" -# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) - -#elif defined(__TI_COMPILER_VERSION__) -# define COMPILER_ID "TI" - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) - -#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) -# define COMPILER_ID "Fujitsu" - -#elif defined(__ghs__) -# define COMPILER_ID "GHS" -/* __GHS_VERSION_NUMBER = VVVVRP */ -# ifdef __GHS_VERSION_NUMBER -# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) -# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) -# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) -# endif - -#elif defined(__SCO_VERSION__) -# define COMPILER_ID "SCO" - -#elif defined(__ARMCC_VERSION) && !defined(__clang__) -# define COMPILER_ID "ARMCC" -#if __ARMCC_VERSION >= 1000000 - /* __ARMCC_VERSION = VRRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#else - /* __ARMCC_VERSION = VRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#endif - - -#elif defined(__clang__) && defined(__apple_build_version__) -# define COMPILER_ID "AppleClang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) - -#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) -# define COMPILER_ID "ARMClang" - # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) -# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) - -#elif defined(__clang__) -# define COMPILER_ID "Clang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif - -#elif defined(__GNUC__) || defined(__GNUG__) -# define COMPILER_ID "GNU" -# if defined(__GNUC__) -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) -# else -# define COMPILER_VERSION_MAJOR DEC(__GNUG__) -# endif -# if defined(__GNUC_MINOR__) -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - /* _MSC_VER = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) -# if defined(_MSC_FULL_VER) -# if _MSC_VER >= 1400 - /* _MSC_FULL_VER = VVRRPPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) -# else - /* _MSC_FULL_VER = VVRRPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) -# endif -# endif -# if defined(_MSC_BUILD) -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) -# endif - -#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -# define COMPILER_ID "ADSP" -#if defined(__VISUALDSPVERSION__) - /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ -# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) -# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) -#endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# define COMPILER_ID "IAR" -# if defined(__VER__) && defined(__ICCARM__) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) -# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) -# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__)) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) -# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) -# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# endif - - -/* These compilers are either not known or too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; -#ifdef SIMULATE_ID -char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; -#endif - -#ifdef __QNXNTO__ -char const* qnxnto = "INFO" ":" "qnxnto[]"; -#endif - -#if defined(_CRAYC) || defined(__cray__) -char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; -#endif - -#define STRINGIFY_HELPER(X) #X -#define STRINGIFY(X) STRINGIFY_HELPER(X) - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU__) -# define PLATFORM_ID "Haiku" - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#elif defined(__WATCOMC__) -# if defined(__LINUX__) -# define PLATFORM_ID "Linux" - -# elif defined(__DOS__) -# define PLATFORM_ID "DOS" - -# elif defined(__OS2__) -# define PLATFORM_ID "OS2" - -# elif defined(__WINDOWS__) -# define PLATFORM_ID "Windows3x" - -# elif defined(__VXWORKS__) -# define PLATFORM_ID "VxWorks" - -# else /* unknown platform */ -# define PLATFORM_ID -# endif - -#elif defined(__INTEGRITY) -# if defined(INT_178B) -# define PLATFORM_ID "Integrity178" - -# else /* regular Integrity */ -# define PLATFORM_ID "Integrity" -# endif - -#else /* unknown platform */ -# define PLATFORM_ID - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is because - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# elif defined(_M_ARM64) -# define ARCHITECTURE_ID "ARM64" - -# elif defined(_M_ARM) -# if _M_ARM == 4 -# define ARCHITECTURE_ID "ARMV4I" -# elif _M_ARM == 5 -# define ARCHITECTURE_ID "ARMV5I" -# else -# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) -# endif - -# elif defined(_M_MIPS) -# define ARCHITECTURE_ID "MIPS" - -# elif defined(_M_SH) -# define ARCHITECTURE_ID "SHx" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__WATCOMC__) -# if defined(_M_I86) -# define ARCHITECTURE_ID "I86" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# if defined(__ICCARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__ICCRX__) -# define ARCHITECTURE_ID "RX" - -# elif defined(__ICCRH850__) -# define ARCHITECTURE_ID "RH850" - -# elif defined(__ICCRL78__) -# define ARCHITECTURE_ID "RL78" - -# elif defined(__ICCRISCV__) -# define ARCHITECTURE_ID "RISCV" - -# elif defined(__ICCAVR__) -# define ARCHITECTURE_ID "AVR" - -# elif defined(__ICC430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__ICCV850__) -# define ARCHITECTURE_ID "V850" - -# elif defined(__ICC8051__) -# define ARCHITECTURE_ID "8051" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__ghs__) -# if defined(__PPC64__) -# define ARCHITECTURE_ID "PPC64" - -# elif defined(__ppc__) -# define ARCHITECTURE_ID "PPC" - -# elif defined(__ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__x86_64__) -# define ARCHITECTURE_ID "x64" - -# elif defined(__i386__) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__TI_COMPILER_VERSION__) -# if defined(__TI_ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__MSP430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__TMS320C28XX__) -# define ARCHITECTURE_ID "TMS320C28x" - -# elif defined(__TMS320C6X__) || defined(_TMS320C6X) -# define ARCHITECTURE_ID "TMS320C6x" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#else -# define ARCHITECTURE_ID -#endif - -/* Convert integer to decimal digit literals. */ -#define DEC(n) \ - ('0' + (((n) / 10000000)%10)), \ - ('0' + (((n) / 1000000)%10)), \ - ('0' + (((n) / 100000)%10)), \ - ('0' + (((n) / 10000)%10)), \ - ('0' + (((n) / 1000)%10)), \ - ('0' + (((n) / 100)%10)), \ - ('0' + (((n) / 10)%10)), \ - ('0' + ((n) % 10)) - -/* Convert integer to hex digit literals. */ -#define HEX(n) \ - ('0' + ((n)>>28 & 0xF)), \ - ('0' + ((n)>>24 & 0xF)), \ - ('0' + ((n)>>20 & 0xF)), \ - ('0' + ((n)>>16 & 0xF)), \ - ('0' + ((n)>>12 & 0xF)), \ - ('0' + ((n)>>8 & 0xF)), \ - ('0' + ((n)>>4 & 0xF)), \ - ('0' + ((n) & 0xF)) - -/* Construct a string literal encoding the version number components. */ -#ifdef COMPILER_VERSION_MAJOR -char const info_version[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', - COMPILER_VERSION_MAJOR, -# ifdef COMPILER_VERSION_MINOR - '.', COMPILER_VERSION_MINOR, -# ifdef COMPILER_VERSION_PATCH - '.', COMPILER_VERSION_PATCH, -# ifdef COMPILER_VERSION_TWEAK - '.', COMPILER_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct a string literal encoding the internal version number. */ -#ifdef COMPILER_VERSION_INTERNAL -char const info_version_internal[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', - 'i','n','t','e','r','n','a','l','[', - COMPILER_VERSION_INTERNAL,']','\0'}; -#endif - -/* Construct a string literal encoding the version number components. */ -#ifdef SIMULATE_VERSION_MAJOR -char const info_simulate_version[] = { - 'I', 'N', 'F', 'O', ':', - 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', - SIMULATE_VERSION_MAJOR, -# ifdef SIMULATE_VERSION_MINOR - '.', SIMULATE_VERSION_MINOR, -# ifdef SIMULATE_VERSION_PATCH - '.', SIMULATE_VERSION_PATCH, -# ifdef SIMULATE_VERSION_TWEAK - '.', SIMULATE_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - -#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L -# if defined(__INTEL_CXX11_MODE__) -# if defined(__cpp_aggregate_nsdmi) -# define CXX_STD 201402L -# else -# define CXX_STD 201103L -# endif -# else -# define CXX_STD 199711L -# endif -#elif defined(_MSC_VER) && defined(_MSVC_LANG) -# define CXX_STD _MSVC_LANG -#else -# define CXX_STD __cplusplus -#endif - -const char* info_language_dialect_default = "INFO" ":" "dialect_default[" -#if CXX_STD > 201703L - "20" -#elif CXX_STD >= 201703L - "17" -#elif CXX_STD >= 201402L - "14" -#elif CXX_STD >= 201103L - "11" -#else - "98" -#endif -"]"; - -/*--------------------------------------------------------------------------*/ - -int main(int argc, char* argv[]) -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; -#ifdef COMPILER_VERSION_MAJOR - require += info_version[argc]; -#endif -#ifdef COMPILER_VERSION_INTERNAL - require += info_version_internal[argc]; -#endif -#ifdef SIMULATE_ID - require += info_simulate[argc]; -#endif -#ifdef SIMULATE_VERSION_MAJOR - require += info_simulate_version[argc]; -#endif -#if defined(_CRAYC) || defined(__cray__) - require += info_cray[argc]; -#endif - require += info_language_dialect_default[argc]; - (void)argv; - return require; -} diff --git a/CMakeFiles/3.19.4/CompilerIdCXX/a.out b/CMakeFiles/3.19.4/CompilerIdCXX/a.out deleted file mode 100755 index 42e70fc7cd5d6d65eb02aad0d36f559b144b1c23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21072 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 N+%@ search starts here: - /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include - /usr/local/include - /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include-fixed - /usr/include -End of search list. -GNU C17 (GCC) version 10.2.1 20201203 (x86_64-unknown-linux-gnu) - compiled by GNU C version 10.2.1 20201203, GMP version 6.2.0, MPFR version 4.1.0, MPC version 1.1.0, isl version isl-0.21-GMP - -GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 -Compiler executable checksum: cd9b8a2d760c33d69d07511fa88cb109 -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_25d60.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' - as -v --64 -o CMakeFiles/cmTC_25d60.dir/CMakeCCompilerABI.c.o /tmp/cc2ENoAb.s -GNU assembler version 2.35.1 (x86_64-unknown-linux-gnu) using BFD version (GNU Binutils) 2.35.1 -COMPILER_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/ -LIBRARY_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_25d60.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' -Linking C executable cmTC_25d60 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_25d60.dir/link.txt --verbose=1 -/usr/bin/cc -v -rdynamic CMakeFiles/cmTC_25d60.dir/CMakeCCompilerABI.c.o -o cmTC_25d60 -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/lto-wrapper -Target: x86_64-unknown-linux-gnu -Configured with: /builddir/gcc-10.2.1_pre1/configure --build=x86_64-unknown-linux-gnu --enable-gnu-unique-object --enable-vtable-verify --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --libexecdir=/usr/lib64 --libdir=/usr/lib64 --enable-threads=posix --enable-__cxa_atexit --disable-multilib --with-system-zlib --enable-shared --enable-lto --enable-plugins --enable-linker-build-id --disable-werror --disable-nls --enable-default-pie --enable-default-ssp --enable-checking=release --disable-libstdcxx-pch --with-isl --with-linker-hash-style=gnu --disable-sjlj-exceptions --disable-target-libiberty --enable-languages=c,c++,objc,obj-c++,fortran,lto,go,ada -Thread model: posix -Supported LTO compression algorithms: zlib -gcc version 10.2.1 20201203 (GCC) -COMPILER_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/ -LIBRARY_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_25d60' '-mtune=generic' '-march=x86-64' - /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/collect2 -plugin /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/liblto_plugin.so -plugin-opt=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccVdvJVG.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_25d60 /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/Scrt1.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/crtbeginS.o -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../.. CMakeFiles/cmTC_25d60.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/crtendS.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/crtn.o -COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_25d60' '-mtune=generic' '-march=x86-64' -make[1]: Leaving directory '/home/aprokurov/Projects/mimalloc/CMakeFiles/CMakeTmp' - - - -Parsed C implicit include dir info from above output: rv=done - found start of include info - found start of implicit include info - add: [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include] - add: [/usr/local/include] - add: [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include-fixed] - add: [/usr/include] - end of search list found - collapse include dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include] ==> [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include] - collapse include dir [/usr/local/include] ==> [/usr/local/include] - collapse include dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include-fixed] ==> [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include-fixed] - collapse include dir [/usr/include] ==> [/usr/include] - implicit include dirs: [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include;/usr/local/include;/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include-fixed;/usr/include] - - -Parsed C implicit link information from above output: - link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] - ignore line: [Change Dir: /home/aprokurov/Projects/mimalloc/CMakeFiles/CMakeTmp] - ignore line: [] - ignore line: [Run Build Command(s):/usr/bin/make cmTC_25d60/fast && /usr/bin/make -f CMakeFiles/cmTC_25d60.dir/build.make CMakeFiles/cmTC_25d60.dir/build] - ignore line: [make[1]: Entering directory '/home/aprokurov/Projects/mimalloc/CMakeFiles/CMakeTmp'] - ignore line: [Building C object CMakeFiles/cmTC_25d60.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_25d60.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.19/Modules/CMakeCCompilerABI.c] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/cc] - ignore line: [Target: x86_64-unknown-linux-gnu] - ignore line: [Configured with: /builddir/gcc-10.2.1_pre1/configure --build=x86_64-unknown-linux-gnu --enable-gnu-unique-object --enable-vtable-verify --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --libexecdir=/usr/lib64 --libdir=/usr/lib64 --enable-threads=posix --enable-__cxa_atexit --disable-multilib --with-system-zlib --enable-shared --enable-lto --enable-plugins --enable-linker-build-id --disable-werror --disable-nls --enable-default-pie --enable-default-ssp --enable-checking=release --disable-libstdcxx-pch --with-isl --with-linker-hash-style=gnu --disable-sjlj-exceptions --disable-target-libiberty --enable-languages=c c++ objc obj-c++ fortran lto go ada] - ignore line: [Thread model: posix] - ignore line: [Supported LTO compression algorithms: zlib] - ignore line: [gcc version 10.2.1 20201203 (GCC) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_25d60.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] - ignore line: [ /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/cc1 -quiet -v /usr/share/cmake-3.19/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_25d60.dir/CMakeCCompilerABI.c.o -version -o /tmp/cc2ENoAb.s] - ignore line: [GNU C17 (GCC) version 10.2.1 20201203 (x86_64-unknown-linux-gnu)] - ignore line: [ compiled by GNU C version 10.2.1 20201203 GMP version 6.2.0 MPFR version 4.1.0 MPC version 1.1.0 isl version isl-0.21-GMP] - ignore line: [] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [ignoring nonexistent directory "/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../x86_64-unknown-linux-gnu/include"] - ignore line: [#include "..." search starts here:] - ignore line: [#include <...> search starts here:] - ignore line: [ /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include] - ignore line: [ /usr/local/include] - ignore line: [ /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include-fixed] - ignore line: [ /usr/include] - ignore line: [End of search list.] - ignore line: [GNU C17 (GCC) version 10.2.1 20201203 (x86_64-unknown-linux-gnu)] - ignore line: [ compiled by GNU C version 10.2.1 20201203 GMP version 6.2.0 MPFR version 4.1.0 MPC version 1.1.0 isl version isl-0.21-GMP] - ignore line: [] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [Compiler executable checksum: cd9b8a2d760c33d69d07511fa88cb109] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_25d60.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_25d60.dir/CMakeCCompilerABI.c.o /tmp/cc2ENoAb.s] - ignore line: [GNU assembler version 2.35.1 (x86_64-unknown-linux-gnu) using BFD version (GNU Binutils) 2.35.1] - ignore line: [COMPILER_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_25d60.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] - ignore line: [Linking C executable cmTC_25d60] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_25d60.dir/link.txt --verbose=1] - ignore line: [/usr/bin/cc -v -rdynamic CMakeFiles/cmTC_25d60.dir/CMakeCCompilerABI.c.o -o cmTC_25d60 ] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/cc] - ignore line: [COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/lto-wrapper] - ignore line: [Target: x86_64-unknown-linux-gnu] - ignore line: [Configured with: /builddir/gcc-10.2.1_pre1/configure --build=x86_64-unknown-linux-gnu --enable-gnu-unique-object --enable-vtable-verify --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --libexecdir=/usr/lib64 --libdir=/usr/lib64 --enable-threads=posix --enable-__cxa_atexit --disable-multilib --with-system-zlib --enable-shared --enable-lto --enable-plugins --enable-linker-build-id --disable-werror --disable-nls --enable-default-pie --enable-default-ssp --enable-checking=release --disable-libstdcxx-pch --with-isl --with-linker-hash-style=gnu --disable-sjlj-exceptions --disable-target-libiberty --enable-languages=c c++ objc obj-c++ fortran lto go ada] - ignore line: [Thread model: posix] - ignore line: [Supported LTO compression algorithms: zlib] - ignore line: [gcc version 10.2.1 20201203 (GCC) ] - ignore line: [COMPILER_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_25d60' '-mtune=generic' '-march=x86-64'] - link line: [ /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/collect2 -plugin /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/liblto_plugin.so -plugin-opt=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccVdvJVG.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_25d60 /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/Scrt1.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/crtbeginS.o -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../.. CMakeFiles/cmTC_25d60.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/crtendS.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/crtn.o] - arg [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/collect2] ==> ignore - arg [-plugin] ==> ignore - arg [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/liblto_plugin.so] ==> ignore - arg [-plugin-opt=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccVdvJVG.res] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [-plugin-opt=-pass-through=-lc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [--build-id] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [-m] ==> ignore - arg [elf_x86_64] ==> ignore - arg [-export-dynamic] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib64/ld-linux-x86-64.so.2] ==> ignore - arg [-pie] ==> ignore - arg [-o] ==> ignore - arg [cmTC_25d60] ==> ignore - arg [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/Scrt1.o] ==> ignore - arg [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/crti.o] ==> ignore - arg [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/crtbeginS.o] ==> ignore - arg [-L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1] ==> dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1] - arg [-L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64] ==> dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64] - arg [-L/lib/../lib64] ==> dir [/lib/../lib64] - arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64] - arg [-L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../..] ==> dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../..] - arg [CMakeFiles/cmTC_25d60.dir/CMakeCCompilerABI.c.o] ==> ignore - arg [-lgcc] ==> lib [gcc] - arg [--push-state] ==> ignore - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--pop-state] ==> ignore - arg [-lc] ==> lib [c] - arg [-lgcc] ==> lib [gcc] - arg [--push-state] ==> ignore - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--pop-state] ==> ignore - arg [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/crtendS.o] ==> ignore - arg [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/crtn.o] ==> ignore - collapse library dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1] ==> [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1] - collapse library dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64] ==> [/usr/lib64] - collapse library dir [/lib/../lib64] ==> [/lib64] - collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64] - collapse library dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../..] ==> [/usr/lib64] - implicit libs: [gcc;gcc_s;c;gcc;gcc_s] - implicit dirs: [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1;/usr/lib64;/lib64] - implicit fwks: [] - - -Detecting CXX compiler ABI info compiled with the following output: -Change Dir: /home/aprokurov/Projects/mimalloc/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_eaf73/fast && /usr/bin/make -f CMakeFiles/cmTC_eaf73.dir/build.make CMakeFiles/cmTC_eaf73.dir/build -make[1]: Entering directory '/home/aprokurov/Projects/mimalloc/CMakeFiles/CMakeTmp' -Building CXX object CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o -/usr/bin/c++ -v -o CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.19/Modules/CMakeCXXCompilerABI.cpp -Using built-in specs. -COLLECT_GCC=/usr/bin/c++ -Target: x86_64-unknown-linux-gnu -Configured with: /builddir/gcc-10.2.1_pre1/configure --build=x86_64-unknown-linux-gnu --enable-gnu-unique-object --enable-vtable-verify --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --libexecdir=/usr/lib64 --libdir=/usr/lib64 --enable-threads=posix --enable-__cxa_atexit --disable-multilib --with-system-zlib --enable-shared --enable-lto --enable-plugins --enable-linker-build-id --disable-werror --disable-nls --enable-default-pie --enable-default-ssp --enable-checking=release --disable-libstdcxx-pch --with-isl --with-linker-hash-style=gnu --disable-sjlj-exceptions --disable-target-libiberty --enable-languages=c,c++,objc,obj-c++,fortran,lto,go,ada -Thread model: posix -Supported LTO compression algorithms: zlib -gcc version 10.2.1 20201203 (GCC) -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' - /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake-3.19/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccYJGOzc.s -GNU C++14 (GCC) version 10.2.1 20201203 (x86_64-unknown-linux-gnu) - compiled by GNU C version 10.2.1 20201203, GMP version 6.2.0, MPFR version 4.1.0, MPC version 1.1.0, isl version isl-0.21-GMP - -GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 -ignoring nonexistent directory "/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../x86_64-unknown-linux-gnu/include" -#include "..." search starts here: -#include <...> search starts here: - /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../include/c++/10.2.1 - /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../include/c++/10.2.1/x86_64-unknown-linux-gnu - /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../include/c++/10.2.1/backward - /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include - /usr/local/include - /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include-fixed - /usr/include -End of search list. -GNU C++14 (GCC) version 10.2.1 20201203 (x86_64-unknown-linux-gnu) - compiled by GNU C version 10.2.1 20201203, GMP version 6.2.0, MPFR version 4.1.0, MPC version 1.1.0, isl version isl-0.21-GMP - -GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 -Compiler executable checksum: 9ae8d70a088aeda1fc99eee36a345833 -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' - as -v --64 -o CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccYJGOzc.s -GNU assembler version 2.35.1 (x86_64-unknown-linux-gnu) using BFD version (GNU Binutils) 2.35.1 -COMPILER_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/ -LIBRARY_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' -Linking CXX executable cmTC_eaf73 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_eaf73.dir/link.txt --verbose=1 -/usr/bin/c++ -v -rdynamic CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_eaf73 -Using built-in specs. -COLLECT_GCC=/usr/bin/c++ -COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/lto-wrapper -Target: x86_64-unknown-linux-gnu -Configured with: /builddir/gcc-10.2.1_pre1/configure --build=x86_64-unknown-linux-gnu --enable-gnu-unique-object --enable-vtable-verify --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --libexecdir=/usr/lib64 --libdir=/usr/lib64 --enable-threads=posix --enable-__cxa_atexit --disable-multilib --with-system-zlib --enable-shared --enable-lto --enable-plugins --enable-linker-build-id --disable-werror --disable-nls --enable-default-pie --enable-default-ssp --enable-checking=release --disable-libstdcxx-pch --with-isl --with-linker-hash-style=gnu --disable-sjlj-exceptions --disable-target-libiberty --enable-languages=c,c++,objc,obj-c++,fortran,lto,go,ada -Thread model: posix -Supported LTO compression algorithms: zlib -gcc version 10.2.1 20201203 (GCC) -COMPILER_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/ -LIBRARY_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_eaf73' '-shared-libgcc' '-mtune=generic' '-march=x86-64' - /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/collect2 -plugin /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/liblto_plugin.so -plugin-opt=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccb44B8E.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_eaf73 /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/Scrt1.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/crtbeginS.o -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../.. CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/crtendS.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/crtn.o -COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_eaf73' '-shared-libgcc' '-mtune=generic' '-march=x86-64' -make[1]: Leaving directory '/home/aprokurov/Projects/mimalloc/CMakeFiles/CMakeTmp' - - - -Parsed CXX implicit include dir info from above output: rv=done - found start of include info - found start of implicit include info - add: [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../include/c++/10.2.1] - add: [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../include/c++/10.2.1/x86_64-unknown-linux-gnu] - add: [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../include/c++/10.2.1/backward] - add: [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include] - add: [/usr/local/include] - add: [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include-fixed] - add: [/usr/include] - end of search list found - collapse include dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../include/c++/10.2.1] ==> [/usr/include/c++/10.2.1] - collapse include dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../include/c++/10.2.1/x86_64-unknown-linux-gnu] ==> [/usr/include/c++/10.2.1/x86_64-unknown-linux-gnu] - collapse include dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../include/c++/10.2.1/backward] ==> [/usr/include/c++/10.2.1/backward] - collapse include dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include] ==> [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include] - collapse include dir [/usr/local/include] ==> [/usr/local/include] - collapse include dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include-fixed] ==> [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include-fixed] - collapse include dir [/usr/include] ==> [/usr/include] - implicit include dirs: [/usr/include/c++/10.2.1;/usr/include/c++/10.2.1/x86_64-unknown-linux-gnu;/usr/include/c++/10.2.1/backward;/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include;/usr/local/include;/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include-fixed;/usr/include] - - -Parsed CXX implicit link information from above output: - link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] - ignore line: [Change Dir: /home/aprokurov/Projects/mimalloc/CMakeFiles/CMakeTmp] - ignore line: [] - ignore line: [Run Build Command(s):/usr/bin/make cmTC_eaf73/fast && /usr/bin/make -f CMakeFiles/cmTC_eaf73.dir/build.make CMakeFiles/cmTC_eaf73.dir/build] - ignore line: [make[1]: Entering directory '/home/aprokurov/Projects/mimalloc/CMakeFiles/CMakeTmp'] - ignore line: [Building CXX object CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o] - ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.19/Modules/CMakeCXXCompilerABI.cpp] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/c++] - ignore line: [Target: x86_64-unknown-linux-gnu] - ignore line: [Configured with: /builddir/gcc-10.2.1_pre1/configure --build=x86_64-unknown-linux-gnu --enable-gnu-unique-object --enable-vtable-verify --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --libexecdir=/usr/lib64 --libdir=/usr/lib64 --enable-threads=posix --enable-__cxa_atexit --disable-multilib --with-system-zlib --enable-shared --enable-lto --enable-plugins --enable-linker-build-id --disable-werror --disable-nls --enable-default-pie --enable-default-ssp --enable-checking=release --disable-libstdcxx-pch --with-isl --with-linker-hash-style=gnu --disable-sjlj-exceptions --disable-target-libiberty --enable-languages=c c++ objc obj-c++ fortran lto go ada] - ignore line: [Thread model: posix] - ignore line: [Supported LTO compression algorithms: zlib] - ignore line: [gcc version 10.2.1 20201203 (GCC) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] - ignore line: [ /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake-3.19/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccYJGOzc.s] - ignore line: [GNU C++14 (GCC) version 10.2.1 20201203 (x86_64-unknown-linux-gnu)] - ignore line: [ compiled by GNU C version 10.2.1 20201203 GMP version 6.2.0 MPFR version 4.1.0 MPC version 1.1.0 isl version isl-0.21-GMP] - ignore line: [] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [ignoring nonexistent directory "/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../x86_64-unknown-linux-gnu/include"] - ignore line: [#include "..." search starts here:] - ignore line: [#include <...> search starts here:] - ignore line: [ /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../include/c++/10.2.1] - ignore line: [ /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../include/c++/10.2.1/x86_64-unknown-linux-gnu] - ignore line: [ /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../include/c++/10.2.1/backward] - ignore line: [ /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include] - ignore line: [ /usr/local/include] - ignore line: [ /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/include-fixed] - ignore line: [ /usr/include] - ignore line: [End of search list.] - ignore line: [GNU C++14 (GCC) version 10.2.1 20201203 (x86_64-unknown-linux-gnu)] - ignore line: [ compiled by GNU C version 10.2.1 20201203 GMP version 6.2.0 MPFR version 4.1.0 MPC version 1.1.0 isl version isl-0.21-GMP] - ignore line: [] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [Compiler executable checksum: 9ae8d70a088aeda1fc99eee36a345833] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccYJGOzc.s] - ignore line: [GNU assembler version 2.35.1 (x86_64-unknown-linux-gnu) using BFD version (GNU Binutils) 2.35.1] - ignore line: [COMPILER_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] - ignore line: [Linking CXX executable cmTC_eaf73] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_eaf73.dir/link.txt --verbose=1] - ignore line: [/usr/bin/c++ -v -rdynamic CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_eaf73 ] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/c++] - ignore line: [COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/lto-wrapper] - ignore line: [Target: x86_64-unknown-linux-gnu] - ignore line: [Configured with: /builddir/gcc-10.2.1_pre1/configure --build=x86_64-unknown-linux-gnu --enable-gnu-unique-object --enable-vtable-verify --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --libexecdir=/usr/lib64 --libdir=/usr/lib64 --enable-threads=posix --enable-__cxa_atexit --disable-multilib --with-system-zlib --enable-shared --enable-lto --enable-plugins --enable-linker-build-id --disable-werror --disable-nls --enable-default-pie --enable-default-ssp --enable-checking=release --disable-libstdcxx-pch --with-isl --with-linker-hash-style=gnu --disable-sjlj-exceptions --disable-target-libiberty --enable-languages=c c++ objc obj-c++ fortran lto go ada] - ignore line: [Thread model: posix] - ignore line: [Supported LTO compression algorithms: zlib] - ignore line: [gcc version 10.2.1 20201203 (GCC) ] - ignore line: [COMPILER_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_eaf73' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] - link line: [ /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/collect2 -plugin /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/liblto_plugin.so -plugin-opt=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccb44B8E.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_eaf73 /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/Scrt1.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/crtbeginS.o -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../.. CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/crtendS.o /usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/crtn.o] - arg [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/collect2] ==> ignore - arg [-plugin] ==> ignore - arg [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/liblto_plugin.so] ==> ignore - arg [-plugin-opt=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccb44B8E.res] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [-plugin-opt=-pass-through=-lc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [--build-id] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [-m] ==> ignore - arg [elf_x86_64] ==> ignore - arg [-export-dynamic] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib64/ld-linux-x86-64.so.2] ==> ignore - arg [-pie] ==> ignore - arg [-o] ==> ignore - arg [cmTC_eaf73] ==> ignore - arg [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/Scrt1.o] ==> ignore - arg [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/crti.o] ==> ignore - arg [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/crtbeginS.o] ==> ignore - arg [-L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1] ==> dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1] - arg [-L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64] ==> dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64] - arg [-L/lib/../lib64] ==> dir [/lib/../lib64] - arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64] - arg [-L/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../..] ==> dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../..] - arg [CMakeFiles/cmTC_eaf73.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore - arg [-lstdc++] ==> lib [stdc++] - arg [-lm] ==> lib [m] - arg [-lgcc_s] ==> lib [gcc_s] - arg [-lgcc] ==> lib [gcc] - arg [-lc] ==> lib [c] - arg [-lgcc_s] ==> lib [gcc_s] - arg [-lgcc] ==> lib [gcc] - arg [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/crtendS.o] ==> ignore - arg [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64/crtn.o] ==> ignore - collapse library dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1] ==> [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1] - collapse library dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../../../lib64] ==> [/usr/lib64] - collapse library dir [/lib/../lib64] ==> [/lib64] - collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64] - collapse library dir [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/../../..] ==> [/usr/lib64] - implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] - implicit dirs: [/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1;/usr/lib64;/lib64] - implicit fwks: [] - - diff --git a/CMakeFiles/Export/_usr/local/lib/mimalloc-1.7/cmake/mimalloc-release.cmake b/CMakeFiles/Export/_usr/local/lib/mimalloc-1.7/cmake/mimalloc-release.cmake deleted file mode 100644 index 663e1712..00000000 --- a/CMakeFiles/Export/_usr/local/lib/mimalloc-1.7/cmake/mimalloc-release.cmake +++ /dev/null @@ -1,29 +0,0 @@ -#---------------------------------------------------------------- -# Generated CMake target import file for configuration "Release". -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "mimalloc" for configuration "Release" -set_property(TARGET mimalloc APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(mimalloc PROPERTIES - IMPORTED_LOCATION_RELEASE "/usr/local/lib/mimalloc-1.7/libmimalloc.so.1.7" - IMPORTED_SONAME_RELEASE "libmimalloc.so.1.7" - ) - -list(APPEND _IMPORT_CHECK_TARGETS mimalloc ) -list(APPEND _IMPORT_CHECK_FILES_FOR_mimalloc "/usr/local/lib/mimalloc-1.7/libmimalloc.so.1.7" ) - -# Import target "mimalloc-static" for configuration "Release" -set_property(TARGET mimalloc-static APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) -set_target_properties(mimalloc-static PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" - IMPORTED_LOCATION_RELEASE "/usr/local/lib/mimalloc-1.7/libmimalloc.a" - ) - -list(APPEND _IMPORT_CHECK_TARGETS mimalloc-static ) -list(APPEND _IMPORT_CHECK_FILES_FOR_mimalloc-static "/usr/local/lib/mimalloc-1.7/libmimalloc.a" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) diff --git a/CMakeFiles/Export/_usr/local/lib/mimalloc-1.7/cmake/mimalloc.cmake b/CMakeFiles/Export/_usr/local/lib/mimalloc-1.7/cmake/mimalloc.cmake deleted file mode 100644 index 69934a6f..00000000 --- a/CMakeFiles/Export/_usr/local/lib/mimalloc-1.7/cmake/mimalloc.cmake +++ /dev/null @@ -1,101 +0,0 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) - message(FATAL_ERROR "CMake >= 2.6.0 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.6...3.17) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_targetsDefined) -set(_targetsNotDefined) -set(_expectedTargets) -foreach(_expectedTarget mimalloc mimalloc-static) - list(APPEND _expectedTargets ${_expectedTarget}) - if(NOT TARGET ${_expectedTarget}) - list(APPEND _targetsNotDefined ${_expectedTarget}) - endif() - if(TARGET ${_expectedTarget}) - list(APPEND _targetsDefined ${_expectedTarget}) - endif() -endforeach() -if("${_targetsDefined}" STREQUAL "${_expectedTargets}") - unset(_targetsDefined) - unset(_targetsNotDefined) - unset(_expectedTargets) - set(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT "${_targetsDefined}" STREQUAL "") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") -endif() -unset(_targetsDefined) -unset(_targetsNotDefined) -unset(_expectedTargets) - - -# The installation prefix configured by this project. -set(_IMPORT_PREFIX "/usr/local") - -# Create imported target mimalloc -add_library(mimalloc SHARED IMPORTED) - -set_target_properties(mimalloc PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "/usr/local/lib/mimalloc-1.7/include" - INTERFACE_LINK_LIBRARIES "pthread;/usr/lib/librt.so" -) - -# Create imported target mimalloc-static -add_library(mimalloc-static STATIC IMPORTED) - -set_target_properties(mimalloc-static PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "/usr/local/lib/mimalloc-1.7/include" - INTERFACE_LINK_LIBRARIES "pthread;/usr/lib/librt.so" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -file(GLOB CONFIG_FILES "${_DIR}/mimalloc-*.cmake") -foreach(f ${CONFIG_FILES}) - include(${f}) -endforeach() - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(target ${_IMPORT_CHECK_TARGETS} ) - foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) - if(NOT EXISTS "${file}" ) - message(FATAL_ERROR "The imported target \"${target}\" references the file - \"${file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_IMPORT_CHECK_FILES_FOR_${target}) -endforeach() -unset(_IMPORT_CHECK_TARGETS) - -# This file does not depend on other imported targets which have -# been exported from the same project but in a separate export set. - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) diff --git a/CMakeFiles/Makefile.cmake b/CMakeFiles/Makefile.cmake deleted file mode 100644 index f7b6e285..00000000 --- a/CMakeFiles/Makefile.cmake +++ /dev/null @@ -1,52 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# The generator used is: -set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") - -# The top level Makefile was generated from the following files: -set(CMAKE_MAKEFILE_DEPENDS - "CMakeCache.txt" - "CMakeFiles/3.19.4/CMakeCCompiler.cmake" - "CMakeFiles/3.19.4/CMakeCXXCompiler.cmake" - "CMakeFiles/3.19.4/CMakeSystem.cmake" - "CMakeLists.txt" - "cmake/mimalloc-config-version.cmake" - "/usr/share/cmake-3.19/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.19/Modules/CMakeCXXInformation.cmake" - "/usr/share/cmake-3.19/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.19/Modules/CMakeGenericSystem.cmake" - "/usr/share/cmake-3.19/Modules/CMakeInitializeConfigs.cmake" - "/usr/share/cmake-3.19/Modules/CMakeLanguageInformation.cmake" - "/usr/share/cmake-3.19/Modules/CMakeSystemSpecificInformation.cmake" - "/usr/share/cmake-3.19/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.19/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.19/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-3.19/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-3.19/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.19/Modules/Platform/Linux-GNU-C.cmake" - "/usr/share/cmake-3.19/Modules/Platform/Linux-GNU-CXX.cmake" - "/usr/share/cmake-3.19/Modules/Platform/Linux-GNU.cmake" - "/usr/share/cmake-3.19/Modules/Platform/Linux.cmake" - "/usr/share/cmake-3.19/Modules/Platform/UnixPaths.cmake" - ) - -# The corresponding makefile is: -set(CMAKE_MAKEFILE_OUTPUTS - "Makefile" - "CMakeFiles/cmake.check_cache" - ) - -# Byproducts of CMake generate step: -set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/CMakeDirectoryInformation.cmake" - ) - -# Dependency information for all targets: -set(CMAKE_DEPEND_INFO_FILES - "CMakeFiles/mimalloc-test-stress.dir/DependInfo.cmake" - "CMakeFiles/mimalloc-obj.dir/DependInfo.cmake" - "CMakeFiles/mimalloc-static.dir/DependInfo.cmake" - "CMakeFiles/mimalloc-test-api.dir/DependInfo.cmake" - "CMakeFiles/mimalloc.dir/DependInfo.cmake" - ) diff --git a/CMakeFiles/Makefile2 b/CMakeFiles/Makefile2 deleted file mode 100644 index d911962e..00000000 --- a/CMakeFiles/Makefile2 +++ /dev/null @@ -1,241 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# Default target executed when no arguments are given to make. -default_target: all - -.PHONY : default_target - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Disable VCS-based implicit rules. -% : %,v - - -# Disable VCS-based implicit rules. -% : RCS/% - - -# Disable VCS-based implicit rules. -% : RCS/%,v - - -# Disable VCS-based implicit rules. -% : SCCS/s.% - - -# Disable VCS-based implicit rules. -% : s.% - - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/aprokurov/Projects/mimalloc - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/aprokurov/Projects/mimalloc - -#============================================================================= -# Directory level rules for the build root directory - -# The main recursive "all" target. -all: CMakeFiles/mimalloc-test-stress.dir/all -all: CMakeFiles/mimalloc-obj.dir/all -all: CMakeFiles/mimalloc-static.dir/all -all: CMakeFiles/mimalloc-test-api.dir/all -all: CMakeFiles/mimalloc.dir/all - -.PHONY : all - -# The main recursive "preinstall" target. -preinstall: - -.PHONY : preinstall - -# The main recursive "clean" target. -clean: CMakeFiles/mimalloc-test-stress.dir/clean -clean: CMakeFiles/mimalloc-obj.dir/clean -clean: CMakeFiles/mimalloc-static.dir/clean -clean: CMakeFiles/mimalloc-test-api.dir/clean -clean: CMakeFiles/mimalloc.dir/clean - -.PHONY : clean - -#============================================================================= -# Target rules for target CMakeFiles/mimalloc-test-stress.dir - -# All Build rule for target. -CMakeFiles/mimalloc-test-stress.dir/all: CMakeFiles/mimalloc.dir/all - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-test-stress.dir/build.make CMakeFiles/mimalloc-test-stress.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-test-stress.dir/build.make CMakeFiles/mimalloc-test-stress.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=34,35 "Built target mimalloc-test-stress" -.PHONY : CMakeFiles/mimalloc-test-stress.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/mimalloc-test-stress.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/aprokurov/Projects/mimalloc/CMakeFiles 17 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/mimalloc-test-stress.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/aprokurov/Projects/mimalloc/CMakeFiles 0 -.PHONY : CMakeFiles/mimalloc-test-stress.dir/rule - -# Convenience name for target. -mimalloc-test-stress: CMakeFiles/mimalloc-test-stress.dir/rule - -.PHONY : mimalloc-test-stress - -# clean rule for target. -CMakeFiles/mimalloc-test-stress.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-test-stress.dir/build.make CMakeFiles/mimalloc-test-stress.dir/clean -.PHONY : CMakeFiles/mimalloc-test-stress.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/mimalloc-obj.dir - -# All Build rule for target. -CMakeFiles/mimalloc-obj.dir/all: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-obj.dir/build.make CMakeFiles/mimalloc-obj.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-obj.dir/build.make CMakeFiles/mimalloc-obj.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=16 "Built target mimalloc-obj" -.PHONY : CMakeFiles/mimalloc-obj.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/mimalloc-obj.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/aprokurov/Projects/mimalloc/CMakeFiles 1 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/mimalloc-obj.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/aprokurov/Projects/mimalloc/CMakeFiles 0 -.PHONY : CMakeFiles/mimalloc-obj.dir/rule - -# Convenience name for target. -mimalloc-obj: CMakeFiles/mimalloc-obj.dir/rule - -.PHONY : mimalloc-obj - -# clean rule for target. -CMakeFiles/mimalloc-obj.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-obj.dir/build.make CMakeFiles/mimalloc-obj.dir/clean -.PHONY : CMakeFiles/mimalloc-obj.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/mimalloc-static.dir - -# All Build rule for target. -CMakeFiles/mimalloc-static.dir/all: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 "Built target mimalloc-static" -.PHONY : CMakeFiles/mimalloc-static.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/mimalloc-static.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/aprokurov/Projects/mimalloc/CMakeFiles 15 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/mimalloc-static.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/aprokurov/Projects/mimalloc/CMakeFiles 0 -.PHONY : CMakeFiles/mimalloc-static.dir/rule - -# Convenience name for target. -mimalloc-static: CMakeFiles/mimalloc-static.dir/rule - -.PHONY : mimalloc-static - -# clean rule for target. -CMakeFiles/mimalloc-static.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/clean -.PHONY : CMakeFiles/mimalloc-static.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/mimalloc-test-api.dir - -# All Build rule for target. -CMakeFiles/mimalloc-test-api.dir/all: CMakeFiles/mimalloc-static.dir/all - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-test-api.dir/build.make CMakeFiles/mimalloc-test-api.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-test-api.dir/build.make CMakeFiles/mimalloc-test-api.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=32,33 "Built target mimalloc-test-api" -.PHONY : CMakeFiles/mimalloc-test-api.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/mimalloc-test-api.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/aprokurov/Projects/mimalloc/CMakeFiles 17 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/mimalloc-test-api.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/aprokurov/Projects/mimalloc/CMakeFiles 0 -.PHONY : CMakeFiles/mimalloc-test-api.dir/rule - -# Convenience name for target. -mimalloc-test-api: CMakeFiles/mimalloc-test-api.dir/rule - -.PHONY : mimalloc-test-api - -# clean rule for target. -CMakeFiles/mimalloc-test-api.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-test-api.dir/build.make CMakeFiles/mimalloc-test-api.dir/clean -.PHONY : CMakeFiles/mimalloc-test-api.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/mimalloc.dir - -# All Build rule for target. -CMakeFiles/mimalloc.dir/all: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 "Built target mimalloc" -.PHONY : CMakeFiles/mimalloc.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/mimalloc.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/aprokurov/Projects/mimalloc/CMakeFiles 15 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/mimalloc.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/aprokurov/Projects/mimalloc/CMakeFiles 0 -.PHONY : CMakeFiles/mimalloc.dir/rule - -# Convenience name for target. -mimalloc: CMakeFiles/mimalloc.dir/rule - -.PHONY : mimalloc - -# clean rule for target. -CMakeFiles/mimalloc.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/clean -.PHONY : CMakeFiles/mimalloc.dir/clean - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/CMakeFiles/TargetDirectories.txt b/CMakeFiles/TargetDirectories.txt deleted file mode 100644 index 36ace24b..00000000 --- a/CMakeFiles/TargetDirectories.txt +++ /dev/null @@ -1,12 +0,0 @@ -/home/aprokurov/Projects/mimalloc/CMakeFiles/install/local.dir -/home/aprokurov/Projects/mimalloc/CMakeFiles/install.dir -/home/aprokurov/Projects/mimalloc/CMakeFiles/list_install_components.dir -/home/aprokurov/Projects/mimalloc/CMakeFiles/rebuild_cache.dir -/home/aprokurov/Projects/mimalloc/CMakeFiles/edit_cache.dir -/home/aprokurov/Projects/mimalloc/CMakeFiles/test.dir -/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-test-stress.dir -/home/aprokurov/Projects/mimalloc/CMakeFiles/install/strip.dir -/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-obj.dir -/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir -/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-test-api.dir -/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir diff --git a/CMakeFiles/cmake.check_cache b/CMakeFiles/cmake.check_cache deleted file mode 100644 index 3dccd731..00000000 --- a/CMakeFiles/cmake.check_cache +++ /dev/null @@ -1 +0,0 @@ -# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/CMakeFiles/mimalloc-obj.dir/C.includecache b/CMakeFiles/mimalloc-obj.dir/C.includecache deleted file mode 100644 index 9786d7f0..00000000 --- a/CMakeFiles/mimalloc-obj.dir/C.includecache +++ /dev/null @@ -1,374 +0,0 @@ -#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) - -#IncludeRegexScan: ^.*$ - -#IncludeRegexComplain: ^$ - -#IncludeRegexTransform: - -/home/aprokurov/Projects/mimalloc/src/alloc-aligned.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -string.h -- - -/home/aprokurov/Projects/mimalloc/src/alloc-override-osx.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -AvailabilityMacros.h -- -malloc/malloc.h -- -string.h -- - -/home/aprokurov/Projects/mimalloc/src/alloc-override.c -new -- - -/home/aprokurov/Projects/mimalloc/src/alloc-posix.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -errno.h -- -string.h -- -stdlib.h -- - -/home/aprokurov/Projects/mimalloc/src/alloc.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -mimalloc-atomic.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-atomic.h -string.h -- -stdlib.h -- -alloc-override.c -/home/aprokurov/Projects/mimalloc/src/alloc-override.c -Windows.h -- -unistd.h -- -new -- - -/home/aprokurov/Projects/mimalloc/src/arena.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -mimalloc-atomic.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-atomic.h -string.h -- -errno.h -- -bitmap.h -/home/aprokurov/Projects/mimalloc/src/bitmap.h - -/home/aprokurov/Projects/mimalloc/src/bitmap.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -bitmap.h -/home/aprokurov/Projects/mimalloc/src/bitmap.h - -/home/aprokurov/Projects/mimalloc/src/bitmap.h - -/home/aprokurov/Projects/mimalloc/src/heap.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -mimalloc-atomic.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-atomic.h -string.h -- - -/home/aprokurov/Projects/mimalloc/src/init.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -string.h -- -stdlib.h -- -Windows.h -- -fibersapi.h -- -pthread.h -- -intrin.h -- - -/home/aprokurov/Projects/mimalloc/src/options.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -mimalloc-atomic.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-atomic.h -stdio.h -- -stdlib.h -- -string.h -- -ctype.h -- -stdarg.h -- -conio.h -- -Windows.h -- -crt_externs.h -- - -/home/aprokurov/Projects/mimalloc/src/os.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -mimalloc-atomic.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-atomic.h -string.h -- -Windows.h -- -sys/mman.h -- -unistd.h -- -features.h -- -linux/mman.h -- -sys/mman.h -- -TargetConditionals.h -- -mach/vm_statistics.h -- -winternl.h -- -sys/syscall.h -- -sys/syscall.h -- -stdio.h -- - -/home/aprokurov/Projects/mimalloc/src/page-queue.c - -/home/aprokurov/Projects/mimalloc/src/page.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -mimalloc-atomic.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-atomic.h -page-queue.c -/home/aprokurov/Projects/mimalloc/src/page-queue.c - -/home/aprokurov/Projects/mimalloc/src/random.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -string.h -- -bcrypt.h -- -stdlib.h -- -sys/syscall.h -- -unistd.h -- -sys/types.h -- -sys/stat.h -- -fcntl.h -- -errno.h -- -Windows.h -- -mach/mach_time.h -- -time.h -- - -/home/aprokurov/Projects/mimalloc/src/region.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -mimalloc-atomic.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-atomic.h -string.h -- -bitmap.h -/home/aprokurov/Projects/mimalloc/src/bitmap.h - -/home/aprokurov/Projects/mimalloc/src/segment.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -mimalloc-atomic.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-atomic.h -string.h -- -stdio.h -- - -/home/aprokurov/Projects/mimalloc/src/static.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -stats.c -/home/aprokurov/Projects/mimalloc/src/stats.c -random.c -/home/aprokurov/Projects/mimalloc/src/random.c -os.c -/home/aprokurov/Projects/mimalloc/src/os.c -bitmap.c -/home/aprokurov/Projects/mimalloc/src/bitmap.c -arena.c -/home/aprokurov/Projects/mimalloc/src/arena.c -region.c -/home/aprokurov/Projects/mimalloc/src/region.c -segment.c -/home/aprokurov/Projects/mimalloc/src/segment.c -page.c -/home/aprokurov/Projects/mimalloc/src/page.c -heap.c -/home/aprokurov/Projects/mimalloc/src/heap.c -alloc.c -/home/aprokurov/Projects/mimalloc/src/alloc.c -alloc-aligned.c -/home/aprokurov/Projects/mimalloc/src/alloc-aligned.c -alloc-posix.c -/home/aprokurov/Projects/mimalloc/src/alloc-posix.c -alloc-override-osx.c -/home/aprokurov/Projects/mimalloc/src/alloc-override-osx.c -init.c -/home/aprokurov/Projects/mimalloc/src/init.c -options.c -/home/aprokurov/Projects/mimalloc/src/options.c - -/home/aprokurov/Projects/mimalloc/src/stats.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -mimalloc-atomic.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-atomic.h -stdio.h -- -string.h -- -Windows.h -- -time.h -- -Windows.h -- -psapi.h -- -stdio.h -- -unistd.h -- -sys/resource.h -- -mach/mach.h -- -kernel/OS.h -- - -include/mimalloc-atomic.h -atomic -- -stdatomic.h -- -Windows.h -- -intrin.h -- -thread -- -windows.h -- -emmintrin.h -- -synch.h -- -sched.h -- -unistd.h -- - -include/mimalloc-internal.h -mimalloc-types.h -include/mimalloc-types.h -errno.h -- -limits.h -- -pthread.h -- -pthread.h -- -windows.h -- -limits.h -- -limits.h -- -intrin.h -- -string.h -- -string.h -- -string.h -- - -include/mimalloc-types.h -stddef.h -- -stdint.h -- -mimalloc-atomic.h -- - -include/mimalloc.h -stddef.h -- -stdbool.h -- -cstdint -- -type_traits -- -utility -- - diff --git a/CMakeFiles/mimalloc-obj.dir/DependInfo.cmake b/CMakeFiles/mimalloc-obj.dir/DependInfo.cmake deleted file mode 100644 index 0cb7a93e..00000000 --- a/CMakeFiles/mimalloc-obj.dir/DependInfo.cmake +++ /dev/null @@ -1,26 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - "C" - ) -# The set of files for implicit dependencies of each language: -set(CMAKE_DEPENDS_CHECK_C - "/home/aprokurov/Projects/mimalloc/src/static.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-obj.dir/src/static.c.o" - ) -set(CMAKE_C_COMPILER_ID "GNU") - -# Preprocessor definitions for this target. -set(CMAKE_TARGET_DEFINITIONS_C - "MI_MALLOC_OVERRIDE" - ) - -# The include file search paths: -set(CMAKE_C_TARGET_INCLUDE_PATH - "include" - ) - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/CMakeFiles/mimalloc-obj.dir/build.make b/CMakeFiles/mimalloc-obj.dir/build.make deleted file mode 100644 index 66852267..00000000 --- a/CMakeFiles/mimalloc-obj.dir/build.make +++ /dev/null @@ -1,109 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Disable VCS-based implicit rules. -% : %,v - - -# Disable VCS-based implicit rules. -% : RCS/% - - -# Disable VCS-based implicit rules. -% : RCS/%,v - - -# Disable VCS-based implicit rules. -% : SCCS/s.% - - -# Disable VCS-based implicit rules. -% : s.% - - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/aprokurov/Projects/mimalloc - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/aprokurov/Projects/mimalloc - -# Include any dependencies generated for this target. -include CMakeFiles/mimalloc-obj.dir/depend.make - -# Include the progress variables for this target. -include CMakeFiles/mimalloc-obj.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/mimalloc-obj.dir/flags.make - -CMakeFiles/mimalloc-obj.dir/src/static.c.o: CMakeFiles/mimalloc-obj.dir/flags.make -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/static.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/mimalloc-obj.dir/src/static.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-obj.dir/src/static.c.o -c /home/aprokurov/Projects/mimalloc/src/static.c - -CMakeFiles/mimalloc-obj.dir/src/static.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-obj.dir/src/static.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/static.c > CMakeFiles/mimalloc-obj.dir/src/static.c.i - -CMakeFiles/mimalloc-obj.dir/src/static.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-obj.dir/src/static.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/static.c -o CMakeFiles/mimalloc-obj.dir/src/static.c.s - -mimalloc-obj: CMakeFiles/mimalloc-obj.dir/src/static.c.o -mimalloc-obj: CMakeFiles/mimalloc-obj.dir/build.make - -.PHONY : mimalloc-obj - -# Rule to build all files generated by this target. -CMakeFiles/mimalloc-obj.dir/build: mimalloc-obj - -.PHONY : CMakeFiles/mimalloc-obj.dir/build - -CMakeFiles/mimalloc-obj.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/mimalloc-obj.dir/cmake_clean.cmake -.PHONY : CMakeFiles/mimalloc-obj.dir/clean - -CMakeFiles/mimalloc-obj.dir/depend: - cd /home/aprokurov/Projects/mimalloc && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-obj.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/mimalloc-obj.dir/depend - diff --git a/CMakeFiles/mimalloc-obj.dir/cmake_clean.cmake b/CMakeFiles/mimalloc-obj.dir/cmake_clean.cmake deleted file mode 100644 index a299a056..00000000 --- a/CMakeFiles/mimalloc-obj.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/mimalloc-obj.dir/src/static.c.o" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/mimalloc-obj.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/CMakeFiles/mimalloc-obj.dir/depend.internal b/CMakeFiles/mimalloc-obj.dir/depend.internal deleted file mode 100644 index a45f4cb2..00000000 --- a/CMakeFiles/mimalloc-obj.dir/depend.internal +++ /dev/null @@ -1,27 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -CMakeFiles/mimalloc-obj.dir/src/static.c.o - /home/aprokurov/Projects/mimalloc/src/alloc-aligned.c - /home/aprokurov/Projects/mimalloc/src/alloc-override-osx.c - /home/aprokurov/Projects/mimalloc/src/alloc-override.c - /home/aprokurov/Projects/mimalloc/src/alloc-posix.c - /home/aprokurov/Projects/mimalloc/src/alloc.c - /home/aprokurov/Projects/mimalloc/src/arena.c - /home/aprokurov/Projects/mimalloc/src/bitmap.c - /home/aprokurov/Projects/mimalloc/src/bitmap.h - /home/aprokurov/Projects/mimalloc/src/heap.c - /home/aprokurov/Projects/mimalloc/src/init.c - /home/aprokurov/Projects/mimalloc/src/options.c - /home/aprokurov/Projects/mimalloc/src/os.c - /home/aprokurov/Projects/mimalloc/src/page-queue.c - /home/aprokurov/Projects/mimalloc/src/page.c - /home/aprokurov/Projects/mimalloc/src/random.c - /home/aprokurov/Projects/mimalloc/src/region.c - /home/aprokurov/Projects/mimalloc/src/segment.c - /home/aprokurov/Projects/mimalloc/src/static.c - /home/aprokurov/Projects/mimalloc/src/stats.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h diff --git a/CMakeFiles/mimalloc-obj.dir/depend.make b/CMakeFiles/mimalloc-obj.dir/depend.make deleted file mode 100644 index 5f2bb5c9..00000000 --- a/CMakeFiles/mimalloc-obj.dir/depend.make +++ /dev/null @@ -1,27 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/alloc-aligned.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/alloc-override-osx.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/alloc-override.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/alloc-posix.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/alloc.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/arena.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/bitmap.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/bitmap.h -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/heap.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/init.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/options.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/os.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/page-queue.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/page.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/random.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/region.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/segment.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/static.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: src/stats.c -CMakeFiles/mimalloc-obj.dir/src/static.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc-obj.dir/src/static.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc-obj.dir/src/static.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc-obj.dir/src/static.c.o: include/mimalloc.h - diff --git a/CMakeFiles/mimalloc-obj.dir/flags.make b/CMakeFiles/mimalloc-obj.dir/flags.make deleted file mode 100644 index 5e7132e2..00000000 --- a/CMakeFiles/mimalloc-obj.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# compile C with /usr/bin/cc -C_DEFINES = -DMI_MALLOC_OVERRIDE - -C_INCLUDES = -I/home/aprokurov/Projects/mimalloc/include - -C_FLAGS = -O3 -DNDEBUG -fPIC -Wall -Wextra -Wno-unknown-pragmas -fvisibility=hidden -Wno-invalid-memory-model -ftls-model=initial-exec -std=gnu11 - diff --git a/CMakeFiles/mimalloc-obj.dir/progress.make b/CMakeFiles/mimalloc-obj.dir/progress.make deleted file mode 100644 index 0b890e87..00000000 --- a/CMakeFiles/mimalloc-obj.dir/progress.make +++ /dev/null @@ -1,2 +0,0 @@ -CMAKE_PROGRESS_1 = 16 - diff --git a/CMakeFiles/mimalloc-obj.dir/src/static.c.o b/CMakeFiles/mimalloc-obj.dir/src/static.c.o deleted file mode 100644 index 8561ca52e9b5bc13ef83a4ac53f93ed8838f538e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158736 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]+)([">]) - -#IncludeRegexScan: ^.*$ - -#IncludeRegexComplain: ^$ - -#IncludeRegexTransform: - -/home/aprokurov/Projects/mimalloc/src/init.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -string.h -- -stdlib.h -- -Windows.h -- -fibersapi.h -- -pthread.h -- -intrin.h -- - -include/mimalloc-atomic.h -atomic -- -stdatomic.h -- -Windows.h -- -intrin.h -- -thread -- -windows.h -- -emmintrin.h -- -synch.h -- -sched.h -- -unistd.h -- - -include/mimalloc-internal.h -mimalloc-types.h -include/mimalloc-types.h -errno.h -- -limits.h -- -pthread.h -- -pthread.h -- -windows.h -- -limits.h -- -limits.h -- -intrin.h -- -string.h -- -string.h -- -string.h -- - -include/mimalloc-types.h -stddef.h -- -stdint.h -- -mimalloc-atomic.h -- - -include/mimalloc.h -stddef.h -- -stdbool.h -- -cstdint -- -type_traits -- -utility -- - diff --git a/CMakeFiles/mimalloc-static.dir/DependInfo.cmake b/CMakeFiles/mimalloc-static.dir/DependInfo.cmake deleted file mode 100644 index a1969908..00000000 --- a/CMakeFiles/mimalloc-static.dir/DependInfo.cmake +++ /dev/null @@ -1,40 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - "C" - ) -# The set of files for implicit dependencies of each language: -set(CMAKE_DEPENDS_CHECK_C - "/home/aprokurov/Projects/mimalloc/src/alloc-aligned.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o" - "/home/aprokurov/Projects/mimalloc/src/alloc-posix.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o" - "/home/aprokurov/Projects/mimalloc/src/alloc.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/src/alloc.c.o" - "/home/aprokurov/Projects/mimalloc/src/arena.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/src/arena.c.o" - "/home/aprokurov/Projects/mimalloc/src/bitmap.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/src/bitmap.c.o" - "/home/aprokurov/Projects/mimalloc/src/heap.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/src/heap.c.o" - "/home/aprokurov/Projects/mimalloc/src/init.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/src/init.c.o" - "/home/aprokurov/Projects/mimalloc/src/options.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/src/options.c.o" - "/home/aprokurov/Projects/mimalloc/src/os.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/src/os.c.o" - "/home/aprokurov/Projects/mimalloc/src/page.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/src/page.c.o" - "/home/aprokurov/Projects/mimalloc/src/random.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/src/random.c.o" - "/home/aprokurov/Projects/mimalloc/src/region.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/src/region.c.o" - "/home/aprokurov/Projects/mimalloc/src/segment.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/src/segment.c.o" - "/home/aprokurov/Projects/mimalloc/src/stats.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/src/stats.c.o" - ) -set(CMAKE_C_COMPILER_ID "GNU") - -# Preprocessor definitions for this target. -set(CMAKE_TARGET_DEFINITIONS_C - "MI_MALLOC_OVERRIDE" - "MI_STATIC_LIB" - ) - -# The include file search paths: -set(CMAKE_C_TARGET_INCLUDE_PATH - "include" - ) - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/CMakeFiles/mimalloc-static.dir/build.make b/CMakeFiles/mimalloc-static.dir/build.make deleted file mode 100644 index 52efc755..00000000 --- a/CMakeFiles/mimalloc-static.dir/build.make +++ /dev/null @@ -1,313 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Disable VCS-based implicit rules. -% : %,v - - -# Disable VCS-based implicit rules. -% : RCS/% - - -# Disable VCS-based implicit rules. -% : RCS/%,v - - -# Disable VCS-based implicit rules. -% : SCCS/s.% - - -# Disable VCS-based implicit rules. -% : s.% - - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/aprokurov/Projects/mimalloc - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/aprokurov/Projects/mimalloc - -# Include any dependencies generated for this target. -include CMakeFiles/mimalloc-static.dir/depend.make - -# Include the progress variables for this target. -include CMakeFiles/mimalloc-static.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/mimalloc-static.dir/flags.make - -CMakeFiles/mimalloc-static.dir/src/stats.c.o: CMakeFiles/mimalloc-static.dir/flags.make -CMakeFiles/mimalloc-static.dir/src/stats.c.o: src/stats.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/mimalloc-static.dir/src/stats.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-static.dir/src/stats.c.o -c /home/aprokurov/Projects/mimalloc/src/stats.c - -CMakeFiles/mimalloc-static.dir/src/stats.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-static.dir/src/stats.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/stats.c > CMakeFiles/mimalloc-static.dir/src/stats.c.i - -CMakeFiles/mimalloc-static.dir/src/stats.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-static.dir/src/stats.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/stats.c -o CMakeFiles/mimalloc-static.dir/src/stats.c.s - -CMakeFiles/mimalloc-static.dir/src/random.c.o: CMakeFiles/mimalloc-static.dir/flags.make -CMakeFiles/mimalloc-static.dir/src/random.c.o: src/random.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/mimalloc-static.dir/src/random.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-static.dir/src/random.c.o -c /home/aprokurov/Projects/mimalloc/src/random.c - -CMakeFiles/mimalloc-static.dir/src/random.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-static.dir/src/random.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/random.c > CMakeFiles/mimalloc-static.dir/src/random.c.i - -CMakeFiles/mimalloc-static.dir/src/random.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-static.dir/src/random.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/random.c -o CMakeFiles/mimalloc-static.dir/src/random.c.s - -CMakeFiles/mimalloc-static.dir/src/os.c.o: CMakeFiles/mimalloc-static.dir/flags.make -CMakeFiles/mimalloc-static.dir/src/os.c.o: src/os.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object CMakeFiles/mimalloc-static.dir/src/os.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-static.dir/src/os.c.o -c /home/aprokurov/Projects/mimalloc/src/os.c - -CMakeFiles/mimalloc-static.dir/src/os.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-static.dir/src/os.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/os.c > CMakeFiles/mimalloc-static.dir/src/os.c.i - -CMakeFiles/mimalloc-static.dir/src/os.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-static.dir/src/os.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/os.c -o CMakeFiles/mimalloc-static.dir/src/os.c.s - -CMakeFiles/mimalloc-static.dir/src/bitmap.c.o: CMakeFiles/mimalloc-static.dir/flags.make -CMakeFiles/mimalloc-static.dir/src/bitmap.c.o: src/bitmap.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object CMakeFiles/mimalloc-static.dir/src/bitmap.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-static.dir/src/bitmap.c.o -c /home/aprokurov/Projects/mimalloc/src/bitmap.c - -CMakeFiles/mimalloc-static.dir/src/bitmap.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-static.dir/src/bitmap.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/bitmap.c > CMakeFiles/mimalloc-static.dir/src/bitmap.c.i - -CMakeFiles/mimalloc-static.dir/src/bitmap.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-static.dir/src/bitmap.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/bitmap.c -o CMakeFiles/mimalloc-static.dir/src/bitmap.c.s - -CMakeFiles/mimalloc-static.dir/src/arena.c.o: CMakeFiles/mimalloc-static.dir/flags.make -CMakeFiles/mimalloc-static.dir/src/arena.c.o: src/arena.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building C object CMakeFiles/mimalloc-static.dir/src/arena.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-static.dir/src/arena.c.o -c /home/aprokurov/Projects/mimalloc/src/arena.c - -CMakeFiles/mimalloc-static.dir/src/arena.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-static.dir/src/arena.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/arena.c > CMakeFiles/mimalloc-static.dir/src/arena.c.i - -CMakeFiles/mimalloc-static.dir/src/arena.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-static.dir/src/arena.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/arena.c -o CMakeFiles/mimalloc-static.dir/src/arena.c.s - -CMakeFiles/mimalloc-static.dir/src/region.c.o: CMakeFiles/mimalloc-static.dir/flags.make -CMakeFiles/mimalloc-static.dir/src/region.c.o: src/region.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building C object CMakeFiles/mimalloc-static.dir/src/region.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-static.dir/src/region.c.o -c /home/aprokurov/Projects/mimalloc/src/region.c - -CMakeFiles/mimalloc-static.dir/src/region.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-static.dir/src/region.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/region.c > CMakeFiles/mimalloc-static.dir/src/region.c.i - -CMakeFiles/mimalloc-static.dir/src/region.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-static.dir/src/region.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/region.c -o CMakeFiles/mimalloc-static.dir/src/region.c.s - -CMakeFiles/mimalloc-static.dir/src/segment.c.o: CMakeFiles/mimalloc-static.dir/flags.make -CMakeFiles/mimalloc-static.dir/src/segment.c.o: src/segment.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building C object CMakeFiles/mimalloc-static.dir/src/segment.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-static.dir/src/segment.c.o -c /home/aprokurov/Projects/mimalloc/src/segment.c - -CMakeFiles/mimalloc-static.dir/src/segment.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-static.dir/src/segment.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/segment.c > CMakeFiles/mimalloc-static.dir/src/segment.c.i - -CMakeFiles/mimalloc-static.dir/src/segment.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-static.dir/src/segment.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/segment.c -o CMakeFiles/mimalloc-static.dir/src/segment.c.s - -CMakeFiles/mimalloc-static.dir/src/page.c.o: CMakeFiles/mimalloc-static.dir/flags.make -CMakeFiles/mimalloc-static.dir/src/page.c.o: src/page.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building C object CMakeFiles/mimalloc-static.dir/src/page.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-static.dir/src/page.c.o -c /home/aprokurov/Projects/mimalloc/src/page.c - -CMakeFiles/mimalloc-static.dir/src/page.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-static.dir/src/page.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/page.c > CMakeFiles/mimalloc-static.dir/src/page.c.i - -CMakeFiles/mimalloc-static.dir/src/page.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-static.dir/src/page.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/page.c -o CMakeFiles/mimalloc-static.dir/src/page.c.s - -CMakeFiles/mimalloc-static.dir/src/alloc.c.o: CMakeFiles/mimalloc-static.dir/flags.make -CMakeFiles/mimalloc-static.dir/src/alloc.c.o: src/alloc.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building C object CMakeFiles/mimalloc-static.dir/src/alloc.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-static.dir/src/alloc.c.o -c /home/aprokurov/Projects/mimalloc/src/alloc.c - -CMakeFiles/mimalloc-static.dir/src/alloc.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-static.dir/src/alloc.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/alloc.c > CMakeFiles/mimalloc-static.dir/src/alloc.c.i - -CMakeFiles/mimalloc-static.dir/src/alloc.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-static.dir/src/alloc.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/alloc.c -o CMakeFiles/mimalloc-static.dir/src/alloc.c.s - -CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o: CMakeFiles/mimalloc-static.dir/flags.make -CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o: src/alloc-aligned.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building C object CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o -c /home/aprokurov/Projects/mimalloc/src/alloc-aligned.c - -CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/alloc-aligned.c > CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.i - -CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/alloc-aligned.c -o CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.s - -CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o: CMakeFiles/mimalloc-static.dir/flags.make -CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o: src/alloc-posix.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building C object CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o -c /home/aprokurov/Projects/mimalloc/src/alloc-posix.c - -CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/alloc-posix.c > CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.i - -CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/alloc-posix.c -o CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.s - -CMakeFiles/mimalloc-static.dir/src/heap.c.o: CMakeFiles/mimalloc-static.dir/flags.make -CMakeFiles/mimalloc-static.dir/src/heap.c.o: src/heap.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building C object CMakeFiles/mimalloc-static.dir/src/heap.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-static.dir/src/heap.c.o -c /home/aprokurov/Projects/mimalloc/src/heap.c - -CMakeFiles/mimalloc-static.dir/src/heap.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-static.dir/src/heap.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/heap.c > CMakeFiles/mimalloc-static.dir/src/heap.c.i - -CMakeFiles/mimalloc-static.dir/src/heap.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-static.dir/src/heap.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/heap.c -o CMakeFiles/mimalloc-static.dir/src/heap.c.s - -CMakeFiles/mimalloc-static.dir/src/options.c.o: CMakeFiles/mimalloc-static.dir/flags.make -CMakeFiles/mimalloc-static.dir/src/options.c.o: src/options.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building C object CMakeFiles/mimalloc-static.dir/src/options.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-static.dir/src/options.c.o -c /home/aprokurov/Projects/mimalloc/src/options.c - -CMakeFiles/mimalloc-static.dir/src/options.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-static.dir/src/options.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/options.c > CMakeFiles/mimalloc-static.dir/src/options.c.i - -CMakeFiles/mimalloc-static.dir/src/options.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-static.dir/src/options.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/options.c -o CMakeFiles/mimalloc-static.dir/src/options.c.s - -CMakeFiles/mimalloc-static.dir/src/init.c.o: CMakeFiles/mimalloc-static.dir/flags.make -CMakeFiles/mimalloc-static.dir/src/init.c.o: src/init.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building C object CMakeFiles/mimalloc-static.dir/src/init.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-static.dir/src/init.c.o -c /home/aprokurov/Projects/mimalloc/src/init.c - -CMakeFiles/mimalloc-static.dir/src/init.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-static.dir/src/init.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/init.c > CMakeFiles/mimalloc-static.dir/src/init.c.i - -CMakeFiles/mimalloc-static.dir/src/init.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-static.dir/src/init.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/init.c -o CMakeFiles/mimalloc-static.dir/src/init.c.s - -# Object files for target mimalloc-static -mimalloc__static_OBJECTS = \ -"CMakeFiles/mimalloc-static.dir/src/stats.c.o" \ -"CMakeFiles/mimalloc-static.dir/src/random.c.o" \ -"CMakeFiles/mimalloc-static.dir/src/os.c.o" \ -"CMakeFiles/mimalloc-static.dir/src/bitmap.c.o" \ -"CMakeFiles/mimalloc-static.dir/src/arena.c.o" \ -"CMakeFiles/mimalloc-static.dir/src/region.c.o" \ -"CMakeFiles/mimalloc-static.dir/src/segment.c.o" \ -"CMakeFiles/mimalloc-static.dir/src/page.c.o" \ -"CMakeFiles/mimalloc-static.dir/src/alloc.c.o" \ -"CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o" \ -"CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o" \ -"CMakeFiles/mimalloc-static.dir/src/heap.c.o" \ -"CMakeFiles/mimalloc-static.dir/src/options.c.o" \ -"CMakeFiles/mimalloc-static.dir/src/init.c.o" - -# External object files for target mimalloc-static -mimalloc__static_EXTERNAL_OBJECTS = - -libmimalloc.a: CMakeFiles/mimalloc-static.dir/src/stats.c.o -libmimalloc.a: CMakeFiles/mimalloc-static.dir/src/random.c.o -libmimalloc.a: CMakeFiles/mimalloc-static.dir/src/os.c.o -libmimalloc.a: CMakeFiles/mimalloc-static.dir/src/bitmap.c.o -libmimalloc.a: CMakeFiles/mimalloc-static.dir/src/arena.c.o -libmimalloc.a: CMakeFiles/mimalloc-static.dir/src/region.c.o -libmimalloc.a: CMakeFiles/mimalloc-static.dir/src/segment.c.o -libmimalloc.a: CMakeFiles/mimalloc-static.dir/src/page.c.o -libmimalloc.a: CMakeFiles/mimalloc-static.dir/src/alloc.c.o -libmimalloc.a: CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o -libmimalloc.a: CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o -libmimalloc.a: CMakeFiles/mimalloc-static.dir/src/heap.c.o -libmimalloc.a: CMakeFiles/mimalloc-static.dir/src/options.c.o -libmimalloc.a: CMakeFiles/mimalloc-static.dir/src/init.c.o -libmimalloc.a: CMakeFiles/mimalloc-static.dir/build.make -libmimalloc.a: CMakeFiles/mimalloc-static.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Linking C static library libmimalloc.a" - $(CMAKE_COMMAND) -P CMakeFiles/mimalloc-static.dir/cmake_clean_target.cmake - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/mimalloc-static.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/mimalloc-static.dir/build: libmimalloc.a - -.PHONY : CMakeFiles/mimalloc-static.dir/build - -CMakeFiles/mimalloc-static.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/mimalloc-static.dir/cmake_clean.cmake -.PHONY : CMakeFiles/mimalloc-static.dir/clean - -CMakeFiles/mimalloc-static.dir/depend: - cd /home/aprokurov/Projects/mimalloc && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/mimalloc-static.dir/depend - diff --git a/CMakeFiles/mimalloc-static.dir/cmake_clean.cmake b/CMakeFiles/mimalloc-static.dir/cmake_clean.cmake deleted file mode 100644 index 3faa2a65..00000000 --- a/CMakeFiles/mimalloc-static.dir/cmake_clean.cmake +++ /dev/null @@ -1,23 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o" - "CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o" - "CMakeFiles/mimalloc-static.dir/src/alloc.c.o" - "CMakeFiles/mimalloc-static.dir/src/arena.c.o" - "CMakeFiles/mimalloc-static.dir/src/bitmap.c.o" - "CMakeFiles/mimalloc-static.dir/src/heap.c.o" - "CMakeFiles/mimalloc-static.dir/src/init.c.o" - "CMakeFiles/mimalloc-static.dir/src/options.c.o" - "CMakeFiles/mimalloc-static.dir/src/os.c.o" - "CMakeFiles/mimalloc-static.dir/src/page.c.o" - "CMakeFiles/mimalloc-static.dir/src/random.c.o" - "CMakeFiles/mimalloc-static.dir/src/region.c.o" - "CMakeFiles/mimalloc-static.dir/src/segment.c.o" - "CMakeFiles/mimalloc-static.dir/src/stats.c.o" - "libmimalloc.a" - "libmimalloc.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/mimalloc-static.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/CMakeFiles/mimalloc-static.dir/cmake_clean_target.cmake b/CMakeFiles/mimalloc-static.dir/cmake_clean_target.cmake deleted file mode 100644 index 12ef1a0d..00000000 --- a/CMakeFiles/mimalloc-static.dir/cmake_clean_target.cmake +++ /dev/null @@ -1,3 +0,0 @@ -file(REMOVE_RECURSE - "libmimalloc.a" -) diff --git a/CMakeFiles/mimalloc-static.dir/depend.internal b/CMakeFiles/mimalloc-static.dir/depend.internal deleted file mode 100644 index 7dc9383a..00000000 --- a/CMakeFiles/mimalloc-static.dir/depend.internal +++ /dev/null @@ -1,92 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o - /home/aprokurov/Projects/mimalloc/src/alloc-aligned.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o - /home/aprokurov/Projects/mimalloc/src/alloc-posix.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc-static.dir/src/alloc.c.o - /home/aprokurov/Projects/mimalloc/src/alloc-override.c - /home/aprokurov/Projects/mimalloc/src/alloc.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc-static.dir/src/arena.c.o - /home/aprokurov/Projects/mimalloc/src/arena.c - /home/aprokurov/Projects/mimalloc/src/bitmap.h - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc-static.dir/src/bitmap.c.o - /home/aprokurov/Projects/mimalloc/src/bitmap.c - /home/aprokurov/Projects/mimalloc/src/bitmap.h - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc-static.dir/src/heap.c.o - /home/aprokurov/Projects/mimalloc/src/heap.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc-static.dir/src/init.c.o - /home/aprokurov/Projects/mimalloc/src/init.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc-static.dir/src/options.c.o - /home/aprokurov/Projects/mimalloc/src/options.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc-static.dir/src/os.c.o - /home/aprokurov/Projects/mimalloc/src/os.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc-static.dir/src/page.c.o - /home/aprokurov/Projects/mimalloc/src/page-queue.c - /home/aprokurov/Projects/mimalloc/src/page.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc-static.dir/src/random.c.o - /home/aprokurov/Projects/mimalloc/src/random.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc-static.dir/src/region.c.o - /home/aprokurov/Projects/mimalloc/src/bitmap.h - /home/aprokurov/Projects/mimalloc/src/region.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc-static.dir/src/segment.c.o - /home/aprokurov/Projects/mimalloc/src/segment.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc-static.dir/src/stats.c.o - /home/aprokurov/Projects/mimalloc/src/stats.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h diff --git a/CMakeFiles/mimalloc-static.dir/depend.make b/CMakeFiles/mimalloc-static.dir/depend.make deleted file mode 100644 index fbe8657b..00000000 --- a/CMakeFiles/mimalloc-static.dir/depend.make +++ /dev/null @@ -1,92 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o: src/alloc-aligned.c -CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o: include/mimalloc.h - -CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o: src/alloc-posix.c -CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o: include/mimalloc.h - -CMakeFiles/mimalloc-static.dir/src/alloc.c.o: src/alloc-override.c -CMakeFiles/mimalloc-static.dir/src/alloc.c.o: src/alloc.c -CMakeFiles/mimalloc-static.dir/src/alloc.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc-static.dir/src/alloc.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc-static.dir/src/alloc.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc-static.dir/src/alloc.c.o: include/mimalloc.h - -CMakeFiles/mimalloc-static.dir/src/arena.c.o: src/arena.c -CMakeFiles/mimalloc-static.dir/src/arena.c.o: src/bitmap.h -CMakeFiles/mimalloc-static.dir/src/arena.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc-static.dir/src/arena.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc-static.dir/src/arena.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc-static.dir/src/arena.c.o: include/mimalloc.h - -CMakeFiles/mimalloc-static.dir/src/bitmap.c.o: src/bitmap.c -CMakeFiles/mimalloc-static.dir/src/bitmap.c.o: src/bitmap.h -CMakeFiles/mimalloc-static.dir/src/bitmap.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc-static.dir/src/bitmap.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc-static.dir/src/bitmap.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc-static.dir/src/bitmap.c.o: include/mimalloc.h - -CMakeFiles/mimalloc-static.dir/src/heap.c.o: src/heap.c -CMakeFiles/mimalloc-static.dir/src/heap.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc-static.dir/src/heap.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc-static.dir/src/heap.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc-static.dir/src/heap.c.o: include/mimalloc.h - -CMakeFiles/mimalloc-static.dir/src/init.c.o: src/init.c -CMakeFiles/mimalloc-static.dir/src/init.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc-static.dir/src/init.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc-static.dir/src/init.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc-static.dir/src/init.c.o: include/mimalloc.h - -CMakeFiles/mimalloc-static.dir/src/options.c.o: src/options.c -CMakeFiles/mimalloc-static.dir/src/options.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc-static.dir/src/options.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc-static.dir/src/options.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc-static.dir/src/options.c.o: include/mimalloc.h - -CMakeFiles/mimalloc-static.dir/src/os.c.o: src/os.c -CMakeFiles/mimalloc-static.dir/src/os.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc-static.dir/src/os.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc-static.dir/src/os.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc-static.dir/src/os.c.o: include/mimalloc.h - -CMakeFiles/mimalloc-static.dir/src/page.c.o: src/page-queue.c -CMakeFiles/mimalloc-static.dir/src/page.c.o: src/page.c -CMakeFiles/mimalloc-static.dir/src/page.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc-static.dir/src/page.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc-static.dir/src/page.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc-static.dir/src/page.c.o: include/mimalloc.h - -CMakeFiles/mimalloc-static.dir/src/random.c.o: src/random.c -CMakeFiles/mimalloc-static.dir/src/random.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc-static.dir/src/random.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc-static.dir/src/random.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc-static.dir/src/random.c.o: include/mimalloc.h - -CMakeFiles/mimalloc-static.dir/src/region.c.o: src/bitmap.h -CMakeFiles/mimalloc-static.dir/src/region.c.o: src/region.c -CMakeFiles/mimalloc-static.dir/src/region.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc-static.dir/src/region.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc-static.dir/src/region.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc-static.dir/src/region.c.o: include/mimalloc.h - -CMakeFiles/mimalloc-static.dir/src/segment.c.o: src/segment.c -CMakeFiles/mimalloc-static.dir/src/segment.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc-static.dir/src/segment.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc-static.dir/src/segment.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc-static.dir/src/segment.c.o: include/mimalloc.h - -CMakeFiles/mimalloc-static.dir/src/stats.c.o: src/stats.c -CMakeFiles/mimalloc-static.dir/src/stats.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc-static.dir/src/stats.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc-static.dir/src/stats.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc-static.dir/src/stats.c.o: include/mimalloc.h - diff --git a/CMakeFiles/mimalloc-static.dir/flags.make b/CMakeFiles/mimalloc-static.dir/flags.make deleted file mode 100644 index 273b158a..00000000 --- a/CMakeFiles/mimalloc-static.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# compile C with /usr/bin/cc -C_DEFINES = -DMI_MALLOC_OVERRIDE -DMI_STATIC_LIB - -C_INCLUDES = -I/home/aprokurov/Projects/mimalloc/include - -C_FLAGS = -O3 -DNDEBUG -fPIC -Wall -Wextra -Wno-unknown-pragmas -fvisibility=hidden -Wno-invalid-memory-model -ftls-model=initial-exec -std=gnu11 - diff --git a/CMakeFiles/mimalloc-static.dir/link.txt b/CMakeFiles/mimalloc-static.dir/link.txt deleted file mode 100644 index e45d2ea3..00000000 --- a/CMakeFiles/mimalloc-static.dir/link.txt +++ /dev/null @@ -1,2 +0,0 @@ -/usr/bin/ar qc libmimalloc.a CMakeFiles/mimalloc-static.dir/src/stats.c.o CMakeFiles/mimalloc-static.dir/src/random.c.o CMakeFiles/mimalloc-static.dir/src/os.c.o CMakeFiles/mimalloc-static.dir/src/bitmap.c.o CMakeFiles/mimalloc-static.dir/src/arena.c.o CMakeFiles/mimalloc-static.dir/src/region.c.o CMakeFiles/mimalloc-static.dir/src/segment.c.o CMakeFiles/mimalloc-static.dir/src/page.c.o CMakeFiles/mimalloc-static.dir/src/alloc.c.o CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o CMakeFiles/mimalloc-static.dir/src/heap.c.o CMakeFiles/mimalloc-static.dir/src/options.c.o CMakeFiles/mimalloc-static.dir/src/init.c.o -/usr/bin/ranlib libmimalloc.a diff --git a/CMakeFiles/mimalloc-static.dir/progress.make b/CMakeFiles/mimalloc-static.dir/progress.make deleted file mode 100644 index 5553691b..00000000 --- a/CMakeFiles/mimalloc-static.dir/progress.make +++ /dev/null @@ -1,16 +0,0 @@ -CMAKE_PROGRESS_1 = 17 -CMAKE_PROGRESS_2 = 18 -CMAKE_PROGRESS_3 = 19 -CMAKE_PROGRESS_4 = 20 -CMAKE_PROGRESS_5 = 21 -CMAKE_PROGRESS_6 = 22 -CMAKE_PROGRESS_7 = 23 -CMAKE_PROGRESS_8 = 24 -CMAKE_PROGRESS_9 = 25 -CMAKE_PROGRESS_10 = 26 -CMAKE_PROGRESS_11 = 27 -CMAKE_PROGRESS_12 = 28 -CMAKE_PROGRESS_13 = 29 -CMAKE_PROGRESS_14 = 30 -CMAKE_PROGRESS_15 = 31 - diff --git a/CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o b/CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o deleted file mode 100644 index 1a3df180febb5fbec04feb10154f423e84221b29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9256 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 diff --git a/CMakeFiles/mimalloc-static.dir/src/alloc.c.o b/CMakeFiles/mimalloc-static.dir/src/alloc.c.o deleted file mode 100644 index cf6af9e8abcfbd938e68a59c77ab6d7a1c1b601a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22496 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 diff --git a/CMakeFiles/mimalloc-static.dir/src/arena.c.o b/CMakeFiles/mimalloc-static.dir/src/arena.c.o deleted file mode 100644 index 2959ec806ca4cff03fc0ea311955d9eafc8203d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9192 zcmbtZe{fXCec!ti(jk%e4%>BZY;0cBqY=T#Iuaa#iMfYPXwRGiHBw?5ljEd&LRX|a zdiMk}(2+8yleIYx3P;dRl<41YPF{ z>Us2n=1xBtWtaBsH6JnenqMEM~M6bXtgl=E5TZZ=}#)OW6yQ zou|1|E;@e6PsiW%wiE*{WH;#Y>y-H;g~L9sl@?k9K6ALz)JL1|9Co9K-~6C?6`7qS z`V+()=)Z&5pPFbQuF2T!?5w^zL^uc-%N4nZ5 zdzThl16!l)EwIE-3)Cy+wt}1&5k)Lo8a{_Gs`VB&0iXYpJQT;lo?I-%sc5D=u zp(M?Z>4W#ox1+`9KnUVI6B+-lpXM4|QMM(Z=Z}C$aE7vOnEm3HaAcJISA_k7vg=d6 z&XN3B-|al~xsO72d!(@CKWTo}eyGsw4{w_8y=)F_36S2(f&M#5??tfM8)1_z>{66X z&f0;4l)Zr;cnq8x<4Woi2xIQF0mj+?0F_!L5jyqNVO0L>2z#3rz#L%}Wxouw>k&3H zwOe0JKrxuKb<;)rUYt6i`fgO+!Y)VH6`?xHW)`Zx{_&jZ-h3oC;fmyLgzV)z3R^w^ zk9xmL*%a3*^6@zzM1oJ2$;N_XO@m{4eg_1Q&kAM`Wv@b-wL!S&CkH#bXaS}yS_nCL z!KdLS7^silY!2TNC~+EvyM&sFNgEPG$qmd;bPOEvnSa#6#v`~AUZm{WvtXQy4+B2` zDP;`!q7VKJbUSJFzS-Kgo91WiPRc%^`IqdpKKeW@ehLJD`U2nTYDDryz()2SEp9|6 z%0A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 diff --git a/CMakeFiles/mimalloc-static.dir/src/heap.c.o b/CMakeFiles/mimalloc-static.dir/src/heap.c.o deleted file mode 100644 index bd1d5a8a4e701ef14597e94b310cc965e103bcee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9248 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 diff --git a/CMakeFiles/mimalloc-static.dir/src/init.c.o b/CMakeFiles/mimalloc-static.dir/src/init.c.o deleted file mode 100644 index dbf415a9b4e2aca2878db5b352a683531fea3372..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24216 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 diff --git a/CMakeFiles/mimalloc-static.dir/src/options.c.o b/CMakeFiles/mimalloc-static.dir/src/options.c.o deleted file mode 100644 index e77941652255c82886f025fa8ad4cb6d289c69cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12984 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 ahWojun6Cfa8sq;O4{cBm$>;P#AOC;5yWe5} diff --git a/CMakeFiles/mimalloc-static.dir/src/os.c.o b/CMakeFiles/mimalloc-static.dir/src/os.c.o deleted file mode 100644 index 98cf2284947244b75af5cafbf529c14da6b3960b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19976 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 diff --git a/CMakeFiles/mimalloc-static.dir/src/page.c.o b/CMakeFiles/mimalloc-static.dir/src/page.c.o deleted file mode 100644 index f890b82391f1b2fa233f6502311e33c11af28141..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16080 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 AjsO4v diff --git a/CMakeFiles/mimalloc-static.dir/src/random.c.o b/CMakeFiles/mimalloc-static.dir/src/random.c.o deleted file mode 100644 index 3c1fa65846b86049c22d5ed02a9f2111f957cfe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8976 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 Ju~bbT|6dG0XLA4m diff --git a/CMakeFiles/mimalloc-static.dir/src/region.c.o b/CMakeFiles/mimalloc-static.dir/src/region.c.o deleted file mode 100644 index cadc665ccfa1f43f711500ed1f8cb56744722599..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7992 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 diff --git a/CMakeFiles/mimalloc-static.dir/src/segment.c.o b/CMakeFiles/mimalloc-static.dir/src/segment.c.o deleted file mode 100644 index b5f773aeca96bd70eb7bff18b6b2c74381df100e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15728 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 diff --git a/CMakeFiles/mimalloc-test-api.dir/C.includecache b/CMakeFiles/mimalloc-test-api.dir/C.includecache deleted file mode 100644 index fbe70683..00000000 --- a/CMakeFiles/mimalloc-test-api.dir/C.includecache +++ /dev/null @@ -1,36 +0,0 @@ -#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) - -#IncludeRegexScan: ^.*$ - -#IncludeRegexComplain: ^$ - -#IncludeRegexTransform: - -/home/aprokurov/Projects/mimalloc/test/test-api.c -stdio.h -- -assert.h -- -stdbool.h -- -stdint.h -- -errno.h -- -vector -- -mimalloc.h -/home/aprokurov/Projects/mimalloc/test/mimalloc.h - -include/mimalloc.h -stddef.h -- -stdbool.h -- -cstdint -- -type_traits -- -utility -- - diff --git a/CMakeFiles/mimalloc-test-api.dir/DependInfo.cmake b/CMakeFiles/mimalloc-test-api.dir/DependInfo.cmake deleted file mode 100644 index 32795242..00000000 --- a/CMakeFiles/mimalloc-test-api.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - "C" - ) -# The set of files for implicit dependencies of each language: -set(CMAKE_DEPENDS_CHECK_C - "/home/aprokurov/Projects/mimalloc/test/test-api.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o" - ) -set(CMAKE_C_COMPILER_ID "GNU") - -# The include file search paths: -set(CMAKE_C_TARGET_INCLUDE_PATH - "include" - ) - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-static.dir/DependInfo.cmake" - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/CMakeFiles/mimalloc-test-api.dir/build.make b/CMakeFiles/mimalloc-test-api.dir/build.make deleted file mode 100644 index 8516914c..00000000 --- a/CMakeFiles/mimalloc-test-api.dir/build.make +++ /dev/null @@ -1,119 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Disable VCS-based implicit rules. -% : %,v - - -# Disable VCS-based implicit rules. -% : RCS/% - - -# Disable VCS-based implicit rules. -% : RCS/%,v - - -# Disable VCS-based implicit rules. -% : SCCS/s.% - - -# Disable VCS-based implicit rules. -% : s.% - - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/aprokurov/Projects/mimalloc - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/aprokurov/Projects/mimalloc - -# Include any dependencies generated for this target. -include CMakeFiles/mimalloc-test-api.dir/depend.make - -# Include the progress variables for this target. -include CMakeFiles/mimalloc-test-api.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/mimalloc-test-api.dir/flags.make - -CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o: CMakeFiles/mimalloc-test-api.dir/flags.make -CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o: test/test-api.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o -c /home/aprokurov/Projects/mimalloc/test/test-api.c - -CMakeFiles/mimalloc-test-api.dir/test/test-api.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-test-api.dir/test/test-api.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/test/test-api.c > CMakeFiles/mimalloc-test-api.dir/test/test-api.c.i - -CMakeFiles/mimalloc-test-api.dir/test/test-api.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-test-api.dir/test/test-api.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/test/test-api.c -o CMakeFiles/mimalloc-test-api.dir/test/test-api.c.s - -# Object files for target mimalloc-test-api -mimalloc__test__api_OBJECTS = \ -"CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o" - -# External object files for target mimalloc-test-api -mimalloc__test__api_EXTERNAL_OBJECTS = - -mimalloc-test-api: CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o -mimalloc-test-api: CMakeFiles/mimalloc-test-api.dir/build.make -mimalloc-test-api: libmimalloc.a -mimalloc-test-api: /usr/lib/librt.so -mimalloc-test-api: CMakeFiles/mimalloc-test-api.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable mimalloc-test-api" - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/mimalloc-test-api.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/mimalloc-test-api.dir/build: mimalloc-test-api - -.PHONY : CMakeFiles/mimalloc-test-api.dir/build - -CMakeFiles/mimalloc-test-api.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/mimalloc-test-api.dir/cmake_clean.cmake -.PHONY : CMakeFiles/mimalloc-test-api.dir/clean - -CMakeFiles/mimalloc-test-api.dir/depend: - cd /home/aprokurov/Projects/mimalloc && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-test-api.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/mimalloc-test-api.dir/depend - diff --git a/CMakeFiles/mimalloc-test-api.dir/cmake_clean.cmake b/CMakeFiles/mimalloc-test-api.dir/cmake_clean.cmake deleted file mode 100644 index 279fd2be..00000000 --- a/CMakeFiles/mimalloc-test-api.dir/cmake_clean.cmake +++ /dev/null @@ -1,10 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o" - "mimalloc-test-api" - "mimalloc-test-api.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/mimalloc-test-api.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/CMakeFiles/mimalloc-test-api.dir/depend.internal b/CMakeFiles/mimalloc-test-api.dir/depend.internal deleted file mode 100644 index 1540bbc6..00000000 --- a/CMakeFiles/mimalloc-test-api.dir/depend.internal +++ /dev/null @@ -1,6 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o - /home/aprokurov/Projects/mimalloc/test/test-api.c - include/mimalloc.h diff --git a/CMakeFiles/mimalloc-test-api.dir/depend.make b/CMakeFiles/mimalloc-test-api.dir/depend.make deleted file mode 100644 index 18f1dfd9..00000000 --- a/CMakeFiles/mimalloc-test-api.dir/depend.make +++ /dev/null @@ -1,6 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o: test/test-api.c -CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o: include/mimalloc.h - diff --git a/CMakeFiles/mimalloc-test-api.dir/flags.make b/CMakeFiles/mimalloc-test-api.dir/flags.make deleted file mode 100644 index 2692a039..00000000 --- a/CMakeFiles/mimalloc-test-api.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# compile C with /usr/bin/cc -C_DEFINES = - -C_INCLUDES = -I/home/aprokurov/Projects/mimalloc/include - -C_FLAGS = -O3 -DNDEBUG -Wall -Wextra -Wno-unknown-pragmas -fvisibility=hidden -Wno-invalid-memory-model -ftls-model=initial-exec -std=gnu11 - diff --git a/CMakeFiles/mimalloc-test-api.dir/link.txt b/CMakeFiles/mimalloc-test-api.dir/link.txt deleted file mode 100644 index 771cdf40..00000000 --- a/CMakeFiles/mimalloc-test-api.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/cc -O3 -DNDEBUG -rdynamic CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o -o mimalloc-test-api libmimalloc.a -lpthread -lrt diff --git a/CMakeFiles/mimalloc-test-api.dir/progress.make b/CMakeFiles/mimalloc-test-api.dir/progress.make deleted file mode 100644 index e1615c18..00000000 --- a/CMakeFiles/mimalloc-test-api.dir/progress.make +++ /dev/null @@ -1,3 +0,0 @@ -CMAKE_PROGRESS_1 = 32 -CMAKE_PROGRESS_2 = 33 - diff --git a/CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o b/CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o deleted file mode 100644 index 8d2868c0f01da48f376962e075506bb3bd5b072a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18648 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 B3q1e; diff --git a/CMakeFiles/mimalloc-test-stress.dir/C.includecache b/CMakeFiles/mimalloc-test-stress.dir/C.includecache deleted file mode 100644 index d79fd494..00000000 --- a/CMakeFiles/mimalloc-test-stress.dir/C.includecache +++ /dev/null @@ -1,42 +0,0 @@ -#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) - -#IncludeRegexScan: ^.*$ - -#IncludeRegexComplain: ^$ - -#IncludeRegexTransform: - -/home/aprokurov/Projects/mimalloc/test/test-stress.c -stdio.h -- -stdlib.h -- -stdint.h -- -stdbool.h -- -string.h -- -mimalloc.h -- -Windows.h -- -pthread.h -- -atomic -- -stdatomic.h -- - -include/mimalloc.h -stddef.h -- -stdbool.h -- -cstdint -- -type_traits -- -utility -- - diff --git a/CMakeFiles/mimalloc-test-stress.dir/DependInfo.cmake b/CMakeFiles/mimalloc-test-stress.dir/DependInfo.cmake deleted file mode 100644 index 4af172cf..00000000 --- a/CMakeFiles/mimalloc-test-stress.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - "C" - ) -# The set of files for implicit dependencies of each language: -set(CMAKE_DEPENDS_CHECK_C - "/home/aprokurov/Projects/mimalloc/test/test-stress.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o" - ) -set(CMAKE_C_COMPILER_ID "GNU") - -# The include file search paths: -set(CMAKE_C_TARGET_INCLUDE_PATH - "include" - ) - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/DependInfo.cmake" - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/CMakeFiles/mimalloc-test-stress.dir/build.make b/CMakeFiles/mimalloc-test-stress.dir/build.make deleted file mode 100644 index 65606366..00000000 --- a/CMakeFiles/mimalloc-test-stress.dir/build.make +++ /dev/null @@ -1,119 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Disable VCS-based implicit rules. -% : %,v - - -# Disable VCS-based implicit rules. -% : RCS/% - - -# Disable VCS-based implicit rules. -% : RCS/%,v - - -# Disable VCS-based implicit rules. -% : SCCS/s.% - - -# Disable VCS-based implicit rules. -% : s.% - - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/aprokurov/Projects/mimalloc - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/aprokurov/Projects/mimalloc - -# Include any dependencies generated for this target. -include CMakeFiles/mimalloc-test-stress.dir/depend.make - -# Include the progress variables for this target. -include CMakeFiles/mimalloc-test-stress.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/mimalloc-test-stress.dir/flags.make - -CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o: CMakeFiles/mimalloc-test-stress.dir/flags.make -CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o: test/test-stress.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o -c /home/aprokurov/Projects/mimalloc/test/test-stress.c - -CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/test/test-stress.c > CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.i - -CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/test/test-stress.c -o CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.s - -# Object files for target mimalloc-test-stress -mimalloc__test__stress_OBJECTS = \ -"CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o" - -# External object files for target mimalloc-test-stress -mimalloc__test__stress_EXTERNAL_OBJECTS = - -mimalloc-test-stress: CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o -mimalloc-test-stress: CMakeFiles/mimalloc-test-stress.dir/build.make -mimalloc-test-stress: libmimalloc.so.1.7 -mimalloc-test-stress: /usr/lib/librt.so -mimalloc-test-stress: CMakeFiles/mimalloc-test-stress.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable mimalloc-test-stress" - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/mimalloc-test-stress.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/mimalloc-test-stress.dir/build: mimalloc-test-stress - -.PHONY : CMakeFiles/mimalloc-test-stress.dir/build - -CMakeFiles/mimalloc-test-stress.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/mimalloc-test-stress.dir/cmake_clean.cmake -.PHONY : CMakeFiles/mimalloc-test-stress.dir/clean - -CMakeFiles/mimalloc-test-stress.dir/depend: - cd /home/aprokurov/Projects/mimalloc && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-test-stress.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/mimalloc-test-stress.dir/depend - diff --git a/CMakeFiles/mimalloc-test-stress.dir/cmake_clean.cmake b/CMakeFiles/mimalloc-test-stress.dir/cmake_clean.cmake deleted file mode 100644 index d7ace702..00000000 --- a/CMakeFiles/mimalloc-test-stress.dir/cmake_clean.cmake +++ /dev/null @@ -1,10 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o" - "mimalloc-test-stress" - "mimalloc-test-stress.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/mimalloc-test-stress.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/CMakeFiles/mimalloc-test-stress.dir/depend.internal b/CMakeFiles/mimalloc-test-stress.dir/depend.internal deleted file mode 100644 index 9a0efd1f..00000000 --- a/CMakeFiles/mimalloc-test-stress.dir/depend.internal +++ /dev/null @@ -1,6 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o - /home/aprokurov/Projects/mimalloc/test/test-stress.c - include/mimalloc.h diff --git a/CMakeFiles/mimalloc-test-stress.dir/depend.make b/CMakeFiles/mimalloc-test-stress.dir/depend.make deleted file mode 100644 index 9365a2e5..00000000 --- a/CMakeFiles/mimalloc-test-stress.dir/depend.make +++ /dev/null @@ -1,6 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o: test/test-stress.c -CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o: include/mimalloc.h - diff --git a/CMakeFiles/mimalloc-test-stress.dir/flags.make b/CMakeFiles/mimalloc-test-stress.dir/flags.make deleted file mode 100644 index 2692a039..00000000 --- a/CMakeFiles/mimalloc-test-stress.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# compile C with /usr/bin/cc -C_DEFINES = - -C_INCLUDES = -I/home/aprokurov/Projects/mimalloc/include - -C_FLAGS = -O3 -DNDEBUG -Wall -Wextra -Wno-unknown-pragmas -fvisibility=hidden -Wno-invalid-memory-model -ftls-model=initial-exec -std=gnu11 - diff --git a/CMakeFiles/mimalloc-test-stress.dir/link.txt b/CMakeFiles/mimalloc-test-stress.dir/link.txt deleted file mode 100644 index 15383740..00000000 --- a/CMakeFiles/mimalloc-test-stress.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/cc -O3 -DNDEBUG -rdynamic CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o -o mimalloc-test-stress -Wl,-rpath,/home/aprokurov/Projects/mimalloc libmimalloc.so.1.7 -lpthread -lrt diff --git a/CMakeFiles/mimalloc-test-stress.dir/progress.make b/CMakeFiles/mimalloc-test-stress.dir/progress.make deleted file mode 100644 index 30c30911..00000000 --- a/CMakeFiles/mimalloc-test-stress.dir/progress.make +++ /dev/null @@ -1,3 +0,0 @@ -CMAKE_PROGRESS_1 = 34 -CMAKE_PROGRESS_2 = 35 - diff --git a/CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o b/CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o deleted file mode 100644 index 1bf558570ba0fa2f63a9e2ddcd5934e0a12401d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7680 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 L|A5LQa?1Y?sMu~+ diff --git a/CMakeFiles/mimalloc.dir/C.includecache b/CMakeFiles/mimalloc.dir/C.includecache deleted file mode 100644 index 1499bf1d..00000000 --- a/CMakeFiles/mimalloc.dir/C.includecache +++ /dev/null @@ -1,94 +0,0 @@ -#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) - -#IncludeRegexScan: ^.*$ - -#IncludeRegexComplain: ^$ - -#IncludeRegexTransform: - -/home/aprokurov/Projects/mimalloc/src/init.c -mimalloc.h -/home/aprokurov/Projects/mimalloc/src/mimalloc.h -mimalloc-internal.h -/home/aprokurov/Projects/mimalloc/src/mimalloc-internal.h -string.h -- -stdlib.h -- -Windows.h -- -fibersapi.h -- -pthread.h -- -intrin.h -- - -include/mimalloc-atomic.h -atomic -- -stdatomic.h -- -Windows.h -- -intrin.h -- -thread -- -windows.h -- -emmintrin.h -- -synch.h -- -sched.h -- -unistd.h -- - -include/mimalloc-internal.h -mimalloc-types.h -include/mimalloc-types.h -errno.h -- -limits.h -- -pthread.h -- -pthread.h -- -windows.h -- -limits.h -- -limits.h -- -intrin.h -- -string.h -- -string.h -- -string.h -- - -include/mimalloc-types.h -stddef.h -- -stdint.h -- -mimalloc-atomic.h -- - -include/mimalloc.h -stddef.h -- -stdbool.h -- -cstdint -- -type_traits -- -utility -- - diff --git a/CMakeFiles/mimalloc.dir/DependInfo.cmake b/CMakeFiles/mimalloc.dir/DependInfo.cmake deleted file mode 100644 index 5e7c8b07..00000000 --- a/CMakeFiles/mimalloc.dir/DependInfo.cmake +++ /dev/null @@ -1,48 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - "C" - ) -# The set of files for implicit dependencies of each language: -set(CMAKE_DEPENDS_CHECK_C - "/home/aprokurov/Projects/mimalloc/src/alloc-aligned.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o" - "/home/aprokurov/Projects/mimalloc/src/alloc-posix.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/src/alloc-posix.c.o" - "/home/aprokurov/Projects/mimalloc/src/alloc.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/src/alloc.c.o" - "/home/aprokurov/Projects/mimalloc/src/arena.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/src/arena.c.o" - "/home/aprokurov/Projects/mimalloc/src/bitmap.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/src/bitmap.c.o" - "/home/aprokurov/Projects/mimalloc/src/heap.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/src/heap.c.o" - "/home/aprokurov/Projects/mimalloc/src/init.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/src/init.c.o" - "/home/aprokurov/Projects/mimalloc/src/options.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/src/options.c.o" - "/home/aprokurov/Projects/mimalloc/src/os.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/src/os.c.o" - "/home/aprokurov/Projects/mimalloc/src/page.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/src/page.c.o" - "/home/aprokurov/Projects/mimalloc/src/random.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/src/random.c.o" - "/home/aprokurov/Projects/mimalloc/src/region.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/src/region.c.o" - "/home/aprokurov/Projects/mimalloc/src/segment.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/src/segment.c.o" - "/home/aprokurov/Projects/mimalloc/src/stats.c" "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/src/stats.c.o" - ) -set(CMAKE_C_COMPILER_ID "GNU") - -# Preprocessor definitions for this target. -set(CMAKE_TARGET_DEFINITIONS_C - "MI_MALLOC_OVERRIDE" - "MI_SHARED_LIB" - "MI_SHARED_LIB_EXPORT" - "mimalloc_EXPORTS" - ) - -# The include file search paths: -set(CMAKE_C_TARGET_INCLUDE_PATH - "include" - ) - -# Pairs of files generated by the same build rule. -set(CMAKE_MULTIPLE_OUTPUT_PAIRS - "/home/aprokurov/Projects/mimalloc/libmimalloc.so" "/home/aprokurov/Projects/mimalloc/libmimalloc.so.1.7" - ) - - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/CMakeFiles/mimalloc.dir/build.make b/CMakeFiles/mimalloc.dir/build.make deleted file mode 100644 index af2037a9..00000000 --- a/CMakeFiles/mimalloc.dir/build.make +++ /dev/null @@ -1,317 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Disable VCS-based implicit rules. -% : %,v - - -# Disable VCS-based implicit rules. -% : RCS/% - - -# Disable VCS-based implicit rules. -% : RCS/%,v - - -# Disable VCS-based implicit rules. -% : SCCS/s.% - - -# Disable VCS-based implicit rules. -% : s.% - - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/aprokurov/Projects/mimalloc - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/aprokurov/Projects/mimalloc - -# Include any dependencies generated for this target. -include CMakeFiles/mimalloc.dir/depend.make - -# Include the progress variables for this target. -include CMakeFiles/mimalloc.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/mimalloc.dir/flags.make - -CMakeFiles/mimalloc.dir/src/stats.c.o: CMakeFiles/mimalloc.dir/flags.make -CMakeFiles/mimalloc.dir/src/stats.c.o: src/stats.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/mimalloc.dir/src/stats.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc.dir/src/stats.c.o -c /home/aprokurov/Projects/mimalloc/src/stats.c - -CMakeFiles/mimalloc.dir/src/stats.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc.dir/src/stats.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/stats.c > CMakeFiles/mimalloc.dir/src/stats.c.i - -CMakeFiles/mimalloc.dir/src/stats.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc.dir/src/stats.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/stats.c -o CMakeFiles/mimalloc.dir/src/stats.c.s - -CMakeFiles/mimalloc.dir/src/random.c.o: CMakeFiles/mimalloc.dir/flags.make -CMakeFiles/mimalloc.dir/src/random.c.o: src/random.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/mimalloc.dir/src/random.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc.dir/src/random.c.o -c /home/aprokurov/Projects/mimalloc/src/random.c - -CMakeFiles/mimalloc.dir/src/random.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc.dir/src/random.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/random.c > CMakeFiles/mimalloc.dir/src/random.c.i - -CMakeFiles/mimalloc.dir/src/random.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc.dir/src/random.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/random.c -o CMakeFiles/mimalloc.dir/src/random.c.s - -CMakeFiles/mimalloc.dir/src/os.c.o: CMakeFiles/mimalloc.dir/flags.make -CMakeFiles/mimalloc.dir/src/os.c.o: src/os.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object CMakeFiles/mimalloc.dir/src/os.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc.dir/src/os.c.o -c /home/aprokurov/Projects/mimalloc/src/os.c - -CMakeFiles/mimalloc.dir/src/os.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc.dir/src/os.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/os.c > CMakeFiles/mimalloc.dir/src/os.c.i - -CMakeFiles/mimalloc.dir/src/os.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc.dir/src/os.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/os.c -o CMakeFiles/mimalloc.dir/src/os.c.s - -CMakeFiles/mimalloc.dir/src/bitmap.c.o: CMakeFiles/mimalloc.dir/flags.make -CMakeFiles/mimalloc.dir/src/bitmap.c.o: src/bitmap.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object CMakeFiles/mimalloc.dir/src/bitmap.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc.dir/src/bitmap.c.o -c /home/aprokurov/Projects/mimalloc/src/bitmap.c - -CMakeFiles/mimalloc.dir/src/bitmap.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc.dir/src/bitmap.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/bitmap.c > CMakeFiles/mimalloc.dir/src/bitmap.c.i - -CMakeFiles/mimalloc.dir/src/bitmap.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc.dir/src/bitmap.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/bitmap.c -o CMakeFiles/mimalloc.dir/src/bitmap.c.s - -CMakeFiles/mimalloc.dir/src/arena.c.o: CMakeFiles/mimalloc.dir/flags.make -CMakeFiles/mimalloc.dir/src/arena.c.o: src/arena.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building C object CMakeFiles/mimalloc.dir/src/arena.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc.dir/src/arena.c.o -c /home/aprokurov/Projects/mimalloc/src/arena.c - -CMakeFiles/mimalloc.dir/src/arena.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc.dir/src/arena.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/arena.c > CMakeFiles/mimalloc.dir/src/arena.c.i - -CMakeFiles/mimalloc.dir/src/arena.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc.dir/src/arena.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/arena.c -o CMakeFiles/mimalloc.dir/src/arena.c.s - -CMakeFiles/mimalloc.dir/src/region.c.o: CMakeFiles/mimalloc.dir/flags.make -CMakeFiles/mimalloc.dir/src/region.c.o: src/region.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building C object CMakeFiles/mimalloc.dir/src/region.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc.dir/src/region.c.o -c /home/aprokurov/Projects/mimalloc/src/region.c - -CMakeFiles/mimalloc.dir/src/region.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc.dir/src/region.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/region.c > CMakeFiles/mimalloc.dir/src/region.c.i - -CMakeFiles/mimalloc.dir/src/region.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc.dir/src/region.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/region.c -o CMakeFiles/mimalloc.dir/src/region.c.s - -CMakeFiles/mimalloc.dir/src/segment.c.o: CMakeFiles/mimalloc.dir/flags.make -CMakeFiles/mimalloc.dir/src/segment.c.o: src/segment.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building C object CMakeFiles/mimalloc.dir/src/segment.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc.dir/src/segment.c.o -c /home/aprokurov/Projects/mimalloc/src/segment.c - -CMakeFiles/mimalloc.dir/src/segment.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc.dir/src/segment.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/segment.c > CMakeFiles/mimalloc.dir/src/segment.c.i - -CMakeFiles/mimalloc.dir/src/segment.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc.dir/src/segment.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/segment.c -o CMakeFiles/mimalloc.dir/src/segment.c.s - -CMakeFiles/mimalloc.dir/src/page.c.o: CMakeFiles/mimalloc.dir/flags.make -CMakeFiles/mimalloc.dir/src/page.c.o: src/page.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building C object CMakeFiles/mimalloc.dir/src/page.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc.dir/src/page.c.o -c /home/aprokurov/Projects/mimalloc/src/page.c - -CMakeFiles/mimalloc.dir/src/page.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc.dir/src/page.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/page.c > CMakeFiles/mimalloc.dir/src/page.c.i - -CMakeFiles/mimalloc.dir/src/page.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc.dir/src/page.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/page.c -o CMakeFiles/mimalloc.dir/src/page.c.s - -CMakeFiles/mimalloc.dir/src/alloc.c.o: CMakeFiles/mimalloc.dir/flags.make -CMakeFiles/mimalloc.dir/src/alloc.c.o: src/alloc.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building C object CMakeFiles/mimalloc.dir/src/alloc.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc.dir/src/alloc.c.o -c /home/aprokurov/Projects/mimalloc/src/alloc.c - -CMakeFiles/mimalloc.dir/src/alloc.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc.dir/src/alloc.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/alloc.c > CMakeFiles/mimalloc.dir/src/alloc.c.i - -CMakeFiles/mimalloc.dir/src/alloc.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc.dir/src/alloc.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/alloc.c -o CMakeFiles/mimalloc.dir/src/alloc.c.s - -CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o: CMakeFiles/mimalloc.dir/flags.make -CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o: src/alloc-aligned.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building C object CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o -c /home/aprokurov/Projects/mimalloc/src/alloc-aligned.c - -CMakeFiles/mimalloc.dir/src/alloc-aligned.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc.dir/src/alloc-aligned.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/alloc-aligned.c > CMakeFiles/mimalloc.dir/src/alloc-aligned.c.i - -CMakeFiles/mimalloc.dir/src/alloc-aligned.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc.dir/src/alloc-aligned.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/alloc-aligned.c -o CMakeFiles/mimalloc.dir/src/alloc-aligned.c.s - -CMakeFiles/mimalloc.dir/src/alloc-posix.c.o: CMakeFiles/mimalloc.dir/flags.make -CMakeFiles/mimalloc.dir/src/alloc-posix.c.o: src/alloc-posix.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building C object CMakeFiles/mimalloc.dir/src/alloc-posix.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc.dir/src/alloc-posix.c.o -c /home/aprokurov/Projects/mimalloc/src/alloc-posix.c - -CMakeFiles/mimalloc.dir/src/alloc-posix.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc.dir/src/alloc-posix.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/alloc-posix.c > CMakeFiles/mimalloc.dir/src/alloc-posix.c.i - -CMakeFiles/mimalloc.dir/src/alloc-posix.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc.dir/src/alloc-posix.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/alloc-posix.c -o CMakeFiles/mimalloc.dir/src/alloc-posix.c.s - -CMakeFiles/mimalloc.dir/src/heap.c.o: CMakeFiles/mimalloc.dir/flags.make -CMakeFiles/mimalloc.dir/src/heap.c.o: src/heap.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building C object CMakeFiles/mimalloc.dir/src/heap.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc.dir/src/heap.c.o -c /home/aprokurov/Projects/mimalloc/src/heap.c - -CMakeFiles/mimalloc.dir/src/heap.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc.dir/src/heap.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/heap.c > CMakeFiles/mimalloc.dir/src/heap.c.i - -CMakeFiles/mimalloc.dir/src/heap.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc.dir/src/heap.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/heap.c -o CMakeFiles/mimalloc.dir/src/heap.c.s - -CMakeFiles/mimalloc.dir/src/options.c.o: CMakeFiles/mimalloc.dir/flags.make -CMakeFiles/mimalloc.dir/src/options.c.o: src/options.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building C object CMakeFiles/mimalloc.dir/src/options.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc.dir/src/options.c.o -c /home/aprokurov/Projects/mimalloc/src/options.c - -CMakeFiles/mimalloc.dir/src/options.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc.dir/src/options.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/options.c > CMakeFiles/mimalloc.dir/src/options.c.i - -CMakeFiles/mimalloc.dir/src/options.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc.dir/src/options.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/options.c -o CMakeFiles/mimalloc.dir/src/options.c.s - -CMakeFiles/mimalloc.dir/src/init.c.o: CMakeFiles/mimalloc.dir/flags.make -CMakeFiles/mimalloc.dir/src/init.c.o: src/init.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building C object CMakeFiles/mimalloc.dir/src/init.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mimalloc.dir/src/init.c.o -c /home/aprokurov/Projects/mimalloc/src/init.c - -CMakeFiles/mimalloc.dir/src/init.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mimalloc.dir/src/init.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/aprokurov/Projects/mimalloc/src/init.c > CMakeFiles/mimalloc.dir/src/init.c.i - -CMakeFiles/mimalloc.dir/src/init.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mimalloc.dir/src/init.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/aprokurov/Projects/mimalloc/src/init.c -o CMakeFiles/mimalloc.dir/src/init.c.s - -# Object files for target mimalloc -mimalloc_OBJECTS = \ -"CMakeFiles/mimalloc.dir/src/stats.c.o" \ -"CMakeFiles/mimalloc.dir/src/random.c.o" \ -"CMakeFiles/mimalloc.dir/src/os.c.o" \ -"CMakeFiles/mimalloc.dir/src/bitmap.c.o" \ -"CMakeFiles/mimalloc.dir/src/arena.c.o" \ -"CMakeFiles/mimalloc.dir/src/region.c.o" \ -"CMakeFiles/mimalloc.dir/src/segment.c.o" \ -"CMakeFiles/mimalloc.dir/src/page.c.o" \ -"CMakeFiles/mimalloc.dir/src/alloc.c.o" \ -"CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o" \ -"CMakeFiles/mimalloc.dir/src/alloc-posix.c.o" \ -"CMakeFiles/mimalloc.dir/src/heap.c.o" \ -"CMakeFiles/mimalloc.dir/src/options.c.o" \ -"CMakeFiles/mimalloc.dir/src/init.c.o" - -# External object files for target mimalloc -mimalloc_EXTERNAL_OBJECTS = - -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/src/stats.c.o -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/src/random.c.o -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/src/os.c.o -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/src/bitmap.c.o -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/src/arena.c.o -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/src/region.c.o -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/src/segment.c.o -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/src/page.c.o -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/src/alloc.c.o -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/src/alloc-posix.c.o -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/src/heap.c.o -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/src/options.c.o -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/src/init.c.o -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/build.make -libmimalloc.so.1.7: /usr/lib/librt.so -libmimalloc.so.1.7: CMakeFiles/mimalloc.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/aprokurov/Projects/mimalloc/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Linking C shared library libmimalloc.so" - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/mimalloc.dir/link.txt --verbose=$(VERBOSE) - $(CMAKE_COMMAND) -E cmake_symlink_library libmimalloc.so.1.7 libmimalloc.so.1.7 libmimalloc.so - -libmimalloc.so: libmimalloc.so.1.7 - @$(CMAKE_COMMAND) -E touch_nocreate libmimalloc.so - -# Rule to build all files generated by this target. -CMakeFiles/mimalloc.dir/build: libmimalloc.so - -.PHONY : CMakeFiles/mimalloc.dir/build - -CMakeFiles/mimalloc.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/mimalloc.dir/cmake_clean.cmake -.PHONY : CMakeFiles/mimalloc.dir/clean - -CMakeFiles/mimalloc.dir/depend: - cd /home/aprokurov/Projects/mimalloc && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc /home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/mimalloc.dir/depend - diff --git a/CMakeFiles/mimalloc.dir/cmake_clean.cmake b/CMakeFiles/mimalloc.dir/cmake_clean.cmake deleted file mode 100644 index 8f645035..00000000 --- a/CMakeFiles/mimalloc.dir/cmake_clean.cmake +++ /dev/null @@ -1,24 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o" - "CMakeFiles/mimalloc.dir/src/alloc-posix.c.o" - "CMakeFiles/mimalloc.dir/src/alloc.c.o" - "CMakeFiles/mimalloc.dir/src/arena.c.o" - "CMakeFiles/mimalloc.dir/src/bitmap.c.o" - "CMakeFiles/mimalloc.dir/src/heap.c.o" - "CMakeFiles/mimalloc.dir/src/init.c.o" - "CMakeFiles/mimalloc.dir/src/options.c.o" - "CMakeFiles/mimalloc.dir/src/os.c.o" - "CMakeFiles/mimalloc.dir/src/page.c.o" - "CMakeFiles/mimalloc.dir/src/random.c.o" - "CMakeFiles/mimalloc.dir/src/region.c.o" - "CMakeFiles/mimalloc.dir/src/segment.c.o" - "CMakeFiles/mimalloc.dir/src/stats.c.o" - "libmimalloc.pdb" - "libmimalloc.so" - "libmimalloc.so.1.7" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/mimalloc.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/CMakeFiles/mimalloc.dir/depend.internal b/CMakeFiles/mimalloc.dir/depend.internal deleted file mode 100644 index 1cd8f98a..00000000 --- a/CMakeFiles/mimalloc.dir/depend.internal +++ /dev/null @@ -1,92 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o - /home/aprokurov/Projects/mimalloc/src/alloc-aligned.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc.dir/src/alloc-posix.c.o - /home/aprokurov/Projects/mimalloc/src/alloc-posix.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc.dir/src/alloc.c.o - /home/aprokurov/Projects/mimalloc/src/alloc-override.c - /home/aprokurov/Projects/mimalloc/src/alloc.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc.dir/src/arena.c.o - /home/aprokurov/Projects/mimalloc/src/arena.c - /home/aprokurov/Projects/mimalloc/src/bitmap.h - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc.dir/src/bitmap.c.o - /home/aprokurov/Projects/mimalloc/src/bitmap.c - /home/aprokurov/Projects/mimalloc/src/bitmap.h - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc.dir/src/heap.c.o - /home/aprokurov/Projects/mimalloc/src/heap.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc.dir/src/init.c.o - /home/aprokurov/Projects/mimalloc/src/init.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc.dir/src/options.c.o - /home/aprokurov/Projects/mimalloc/src/options.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc.dir/src/os.c.o - /home/aprokurov/Projects/mimalloc/src/os.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc.dir/src/page.c.o - /home/aprokurov/Projects/mimalloc/src/page-queue.c - /home/aprokurov/Projects/mimalloc/src/page.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc.dir/src/random.c.o - /home/aprokurov/Projects/mimalloc/src/random.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc.dir/src/region.c.o - /home/aprokurov/Projects/mimalloc/src/bitmap.h - /home/aprokurov/Projects/mimalloc/src/region.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc.dir/src/segment.c.o - /home/aprokurov/Projects/mimalloc/src/segment.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h -CMakeFiles/mimalloc.dir/src/stats.c.o - /home/aprokurov/Projects/mimalloc/src/stats.c - include/mimalloc-atomic.h - include/mimalloc-internal.h - include/mimalloc-types.h - include/mimalloc.h diff --git a/CMakeFiles/mimalloc.dir/depend.make b/CMakeFiles/mimalloc.dir/depend.make deleted file mode 100644 index dd4d9203..00000000 --- a/CMakeFiles/mimalloc.dir/depend.make +++ /dev/null @@ -1,92 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o: src/alloc-aligned.c -CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o: include/mimalloc.h - -CMakeFiles/mimalloc.dir/src/alloc-posix.c.o: src/alloc-posix.c -CMakeFiles/mimalloc.dir/src/alloc-posix.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc.dir/src/alloc-posix.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc.dir/src/alloc-posix.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc.dir/src/alloc-posix.c.o: include/mimalloc.h - -CMakeFiles/mimalloc.dir/src/alloc.c.o: src/alloc-override.c -CMakeFiles/mimalloc.dir/src/alloc.c.o: src/alloc.c -CMakeFiles/mimalloc.dir/src/alloc.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc.dir/src/alloc.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc.dir/src/alloc.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc.dir/src/alloc.c.o: include/mimalloc.h - -CMakeFiles/mimalloc.dir/src/arena.c.o: src/arena.c -CMakeFiles/mimalloc.dir/src/arena.c.o: src/bitmap.h -CMakeFiles/mimalloc.dir/src/arena.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc.dir/src/arena.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc.dir/src/arena.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc.dir/src/arena.c.o: include/mimalloc.h - -CMakeFiles/mimalloc.dir/src/bitmap.c.o: src/bitmap.c -CMakeFiles/mimalloc.dir/src/bitmap.c.o: src/bitmap.h -CMakeFiles/mimalloc.dir/src/bitmap.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc.dir/src/bitmap.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc.dir/src/bitmap.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc.dir/src/bitmap.c.o: include/mimalloc.h - -CMakeFiles/mimalloc.dir/src/heap.c.o: src/heap.c -CMakeFiles/mimalloc.dir/src/heap.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc.dir/src/heap.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc.dir/src/heap.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc.dir/src/heap.c.o: include/mimalloc.h - -CMakeFiles/mimalloc.dir/src/init.c.o: src/init.c -CMakeFiles/mimalloc.dir/src/init.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc.dir/src/init.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc.dir/src/init.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc.dir/src/init.c.o: include/mimalloc.h - -CMakeFiles/mimalloc.dir/src/options.c.o: src/options.c -CMakeFiles/mimalloc.dir/src/options.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc.dir/src/options.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc.dir/src/options.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc.dir/src/options.c.o: include/mimalloc.h - -CMakeFiles/mimalloc.dir/src/os.c.o: src/os.c -CMakeFiles/mimalloc.dir/src/os.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc.dir/src/os.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc.dir/src/os.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc.dir/src/os.c.o: include/mimalloc.h - -CMakeFiles/mimalloc.dir/src/page.c.o: src/page-queue.c -CMakeFiles/mimalloc.dir/src/page.c.o: src/page.c -CMakeFiles/mimalloc.dir/src/page.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc.dir/src/page.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc.dir/src/page.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc.dir/src/page.c.o: include/mimalloc.h - -CMakeFiles/mimalloc.dir/src/random.c.o: src/random.c -CMakeFiles/mimalloc.dir/src/random.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc.dir/src/random.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc.dir/src/random.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc.dir/src/random.c.o: include/mimalloc.h - -CMakeFiles/mimalloc.dir/src/region.c.o: src/bitmap.h -CMakeFiles/mimalloc.dir/src/region.c.o: src/region.c -CMakeFiles/mimalloc.dir/src/region.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc.dir/src/region.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc.dir/src/region.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc.dir/src/region.c.o: include/mimalloc.h - -CMakeFiles/mimalloc.dir/src/segment.c.o: src/segment.c -CMakeFiles/mimalloc.dir/src/segment.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc.dir/src/segment.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc.dir/src/segment.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc.dir/src/segment.c.o: include/mimalloc.h - -CMakeFiles/mimalloc.dir/src/stats.c.o: src/stats.c -CMakeFiles/mimalloc.dir/src/stats.c.o: include/mimalloc-atomic.h -CMakeFiles/mimalloc.dir/src/stats.c.o: include/mimalloc-internal.h -CMakeFiles/mimalloc.dir/src/stats.c.o: include/mimalloc-types.h -CMakeFiles/mimalloc.dir/src/stats.c.o: include/mimalloc.h - diff --git a/CMakeFiles/mimalloc.dir/flags.make b/CMakeFiles/mimalloc.dir/flags.make deleted file mode 100644 index 7513d4c2..00000000 --- a/CMakeFiles/mimalloc.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# compile C with /usr/bin/cc -C_DEFINES = -DMI_MALLOC_OVERRIDE -DMI_SHARED_LIB -DMI_SHARED_LIB_EXPORT -Dmimalloc_EXPORTS - -C_INCLUDES = -I/home/aprokurov/Projects/mimalloc/include - -C_FLAGS = -O3 -DNDEBUG -fPIC -Wall -Wextra -Wno-unknown-pragmas -fvisibility=hidden -Wno-invalid-memory-model -ftls-model=initial-exec -std=gnu11 - diff --git a/CMakeFiles/mimalloc.dir/link.txt b/CMakeFiles/mimalloc.dir/link.txt deleted file mode 100644 index 82a53095..00000000 --- a/CMakeFiles/mimalloc.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/cc -fPIC -O3 -DNDEBUG -shared -Wl,-soname,libmimalloc.so.1.7 -o libmimalloc.so.1.7 CMakeFiles/mimalloc.dir/src/stats.c.o CMakeFiles/mimalloc.dir/src/random.c.o CMakeFiles/mimalloc.dir/src/os.c.o CMakeFiles/mimalloc.dir/src/bitmap.c.o CMakeFiles/mimalloc.dir/src/arena.c.o CMakeFiles/mimalloc.dir/src/region.c.o CMakeFiles/mimalloc.dir/src/segment.c.o CMakeFiles/mimalloc.dir/src/page.c.o CMakeFiles/mimalloc.dir/src/alloc.c.o CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o CMakeFiles/mimalloc.dir/src/alloc-posix.c.o CMakeFiles/mimalloc.dir/src/heap.c.o CMakeFiles/mimalloc.dir/src/options.c.o CMakeFiles/mimalloc.dir/src/init.c.o -lpthread -lrt diff --git a/CMakeFiles/mimalloc.dir/progress.make b/CMakeFiles/mimalloc.dir/progress.make deleted file mode 100644 index 10293660..00000000 --- a/CMakeFiles/mimalloc.dir/progress.make +++ /dev/null @@ -1,16 +0,0 @@ -CMAKE_PROGRESS_1 = 1 -CMAKE_PROGRESS_2 = 2 -CMAKE_PROGRESS_3 = 3 -CMAKE_PROGRESS_4 = 4 -CMAKE_PROGRESS_5 = 5 -CMAKE_PROGRESS_6 = 6 -CMAKE_PROGRESS_7 = 7 -CMAKE_PROGRESS_8 = 8 -CMAKE_PROGRESS_9 = 9 -CMAKE_PROGRESS_10 = 10 -CMAKE_PROGRESS_11 = 11 -CMAKE_PROGRESS_12 = 12 -CMAKE_PROGRESS_13 = 13 -CMAKE_PROGRESS_14 = 14 -CMAKE_PROGRESS_15 = 15 - diff --git a/CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o b/CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o deleted file mode 100644 index 1a3df180febb5fbec04feb10154f423e84221b29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9256 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 diff --git a/CMakeFiles/mimalloc.dir/src/alloc.c.o b/CMakeFiles/mimalloc.dir/src/alloc.c.o deleted file mode 100644 index cf6af9e8abcfbd938e68a59c77ab6d7a1c1b601a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22496 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 diff --git a/CMakeFiles/mimalloc.dir/src/arena.c.o b/CMakeFiles/mimalloc.dir/src/arena.c.o deleted file mode 100644 index 2959ec806ca4cff03fc0ea311955d9eafc8203d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9192 zcmbtZe{fXCec!ti(jk%e4%>BZY;0cBqY=T#Iuaa#iMfYPXwRGiHBw?5ljEd&LRX|a zdiMk}(2+8yleIYx3P;dRl<41YPF{ z>Us2n=1xBtWtaBsH6JnenqMEM~M6bXtgl=E5TZZ=}#)OW6yQ zou|1|E;@e6PsiW%wiE*{WH;#Y>y-H;g~L9sl@?k9K6ALz)JL1|9Co9K-~6C?6`7qS z`V+()=)Z&5pPFbQuF2T!?5w^zL^uc-%N4nZ5 zdzThl16!l)EwIE-3)Cy+wt}1&5k)Lo8a{_Gs`VB&0iXYpJQT;lo?I-%sc5D=u zp(M?Z>4W#ox1+`9KnUVI6B+-lpXM4|QMM(Z=Z}C$aE7vOnEm3HaAcJISA_k7vg=d6 z&XN3B-|al~xsO72d!(@CKWTo}eyGsw4{w_8y=)F_36S2(f&M#5??tfM8)1_z>{66X z&f0;4l)Zr;cnq8x<4Woi2xIQF0mj+?0F_!L5jyqNVO0L>2z#3rz#L%}Wxouw>k&3H zwOe0JKrxuKb<;)rUYt6i`fgO+!Y)VH6`?xHW)`Zx{_&jZ-h3oC;fmyLgzV)z3R^w^ zk9xmL*%a3*^6@zzM1oJ2$;N_XO@m{4eg_1Q&kAM`Wv@b-wL!S&CkH#bXaS}yS_nCL z!KdLS7^silY!2TNC~+EvyM&sFNgEPG$qmd;bPOEvnSa#6#v`~AUZm{WvtXQy4+B2` zDP;`!q7VKJbUSJFzS-Kgo91WiPRc%^`IqdpKKeW@ehLJD`U2nTYDDryz()2SEp9|6 z%0A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 diff --git a/CMakeFiles/mimalloc.dir/src/heap.c.o b/CMakeFiles/mimalloc.dir/src/heap.c.o deleted file mode 100644 index bd1d5a8a4e701ef14597e94b310cc965e103bcee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9248 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 diff --git a/CMakeFiles/mimalloc.dir/src/init.c.o b/CMakeFiles/mimalloc.dir/src/init.c.o deleted file mode 100644 index fdbbea746801dfc60d3bb8206dbc0bdbf6a38542..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24160 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 SsB+1Vs-5#nuq$uv^8X7aR-&{3 diff --git a/CMakeFiles/mimalloc.dir/src/options.c.o b/CMakeFiles/mimalloc.dir/src/options.c.o deleted file mode 100644 index e77941652255c82886f025fa8ad4cb6d289c69cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12984 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 ahWojun6Cfa8sq;O4{cBm$>;P#AOC;5yWe5} diff --git a/CMakeFiles/mimalloc.dir/src/os.c.o b/CMakeFiles/mimalloc.dir/src/os.c.o deleted file mode 100644 index 98cf2284947244b75af5cafbf529c14da6b3960b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19976 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 diff --git a/CMakeFiles/mimalloc.dir/src/page.c.o b/CMakeFiles/mimalloc.dir/src/page.c.o deleted file mode 100644 index f890b82391f1b2fa233f6502311e33c11af28141..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16080 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 AjsO4v diff --git a/CMakeFiles/mimalloc.dir/src/random.c.o b/CMakeFiles/mimalloc.dir/src/random.c.o deleted file mode 100644 index 3c1fa65846b86049c22d5ed02a9f2111f957cfe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8976 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 Ju~bbT|6dG0XLA4m diff --git a/CMakeFiles/mimalloc.dir/src/region.c.o b/CMakeFiles/mimalloc.dir/src/region.c.o deleted file mode 100644 index cadc665ccfa1f43f711500ed1f8cb56744722599..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7992 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 diff --git a/CMakeFiles/mimalloc.dir/src/segment.c.o b/CMakeFiles/mimalloc.dir/src/segment.c.o deleted file mode 100644 index b5f773aeca96bd70eb7bff18b6b2c74381df100e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15728 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 diff --git a/CMakeFiles/progress.marks b/CMakeFiles/progress.marks deleted file mode 100644 index 8f92bfdd..00000000 --- a/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -35 diff --git a/CTestTestfile.cmake b/CTestTestfile.cmake deleted file mode 100644 index a7581aa0..00000000 --- a/CTestTestfile.cmake +++ /dev/null @@ -1,10 +0,0 @@ -# CMake generated Testfile for -# Source directory: /home/aprokurov/Projects/mimalloc -# Build directory: /home/aprokurov/Projects/mimalloc -# -# This file includes the relevant testing commands required for -# testing this directory and lists subdirectories to be tested as well. -add_test(test_api, "mimalloc-test-api") -set_tests_properties(test_api, PROPERTIES _BACKTRACE_TRIPLES "/home/aprokurov/Projects/mimalloc/CMakeLists.txt;370;add_test;/home/aprokurov/Projects/mimalloc/CMakeLists.txt;0;") -add_test(test_stress, "mimalloc-test-stress") -set_tests_properties(test_stress, PROPERTIES _BACKTRACE_TRIPLES "/home/aprokurov/Projects/mimalloc/CMakeLists.txt;371;add_test;/home/aprokurov/Projects/mimalloc/CMakeLists.txt;0;") diff --git a/Makefile b/Makefile deleted file mode 100644 index 8236aaa2..00000000 --- a/Makefile +++ /dev/null @@ -1,837 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# Default target executed when no arguments are given to make. -default_target: all - -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Disable VCS-based implicit rules. -% : %,v - - -# Disable VCS-based implicit rules. -% : RCS/% - - -# Disable VCS-based implicit rules. -% : RCS/%,v - - -# Disable VCS-based implicit rules. -% : SCCS/s.% - - -# Disable VCS-based implicit rules. -% : s.% - - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/aprokurov/Projects/mimalloc - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/aprokurov/Projects/mimalloc - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target install/local -install/local: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local - -# Special rule for the target install/local -install/local/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local/fast - -# Special rule for the target install -install: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install - -# Special rule for the target install -install/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install/fast - -# Special rule for the target list_install_components -list_install_components: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" -.PHONY : list_install_components - -# Special rule for the target list_install_components -list_install_components/fast: list_install_components - -.PHONY : list_install_components/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." - /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache - -.PHONY : rebuild_cache/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." - /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache - -.PHONY : edit_cache/fast - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." - /usr/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test - -.PHONY : test/fast - -# Special rule for the target install/strip -install/strip: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip - -# Special rule for the target install/strip -install/strip/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip/fast - -# The main all target -all: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/aprokurov/Projects/mimalloc/CMakeFiles /home/aprokurov/Projects/mimalloc//CMakeFiles/progress.marks - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all - $(CMAKE_COMMAND) -E cmake_progress_start /home/aprokurov/Projects/mimalloc/CMakeFiles 0 -.PHONY : all - -# The main clean target -clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean -.PHONY : clean - -# The main clean target -clean/fast: clean - -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -#============================================================================= -# Target rules for targets named mimalloc-test-stress - -# Build rule for target. -mimalloc-test-stress: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 mimalloc-test-stress -.PHONY : mimalloc-test-stress - -# fast build rule for target. -mimalloc-test-stress/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-test-stress.dir/build.make CMakeFiles/mimalloc-test-stress.dir/build -.PHONY : mimalloc-test-stress/fast - -#============================================================================= -# Target rules for targets named mimalloc-obj - -# Build rule for target. -mimalloc-obj: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 mimalloc-obj -.PHONY : mimalloc-obj - -# fast build rule for target. -mimalloc-obj/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-obj.dir/build.make CMakeFiles/mimalloc-obj.dir/build -.PHONY : mimalloc-obj/fast - -#============================================================================= -# Target rules for targets named mimalloc-static - -# Build rule for target. -mimalloc-static: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 mimalloc-static -.PHONY : mimalloc-static - -# fast build rule for target. -mimalloc-static/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/build -.PHONY : mimalloc-static/fast - -#============================================================================= -# Target rules for targets named mimalloc-test-api - -# Build rule for target. -mimalloc-test-api: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 mimalloc-test-api -.PHONY : mimalloc-test-api - -# fast build rule for target. -mimalloc-test-api/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-test-api.dir/build.make CMakeFiles/mimalloc-test-api.dir/build -.PHONY : mimalloc-test-api/fast - -#============================================================================= -# Target rules for targets named mimalloc - -# Build rule for target. -mimalloc: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 mimalloc -.PHONY : mimalloc - -# fast build rule for target. -mimalloc/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/build -.PHONY : mimalloc/fast - -src/alloc-aligned.o: src/alloc-aligned.c.o - -.PHONY : src/alloc-aligned.o - -# target to build an object file -src/alloc-aligned.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/alloc-aligned.c.o -.PHONY : src/alloc-aligned.c.o - -src/alloc-aligned.i: src/alloc-aligned.c.i - -.PHONY : src/alloc-aligned.i - -# target to preprocess a source file -src/alloc-aligned.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/alloc-aligned.c.i -.PHONY : src/alloc-aligned.c.i - -src/alloc-aligned.s: src/alloc-aligned.c.s - -.PHONY : src/alloc-aligned.s - -# target to generate assembly for a file -src/alloc-aligned.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/alloc-aligned.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/alloc-aligned.c.s -.PHONY : src/alloc-aligned.c.s - -src/alloc-posix.o: src/alloc-posix.c.o - -.PHONY : src/alloc-posix.o - -# target to build an object file -src/alloc-posix.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/alloc-posix.c.o -.PHONY : src/alloc-posix.c.o - -src/alloc-posix.i: src/alloc-posix.c.i - -.PHONY : src/alloc-posix.i - -# target to preprocess a source file -src/alloc-posix.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/alloc-posix.c.i -.PHONY : src/alloc-posix.c.i - -src/alloc-posix.s: src/alloc-posix.c.s - -.PHONY : src/alloc-posix.s - -# target to generate assembly for a file -src/alloc-posix.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/alloc-posix.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/alloc-posix.c.s -.PHONY : src/alloc-posix.c.s - -src/alloc.o: src/alloc.c.o - -.PHONY : src/alloc.o - -# target to build an object file -src/alloc.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/alloc.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/alloc.c.o -.PHONY : src/alloc.c.o - -src/alloc.i: src/alloc.c.i - -.PHONY : src/alloc.i - -# target to preprocess a source file -src/alloc.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/alloc.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/alloc.c.i -.PHONY : src/alloc.c.i - -src/alloc.s: src/alloc.c.s - -.PHONY : src/alloc.s - -# target to generate assembly for a file -src/alloc.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/alloc.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/alloc.c.s -.PHONY : src/alloc.c.s - -src/arena.o: src/arena.c.o - -.PHONY : src/arena.o - -# target to build an object file -src/arena.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/arena.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/arena.c.o -.PHONY : src/arena.c.o - -src/arena.i: src/arena.c.i - -.PHONY : src/arena.i - -# target to preprocess a source file -src/arena.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/arena.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/arena.c.i -.PHONY : src/arena.c.i - -src/arena.s: src/arena.c.s - -.PHONY : src/arena.s - -# target to generate assembly for a file -src/arena.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/arena.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/arena.c.s -.PHONY : src/arena.c.s - -src/bitmap.o: src/bitmap.c.o - -.PHONY : src/bitmap.o - -# target to build an object file -src/bitmap.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/bitmap.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/bitmap.c.o -.PHONY : src/bitmap.c.o - -src/bitmap.i: src/bitmap.c.i - -.PHONY : src/bitmap.i - -# target to preprocess a source file -src/bitmap.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/bitmap.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/bitmap.c.i -.PHONY : src/bitmap.c.i - -src/bitmap.s: src/bitmap.c.s - -.PHONY : src/bitmap.s - -# target to generate assembly for a file -src/bitmap.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/bitmap.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/bitmap.c.s -.PHONY : src/bitmap.c.s - -src/heap.o: src/heap.c.o - -.PHONY : src/heap.o - -# target to build an object file -src/heap.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/heap.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/heap.c.o -.PHONY : src/heap.c.o - -src/heap.i: src/heap.c.i - -.PHONY : src/heap.i - -# target to preprocess a source file -src/heap.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/heap.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/heap.c.i -.PHONY : src/heap.c.i - -src/heap.s: src/heap.c.s - -.PHONY : src/heap.s - -# target to generate assembly for a file -src/heap.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/heap.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/heap.c.s -.PHONY : src/heap.c.s - -src/init.o: src/init.c.o - -.PHONY : src/init.o - -# target to build an object file -src/init.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/init.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/init.c.o -.PHONY : src/init.c.o - -src/init.i: src/init.c.i - -.PHONY : src/init.i - -# target to preprocess a source file -src/init.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/init.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/init.c.i -.PHONY : src/init.c.i - -src/init.s: src/init.c.s - -.PHONY : src/init.s - -# target to generate assembly for a file -src/init.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/init.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/init.c.s -.PHONY : src/init.c.s - -src/options.o: src/options.c.o - -.PHONY : src/options.o - -# target to build an object file -src/options.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/options.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/options.c.o -.PHONY : src/options.c.o - -src/options.i: src/options.c.i - -.PHONY : src/options.i - -# target to preprocess a source file -src/options.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/options.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/options.c.i -.PHONY : src/options.c.i - -src/options.s: src/options.c.s - -.PHONY : src/options.s - -# target to generate assembly for a file -src/options.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/options.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/options.c.s -.PHONY : src/options.c.s - -src/os.o: src/os.c.o - -.PHONY : src/os.o - -# target to build an object file -src/os.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/os.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/os.c.o -.PHONY : src/os.c.o - -src/os.i: src/os.c.i - -.PHONY : src/os.i - -# target to preprocess a source file -src/os.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/os.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/os.c.i -.PHONY : src/os.c.i - -src/os.s: src/os.c.s - -.PHONY : src/os.s - -# target to generate assembly for a file -src/os.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/os.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/os.c.s -.PHONY : src/os.c.s - -src/page.o: src/page.c.o - -.PHONY : src/page.o - -# target to build an object file -src/page.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/page.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/page.c.o -.PHONY : src/page.c.o - -src/page.i: src/page.c.i - -.PHONY : src/page.i - -# target to preprocess a source file -src/page.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/page.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/page.c.i -.PHONY : src/page.c.i - -src/page.s: src/page.c.s - -.PHONY : src/page.s - -# target to generate assembly for a file -src/page.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/page.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/page.c.s -.PHONY : src/page.c.s - -src/random.o: src/random.c.o - -.PHONY : src/random.o - -# target to build an object file -src/random.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/random.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/random.c.o -.PHONY : src/random.c.o - -src/random.i: src/random.c.i - -.PHONY : src/random.i - -# target to preprocess a source file -src/random.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/random.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/random.c.i -.PHONY : src/random.c.i - -src/random.s: src/random.c.s - -.PHONY : src/random.s - -# target to generate assembly for a file -src/random.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/random.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/random.c.s -.PHONY : src/random.c.s - -src/region.o: src/region.c.o - -.PHONY : src/region.o - -# target to build an object file -src/region.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/region.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/region.c.o -.PHONY : src/region.c.o - -src/region.i: src/region.c.i - -.PHONY : src/region.i - -# target to preprocess a source file -src/region.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/region.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/region.c.i -.PHONY : src/region.c.i - -src/region.s: src/region.c.s - -.PHONY : src/region.s - -# target to generate assembly for a file -src/region.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/region.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/region.c.s -.PHONY : src/region.c.s - -src/segment.o: src/segment.c.o - -.PHONY : src/segment.o - -# target to build an object file -src/segment.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/segment.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/segment.c.o -.PHONY : src/segment.c.o - -src/segment.i: src/segment.c.i - -.PHONY : src/segment.i - -# target to preprocess a source file -src/segment.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/segment.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/segment.c.i -.PHONY : src/segment.c.i - -src/segment.s: src/segment.c.s - -.PHONY : src/segment.s - -# target to generate assembly for a file -src/segment.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/segment.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/segment.c.s -.PHONY : src/segment.c.s - -src/static.o: src/static.c.o - -.PHONY : src/static.o - -# target to build an object file -src/static.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-obj.dir/build.make CMakeFiles/mimalloc-obj.dir/src/static.c.o -.PHONY : src/static.c.o - -src/static.i: src/static.c.i - -.PHONY : src/static.i - -# target to preprocess a source file -src/static.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-obj.dir/build.make CMakeFiles/mimalloc-obj.dir/src/static.c.i -.PHONY : src/static.c.i - -src/static.s: src/static.c.s - -.PHONY : src/static.s - -# target to generate assembly for a file -src/static.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-obj.dir/build.make CMakeFiles/mimalloc-obj.dir/src/static.c.s -.PHONY : src/static.c.s - -src/stats.o: src/stats.c.o - -.PHONY : src/stats.o - -# target to build an object file -src/stats.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/stats.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/stats.c.o -.PHONY : src/stats.c.o - -src/stats.i: src/stats.c.i - -.PHONY : src/stats.i - -# target to preprocess a source file -src/stats.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/stats.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/stats.c.i -.PHONY : src/stats.c.i - -src/stats.s: src/stats.c.s - -.PHONY : src/stats.s - -# target to generate assembly for a file -src/stats.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-static.dir/build.make CMakeFiles/mimalloc-static.dir/src/stats.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc.dir/build.make CMakeFiles/mimalloc.dir/src/stats.c.s -.PHONY : src/stats.c.s - -test/test-api.o: test/test-api.c.o - -.PHONY : test/test-api.o - -# target to build an object file -test/test-api.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-test-api.dir/build.make CMakeFiles/mimalloc-test-api.dir/test/test-api.c.o -.PHONY : test/test-api.c.o - -test/test-api.i: test/test-api.c.i - -.PHONY : test/test-api.i - -# target to preprocess a source file -test/test-api.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-test-api.dir/build.make CMakeFiles/mimalloc-test-api.dir/test/test-api.c.i -.PHONY : test/test-api.c.i - -test/test-api.s: test/test-api.c.s - -.PHONY : test/test-api.s - -# target to generate assembly for a file -test/test-api.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-test-api.dir/build.make CMakeFiles/mimalloc-test-api.dir/test/test-api.c.s -.PHONY : test/test-api.c.s - -test/test-stress.o: test/test-stress.c.o - -.PHONY : test/test-stress.o - -# target to build an object file -test/test-stress.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-test-stress.dir/build.make CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.o -.PHONY : test/test-stress.c.o - -test/test-stress.i: test/test-stress.c.i - -.PHONY : test/test-stress.i - -# target to preprocess a source file -test/test-stress.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-test-stress.dir/build.make CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.i -.PHONY : test/test-stress.c.i - -test/test-stress.s: test/test-stress.c.s - -.PHONY : test/test-stress.s - -# target to generate assembly for a file -test/test-stress.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/mimalloc-test-stress.dir/build.make CMakeFiles/mimalloc-test-stress.dir/test/test-stress.c.s -.PHONY : test/test-stress.c.s - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... edit_cache" - @echo "... install" - @echo "... install/local" - @echo "... install/strip" - @echo "... list_install_components" - @echo "... rebuild_cache" - @echo "... test" - @echo "... mimalloc" - @echo "... mimalloc-obj" - @echo "... mimalloc-static" - @echo "... mimalloc-test-api" - @echo "... mimalloc-test-stress" - @echo "... src/alloc-aligned.o" - @echo "... src/alloc-aligned.i" - @echo "... src/alloc-aligned.s" - @echo "... src/alloc-posix.o" - @echo "... src/alloc-posix.i" - @echo "... src/alloc-posix.s" - @echo "... src/alloc.o" - @echo "... src/alloc.i" - @echo "... src/alloc.s" - @echo "... src/arena.o" - @echo "... src/arena.i" - @echo "... src/arena.s" - @echo "... src/bitmap.o" - @echo "... src/bitmap.i" - @echo "... src/bitmap.s" - @echo "... src/heap.o" - @echo "... src/heap.i" - @echo "... src/heap.s" - @echo "... src/init.o" - @echo "... src/init.i" - @echo "... src/init.s" - @echo "... src/options.o" - @echo "... src/options.i" - @echo "... src/options.s" - @echo "... src/os.o" - @echo "... src/os.i" - @echo "... src/os.s" - @echo "... src/page.o" - @echo "... src/page.i" - @echo "... src/page.s" - @echo "... src/random.o" - @echo "... src/random.i" - @echo "... src/random.s" - @echo "... src/region.o" - @echo "... src/region.i" - @echo "... src/region.s" - @echo "... src/segment.o" - @echo "... src/segment.i" - @echo "... src/segment.s" - @echo "... src/static.o" - @echo "... src/static.i" - @echo "... src/static.s" - @echo "... src/stats.o" - @echo "... src/stats.i" - @echo "... src/stats.s" - @echo "... test/test-api.o" - @echo "... test/test-api.i" - @echo "... test/test-api.s" - @echo "... test/test-stress.o" - @echo "... test/test-stress.i" - @echo "... test/test-stress.s" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/cmake_install.cmake b/cmake_install.cmake deleted file mode 100644 index 7902ecbc..00000000 --- a/cmake_install.cmake +++ /dev/null @@ -1,229 +0,0 @@ -# Install script for directory: /home/aprokurov/Projects/mimalloc - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/usr/local") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "Release") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Install shared libraries without execute permission? -if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) - set(CMAKE_INSTALL_SO_NO_EXE "0") -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "FALSE") -endif() - -# Set default install directory permissions. -if(NOT DEFINED CMAKE_OBJDUMP) - set(CMAKE_OBJDUMP "/usr/bin/objdump") -endif() - -if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) - if(EXISTS "$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/libmimalloc.so.1.7" AND - NOT IS_SYMLINK "$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/libmimalloc.so.1.7") - file(RPATH_CHECK - FILE "$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/libmimalloc.so.1.7" - RPATH "") - endif() - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/usr/local/lib/mimalloc-1.7/libmimalloc.so.1.7") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() -file(INSTALL DESTINATION "/usr/local/lib/mimalloc-1.7" TYPE SHARED_LIBRARY FILES "/home/aprokurov/Projects/mimalloc/libmimalloc.so.1.7") - if(EXISTS "$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/libmimalloc.so.1.7" AND - NOT IS_SYMLINK "$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/libmimalloc.so.1.7") - if(CMAKE_INSTALL_DO_STRIP) - execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/libmimalloc.so.1.7") - endif() - endif() -endif() - -if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) - if(EXISTS "$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/libmimalloc.so" AND - NOT IS_SYMLINK "$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/libmimalloc.so") - file(RPATH_CHECK - FILE "$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/libmimalloc.so" - RPATH "") - endif() - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/usr/local/lib/mimalloc-1.7/libmimalloc.so") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() -file(INSTALL DESTINATION "/usr/local/lib/mimalloc-1.7" TYPE SHARED_LIBRARY FILES "/home/aprokurov/Projects/mimalloc/libmimalloc.so") - if(EXISTS "$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/libmimalloc.so" AND - NOT IS_SYMLINK "$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/libmimalloc.so") - if(CMAKE_INSTALL_DO_STRIP) - execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/libmimalloc.so") - endif() - endif() -endif() - -if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) - if(EXISTS "$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/cmake/mimalloc.cmake") - file(DIFFERENT EXPORT_FILE_CHANGED FILES - "$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/cmake/mimalloc.cmake" - "/home/aprokurov/Projects/mimalloc/CMakeFiles/Export/_usr/local/lib/mimalloc-1.7/cmake/mimalloc.cmake") - if(EXPORT_FILE_CHANGED) - file(GLOB OLD_CONFIG_FILES "$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/cmake/mimalloc-*.cmake") - if(OLD_CONFIG_FILES) - message(STATUS "Old export file \"$ENV{DESTDIR}/usr/local/lib/mimalloc-1.7/cmake/mimalloc.cmake\" will be replaced. Removing files [${OLD_CONFIG_FILES}].") - file(REMOVE ${OLD_CONFIG_FILES}) - endif() - endif() - endif() - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/usr/local/lib/mimalloc-1.7/cmake/mimalloc.cmake") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() -file(INSTALL DESTINATION "/usr/local/lib/mimalloc-1.7/cmake" TYPE FILE FILES "/home/aprokurov/Projects/mimalloc/CMakeFiles/Export/_usr/local/lib/mimalloc-1.7/cmake/mimalloc.cmake") - if("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Rr][Ee][Ll][Ee][Aa][Ss][Ee])$") - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/usr/local/lib/mimalloc-1.7/cmake/mimalloc-release.cmake") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() -file(INSTALL DESTINATION "/usr/local/lib/mimalloc-1.7/cmake" TYPE FILE FILES "/home/aprokurov/Projects/mimalloc/CMakeFiles/Export/_usr/local/lib/mimalloc-1.7/cmake/mimalloc-release.cmake") - endif() -endif() - -if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/usr/local/lib/mimalloc-1.7/libmimalloc.a") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() -file(INSTALL DESTINATION "/usr/local/lib/mimalloc-1.7" TYPE STATIC_LIBRARY FILES "/home/aprokurov/Projects/mimalloc/libmimalloc.a") -endif() - -if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/usr/local/lib/mimalloc-1.7/include/mimalloc.h") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() -file(INSTALL DESTINATION "/usr/local/lib/mimalloc-1.7/include" TYPE FILE FILES "/home/aprokurov/Projects/mimalloc/include/mimalloc.h") -endif() - -if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/usr/local/lib/mimalloc-1.7/include/mimalloc-override.h") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() -file(INSTALL DESTINATION "/usr/local/lib/mimalloc-1.7/include" TYPE FILE FILES "/home/aprokurov/Projects/mimalloc/include/mimalloc-override.h") -endif() - -if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/usr/local/lib/mimalloc-1.7/include/mimalloc-new-delete.h") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() -file(INSTALL DESTINATION "/usr/local/lib/mimalloc-1.7/include" TYPE FILE FILES "/home/aprokurov/Projects/mimalloc/include/mimalloc-new-delete.h") -endif() - -if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/usr/local/lib/mimalloc-1.7/cmake/mimalloc-config.cmake") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() -file(INSTALL DESTINATION "/usr/local/lib/mimalloc-1.7/cmake" TYPE FILE FILES "/home/aprokurov/Projects/mimalloc/cmake/mimalloc-config.cmake") -endif() - -if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/usr/local/lib/mimalloc-1.7/cmake/mimalloc-config-version.cmake") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() -file(INSTALL DESTINATION "/usr/local/lib/mimalloc-1.7/cmake" TYPE FILE FILES "/home/aprokurov/Projects/mimalloc/cmake/mimalloc-config-version.cmake") -endif() - -if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) - execute_process(COMMAND /usr/bin/cmake -E create_symlink mimalloc-1.7/libmimalloc.so.1.7 libmimalloc.so WORKING_DIRECTORY /usr/local/lib/mimalloc-1.7/..) -endif() - -if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) - MESSAGE("-- Symbolic link: /usr/local/lib/libmimalloc.so -> mimalloc-1.7/libmimalloc.so.1.7") -endif() - -if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/usr/local/lib/mimalloc-1.7/mimalloc.o") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() -file(INSTALL DESTINATION "/usr/local/lib/mimalloc-1.7" TYPE FILE RENAME "mimalloc.o" FILES "/home/aprokurov/Projects/mimalloc/CMakeFiles/mimalloc-obj.dir/src/static.c.o") -endif() - -if(CMAKE_INSTALL_COMPONENT) - set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") -else() - set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") -endif() - -string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT - "${CMAKE_INSTALL_MANIFEST_FILES}") -file(WRITE "/home/aprokurov/Projects/mimalloc/${CMAKE_INSTALL_MANIFEST}" - "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/doc/mimalloc-doc.h b/doc/mimalloc-doc.h index cdc332e4..59113402 100644 --- a/doc/mimalloc-doc.h +++ b/doc/mimalloc-doc.h @@ -351,13 +351,6 @@ void mi_thread_stats_print_out(mi_output_fun* out, void* arg); /// @see mi_register_deferred_free typedef void (mi_deferred_free_fun)(bool force, unsigned long long heartbeat, void* arg); -/// Type of deferred free function that is used per mi_heap_t. -/// @param heap Heap where this deferred function was registered first. -/// @param force If \a true all outstanting items should be freed. -/// @param heartbeat A monotonically increasing count. -/// @param arg Argument that was passed at registration to hold extra state. -typedef void (mi_local_deferred_free_fun)(mi_heap_t* heap,bool force,unsigned long long heartbeat,void* arg); - /// Register a deferred free function. /// @param deferred_free Address of a deferred free-ing function or \a NULL to unregister. /// @param arg Argument that will be passed on to the deferred free function. diff --git a/include/mimalloc-types.h b/include/mimalloc-types.h index 748040fc..99024679 100644 --- a/include/mimalloc-types.h +++ b/include/mimalloc-types.h @@ -350,8 +350,6 @@ struct mi_heap_s { size_t page_retired_max; // largest retired index into the `pages` array. mi_heap_t* next; // list of heaps per thread bool no_reclaim; // `true` if this heap should not reclaim abandoned pages - void* deferred_free; - void* deferred_arg; }; diff --git a/include/mimalloc.h b/include/mimalloc.h index 43fd6e7b..a2835d02 100644 --- a/include/mimalloc.h +++ b/include/mimalloc.h @@ -8,366 +8,370 @@ terms of the MIT license. A copy of the license can be found in the file #ifndef MIMALLOC_H #define MIMALLOC_H -#define MI_MALLOC_VERSION 170 // major + 2 digits minor +#define MI_MALLOC_VERSION 170 // major + 2 digits minor // ------------------------------------------------------ // Compiler specific attributes // ------------------------------------------------------ #ifdef __cplusplus -#if (__cplusplus >= 201103L) || (_MSC_VER > 1900) // C++11 -#define mi_attr_noexcept noexcept + #if (__cplusplus >= 201103L) || (_MSC_VER > 1900) // C++11 + #define mi_attr_noexcept noexcept + #else + #define mi_attr_noexcept throw() + #endif #else -#define mi_attr_noexcept throw() -#endif -#else -#define mi_attr_noexcept + #define mi_attr_noexcept #endif #if defined(__cplusplus) && (__cplusplus >= 201703) -#define mi_decl_nodiscard [[nodiscard]] -#elif (__GNUC__ >= 4) || defined(__clang__) // includes clang, icc, and clang-cl -#define mi_decl_nodiscard __attribute__((warn_unused_result)) + #define mi_decl_nodiscard [[nodiscard]] +#elif (__GNUC__ >= 4) || defined(__clang__) // includes clang, icc, and clang-cl + #define mi_decl_nodiscard __attribute__((warn_unused_result)) #elif (_MSC_VER >= 1700) -#define mi_decl_nodiscard _Check_return_ + #define mi_decl_nodiscard _Check_return_ #else -#define mi_decl_nodiscard + #define mi_decl_nodiscard #endif #if defined(_MSC_VER) || defined(__MINGW32__) -#if !defined(MI_SHARED_LIB) -#define mi_decl_export -#elif defined(MI_SHARED_LIB_EXPORT) -#define mi_decl_export __declspec(dllexport) + #if !defined(MI_SHARED_LIB) + #define mi_decl_export + #elif defined(MI_SHARED_LIB_EXPORT) + #define mi_decl_export __declspec(dllexport) + #else + #define mi_decl_export __declspec(dllimport) + #endif + #if defined(__MINGW32__) + #define mi_decl_restrict + #define mi_attr_malloc __attribute__((malloc)) + #else + #if (_MSC_VER >= 1900) && !defined(__EDG__) + #define mi_decl_restrict __declspec(allocator) __declspec(restrict) + #else + #define mi_decl_restrict __declspec(restrict) + #endif + #define mi_attr_malloc + #endif + #define mi_cdecl __cdecl + #define mi_attr_alloc_size(s) + #define mi_attr_alloc_size2(s1,s2) + #define mi_attr_alloc_align(p) +#elif defined(__GNUC__) // includes clang and icc + #define mi_cdecl // leads to warnings... __attribute__((cdecl)) + #define mi_decl_export __attribute__((visibility("default"))) + #define mi_decl_restrict + #define mi_attr_malloc __attribute__((malloc)) + #if (defined(__clang_major__) && (__clang_major__ < 4)) || (__GNUC__ < 5) + #define mi_attr_alloc_size(s) + #define mi_attr_alloc_size2(s1,s2) + #define mi_attr_alloc_align(p) + #elif defined(__INTEL_COMPILER) + #define mi_attr_alloc_size(s) __attribute__((alloc_size(s))) + #define mi_attr_alloc_size2(s1,s2) __attribute__((alloc_size(s1,s2))) + #define mi_attr_alloc_align(p) + #else + #define mi_attr_alloc_size(s) __attribute__((alloc_size(s))) + #define mi_attr_alloc_size2(s1,s2) __attribute__((alloc_size(s1,s2))) + #define mi_attr_alloc_align(p) __attribute__((alloc_align(p))) + #endif #else -#define mi_decl_export __declspec(dllimport) -#endif -#if defined(__MINGW32__) -#define mi_decl_restrict -#define mi_attr_malloc __attribute__((malloc)) -#else -#if (_MSC_VER >= 1900) && !defined(__EDG__) -#define mi_decl_restrict __declspec(allocator) __declspec(restrict) -#else -#define mi_decl_restrict __declspec(restrict) -#endif -#define mi_attr_malloc -#endif -#define mi_cdecl __cdecl -#define mi_attr_alloc_size(s) -#define mi_attr_alloc_size2(s1, s2) -#define mi_attr_alloc_align(p) -#elif defined(__GNUC__) // includes clang and icc -#define mi_cdecl // leads to warnings... __attribute__((cdecl)) -#define mi_decl_export __attribute__((visibility("default"))) -#define mi_decl_restrict -#define mi_attr_malloc __attribute__((malloc)) -#if (defined(__clang_major__) && (__clang_major__ < 4)) || (__GNUC__ < 5) -#define mi_attr_alloc_size(s) -#define mi_attr_alloc_size2(s1, s2) -#define mi_attr_alloc_align(p) -#elif defined(__INTEL_COMPILER) -#define mi_attr_alloc_size(s) __attribute__((alloc_size(s))) -#define mi_attr_alloc_size2(s1, s2) __attribute__((alloc_size(s1, s2))) -#define mi_attr_alloc_align(p) -#else -#define mi_attr_alloc_size(s) __attribute__((alloc_size(s))) -#define mi_attr_alloc_size2(s1, s2) __attribute__((alloc_size(s1, s2))) -#define mi_attr_alloc_align(p) __attribute__((alloc_align(p))) -#endif -#else -#define mi_cdecl -#define mi_decl_export -#define mi_decl_restrict -#define mi_attr_malloc -#define mi_attr_alloc_size(s) -#define mi_attr_alloc_size2(s1, s2) -#define mi_attr_alloc_align(p) + #define mi_cdecl + #define mi_decl_export + #define mi_decl_restrict + #define mi_attr_malloc + #define mi_attr_alloc_size(s) + #define mi_attr_alloc_size2(s1,s2) + #define mi_attr_alloc_align(p) #endif // ------------------------------------------------------ // Includes // ------------------------------------------------------ -#include // size_t -#include // bool +#include // size_t +#include // bool #ifdef __cplusplus -extern "C" -{ +extern "C" { #endif - // ------------------------------------------------------ - // Standard malloc interface - // ------------------------------------------------------ +// ------------------------------------------------------ +// Standard malloc interface +// ------------------------------------------------------ - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_malloc(size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_calloc(size_t count, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(1, 2); - mi_decl_nodiscard mi_decl_export void *mi_realloc(void *p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(2); - mi_decl_export void *mi_expand(void *p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(2); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_malloc(size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_calloc(size_t count, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(1,2); +mi_decl_nodiscard mi_decl_export void* mi_realloc(void* p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(2); +mi_decl_export void* mi_expand(void* p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(2); - mi_decl_export void mi_free(void *p) mi_attr_noexcept; - mi_decl_nodiscard mi_decl_export mi_decl_restrict char *mi_strdup(const char *s) mi_attr_noexcept mi_attr_malloc; - mi_decl_nodiscard mi_decl_export mi_decl_restrict char *mi_strndup(const char *s, size_t n) mi_attr_noexcept mi_attr_malloc; - mi_decl_nodiscard mi_decl_export mi_decl_restrict char *mi_realpath(const char *fname, char *resolved_name) mi_attr_noexcept mi_attr_malloc; +mi_decl_export void mi_free(void* p) mi_attr_noexcept; +mi_decl_nodiscard mi_decl_export mi_decl_restrict char* mi_strdup(const char* s) mi_attr_noexcept mi_attr_malloc; +mi_decl_nodiscard mi_decl_export mi_decl_restrict char* mi_strndup(const char* s, size_t n) mi_attr_noexcept mi_attr_malloc; +mi_decl_nodiscard mi_decl_export mi_decl_restrict char* mi_realpath(const char* fname, char* resolved_name) mi_attr_noexcept mi_attr_malloc; // ------------------------------------------------------ // Extended functionality // ------------------------------------------------------ -#define MI_SMALL_WSIZE_MAX (128) -#define MI_SMALL_SIZE_MAX (MI_SMALL_WSIZE_MAX * sizeof(void *)) +#define MI_SMALL_WSIZE_MAX (128) +#define MI_SMALL_SIZE_MAX (MI_SMALL_WSIZE_MAX*sizeof(void*)) - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_malloc_small(size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_zalloc_small(size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_zalloc(size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_malloc_small(size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_zalloc_small(size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_zalloc(size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_mallocn(size_t count, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(1, 2); - mi_decl_nodiscard mi_decl_export void *mi_reallocn(void *p, size_t count, size_t size) mi_attr_noexcept mi_attr_alloc_size2(2, 3); - mi_decl_nodiscard mi_decl_export void *mi_reallocf(void *p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(2); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_mallocn(size_t count, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(1,2); +mi_decl_nodiscard mi_decl_export void* mi_reallocn(void* p, size_t count, size_t size) mi_attr_noexcept mi_attr_alloc_size2(2,3); +mi_decl_nodiscard mi_decl_export void* mi_reallocf(void* p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(2); - mi_decl_nodiscard mi_decl_export size_t mi_usable_size(const void *p) mi_attr_noexcept; - mi_decl_nodiscard mi_decl_export size_t mi_good_size(size_t size) mi_attr_noexcept; +mi_decl_nodiscard mi_decl_export size_t mi_usable_size(const void* p) mi_attr_noexcept; +mi_decl_nodiscard mi_decl_export size_t mi_good_size(size_t size) mi_attr_noexcept; - // ------------------------------------------------------ - // Internals - // ------------------------------------------------------ - typedef void(mi_cdecl mi_deferred_free_fun)(bool force, unsigned long long heartbeat, void *arg); - mi_decl_export void mi_register_deferred_free(mi_deferred_free_fun *deferred_free, void *arg) mi_attr_noexcept; +// ------------------------------------------------------ +// Internals +// ------------------------------------------------------ - typedef void(mi_cdecl mi_output_fun)(const char *msg, void *arg); - mi_decl_export void mi_register_output(mi_output_fun *out, void *arg) mi_attr_noexcept; +typedef void (mi_cdecl mi_deferred_free_fun)(bool force, unsigned long long heartbeat, void* arg); +mi_decl_export void mi_register_deferred_free(mi_deferred_free_fun* deferred_free, void* arg) mi_attr_noexcept; - typedef void(mi_cdecl mi_error_fun)(int err, void *arg); - mi_decl_export void mi_register_error(mi_error_fun *fun, void *arg); +typedef void (mi_cdecl mi_output_fun)(const char* msg, void* arg); +mi_decl_export void mi_register_output(mi_output_fun* out, void* arg) 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 void mi_stats_reset(void) mi_attr_noexcept; - mi_decl_export void mi_stats_merge(void) mi_attr_noexcept; - mi_decl_export void mi_stats_print(void *out) mi_attr_noexcept; // backward compatibility: `out` is ignored and should be NULL - mi_decl_export void mi_stats_print_out(mi_output_fun *out, void *arg) mi_attr_noexcept; +typedef void (mi_cdecl mi_error_fun)(int err, void* arg); +mi_decl_export void mi_register_error(mi_error_fun* fun, void* arg); - mi_decl_export void mi_process_init(void) mi_attr_noexcept; - mi_decl_export void mi_thread_init(void) mi_attr_noexcept; - mi_decl_export void mi_thread_done(void) mi_attr_noexcept; - mi_decl_export void mi_thread_stats_print_out(mi_output_fun *out, void *arg) 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 void mi_stats_reset(void) mi_attr_noexcept; +mi_decl_export void mi_stats_merge(void) mi_attr_noexcept; +mi_decl_export void mi_stats_print(void* out) mi_attr_noexcept; // backward compatibility: `out` is ignored and should be NULL +mi_decl_export void mi_stats_print_out(mi_output_fun* out, void* arg) mi_attr_noexcept; - mi_decl_export void mi_process_info(size_t *elapsed_msecs, size_t *user_msecs, size_t *system_msecs, - size_t *current_rss, size_t *peak_rss, - size_t *current_commit, size_t *peak_commit, size_t *page_faults) mi_attr_noexcept; +mi_decl_export void mi_process_init(void) mi_attr_noexcept; +mi_decl_export void mi_thread_init(void) mi_attr_noexcept; +mi_decl_export void mi_thread_done(void) mi_attr_noexcept; +mi_decl_export void mi_thread_stats_print_out(mi_output_fun* out, void* arg) mi_attr_noexcept; - // ------------------------------------------------------------------------------------- - // Aligned allocation - // Note that `alignment` always follows `size` for consistency with unaligned - // allocation, but unfortunately this differs from `posix_memalign` and `aligned_alloc`. - // ------------------------------------------------------------------------------------- +mi_decl_export void mi_process_info(size_t* elapsed_msecs, size_t* user_msecs, size_t* system_msecs, + size_t* current_rss, size_t* peak_rss, + size_t* current_commit, size_t* peak_commit, size_t* page_faults) mi_attr_noexcept; - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_malloc_aligned(size_t size, size_t alignment) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1) mi_attr_alloc_align(2); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_malloc_aligned_at(size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_zalloc_aligned(size_t size, size_t alignment) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1) mi_attr_alloc_align(2); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_zalloc_aligned_at(size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_calloc_aligned(size_t count, size_t size, size_t alignment) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(1, 2) mi_attr_alloc_align(3); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_calloc_aligned_at(size_t count, size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(1, 2); - mi_decl_nodiscard mi_decl_export void *mi_realloc_aligned(void *p, size_t newsize, size_t alignment) mi_attr_noexcept mi_attr_alloc_size(2) mi_attr_alloc_align(3); - mi_decl_nodiscard mi_decl_export void *mi_realloc_aligned_at(void *p, size_t newsize, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_alloc_size(2); +// ------------------------------------------------------------------------------------- +// Aligned allocation +// Note that `alignment` always follows `size` for consistency with unaligned +// allocation, but unfortunately this differs from `posix_memalign` and `aligned_alloc`. +// ------------------------------------------------------------------------------------- - // ------------------------------------------------------------------------------------- - // Heaps: first-class, but can only allocate from the same thread that created it. - // ------------------------------------------------------------------------------------- +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_malloc_aligned(size_t size, size_t alignment) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1) mi_attr_alloc_align(2); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_malloc_aligned_at(size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_zalloc_aligned(size_t size, size_t alignment) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1) mi_attr_alloc_align(2); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_zalloc_aligned_at(size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_calloc_aligned(size_t count, size_t size, size_t alignment) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(1,2) mi_attr_alloc_align(3); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_calloc_aligned_at(size_t count, size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(1,2); +mi_decl_nodiscard mi_decl_export void* mi_realloc_aligned(void* p, size_t newsize, size_t alignment) mi_attr_noexcept mi_attr_alloc_size(2) mi_attr_alloc_align(3); +mi_decl_nodiscard mi_decl_export void* mi_realloc_aligned_at(void* p, size_t newsize, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_alloc_size(2); - struct mi_heap_s; - typedef struct mi_heap_s mi_heap_t; - mi_decl_nodiscard mi_decl_export mi_heap_t *mi_heap_new(void); - mi_decl_export void mi_heap_delete(mi_heap_t *heap); - mi_decl_export void mi_heap_destroy(mi_heap_t *heap); - mi_decl_export mi_heap_t *mi_heap_set_default(mi_heap_t *heap); - mi_decl_export mi_heap_t *mi_heap_get_default(void); - mi_decl_export mi_heap_t *mi_heap_get_backing(void); - mi_decl_export void mi_heap_collect(mi_heap_t *heap, bool force) mi_attr_noexcept; - typedef void(mi_local_deferred_free_fun)(mi_heap_t *heap, bool force, unsigned long long heartbeat, void *arg); - mi_decl_export void mi_heap_register_local_deferred_free(mi_heap_t *heap, mi_local_deferred_free_fun *deferred_free, void *arg) mi_attr_noexcept; +// ------------------------------------------------------------------------------------- +// Heaps: first-class, but can only allocate from the same thread that created it. +// ------------------------------------------------------------------------------------- - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_heap_malloc(mi_heap_t *heap, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_heap_zalloc(mi_heap_t *heap, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_heap_calloc(mi_heap_t *heap, size_t count, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(2, 3); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_heap_mallocn(mi_heap_t *heap, size_t count, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(2, 3); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_heap_malloc_small(mi_heap_t *heap, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2); +struct mi_heap_s; +typedef struct mi_heap_s mi_heap_t; - mi_decl_nodiscard mi_decl_export void *mi_heap_realloc(mi_heap_t *heap, void *p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(3); - mi_decl_nodiscard mi_decl_export void *mi_heap_reallocn(mi_heap_t *heap, void *p, size_t count, size_t size) mi_attr_noexcept mi_attr_alloc_size2(3, 4); - mi_decl_nodiscard mi_decl_export void *mi_heap_reallocf(mi_heap_t *heap, void *p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(3); +mi_decl_nodiscard mi_decl_export mi_heap_t* mi_heap_new(void); +mi_decl_export void mi_heap_delete(mi_heap_t* heap); +mi_decl_export void mi_heap_destroy(mi_heap_t* heap); +mi_decl_export mi_heap_t* mi_heap_set_default(mi_heap_t* heap); +mi_decl_export mi_heap_t* mi_heap_get_default(void); +mi_decl_export mi_heap_t* mi_heap_get_backing(void); +mi_decl_export void mi_heap_collect(mi_heap_t* heap, bool force) mi_attr_noexcept; - mi_decl_nodiscard mi_decl_export mi_decl_restrict char *mi_heap_strdup(mi_heap_t *heap, const char *s) mi_attr_noexcept mi_attr_malloc; - mi_decl_nodiscard mi_decl_export mi_decl_restrict char *mi_heap_strndup(mi_heap_t *heap, const char *s, size_t n) mi_attr_noexcept mi_attr_malloc; - mi_decl_nodiscard mi_decl_export mi_decl_restrict char *mi_heap_realpath(mi_heap_t *heap, const char *fname, char *resolved_name) mi_attr_noexcept mi_attr_malloc; +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_heap_malloc(mi_heap_t* heap, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_heap_zalloc(mi_heap_t* heap, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_heap_calloc(mi_heap_t* heap, size_t count, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(2, 3); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_heap_mallocn(mi_heap_t* heap, size_t count, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(2, 3); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_heap_malloc_small(mi_heap_t* heap, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_heap_malloc_aligned(mi_heap_t *heap, size_t size, size_t alignment) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2) mi_attr_alloc_align(3); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_heap_malloc_aligned_at(mi_heap_t *heap, size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_heap_zalloc_aligned(mi_heap_t *heap, size_t size, size_t alignment) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2) mi_attr_alloc_align(3); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_heap_zalloc_aligned_at(mi_heap_t *heap, size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_heap_calloc_aligned(mi_heap_t *heap, size_t count, size_t size, size_t alignment) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(2, 3) mi_attr_alloc_align(4); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_heap_calloc_aligned_at(mi_heap_t *heap, size_t count, size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(2, 3); - mi_decl_nodiscard mi_decl_export void *mi_heap_realloc_aligned(mi_heap_t *heap, void *p, size_t newsize, size_t alignment) mi_attr_noexcept mi_attr_alloc_size(3) mi_attr_alloc_align(4); - mi_decl_nodiscard mi_decl_export void *mi_heap_realloc_aligned_at(mi_heap_t *heap, void *p, size_t newsize, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_alloc_size(3); +mi_decl_nodiscard mi_decl_export void* mi_heap_realloc(mi_heap_t* heap, void* p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(3); +mi_decl_nodiscard mi_decl_export void* mi_heap_reallocn(mi_heap_t* heap, void* p, size_t count, size_t size) mi_attr_noexcept mi_attr_alloc_size2(3,4); +mi_decl_nodiscard mi_decl_export void* mi_heap_reallocf(mi_heap_t* heap, void* p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(3); - // -------------------------------------------------------------------------------- - // Zero initialized re-allocation. - // Only valid on memory that was originally allocated with zero initialization too. - // e.g. `mi_calloc`, `mi_zalloc`, `mi_zalloc_aligned` etc. - // see - // -------------------------------------------------------------------------------- +mi_decl_nodiscard mi_decl_export mi_decl_restrict char* mi_heap_strdup(mi_heap_t* heap, const char* s) mi_attr_noexcept mi_attr_malloc; +mi_decl_nodiscard mi_decl_export mi_decl_restrict char* mi_heap_strndup(mi_heap_t* heap, const char* s, size_t n) mi_attr_noexcept mi_attr_malloc; +mi_decl_nodiscard mi_decl_export mi_decl_restrict char* mi_heap_realpath(mi_heap_t* heap, const char* fname, char* resolved_name) mi_attr_noexcept mi_attr_malloc; - mi_decl_nodiscard mi_decl_export void *mi_rezalloc(void *p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(2); - mi_decl_nodiscard mi_decl_export void *mi_recalloc(void *p, size_t newcount, size_t size) mi_attr_noexcept mi_attr_alloc_size2(2, 3); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_heap_malloc_aligned(mi_heap_t* heap, size_t size, size_t alignment) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2) mi_attr_alloc_align(3); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_heap_malloc_aligned_at(mi_heap_t* heap, size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_heap_zalloc_aligned(mi_heap_t* heap, size_t size, size_t alignment) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2) mi_attr_alloc_align(3); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_heap_zalloc_aligned_at(mi_heap_t* heap, size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_heap_calloc_aligned(mi_heap_t* heap, size_t count, size_t size, size_t alignment) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(2, 3) mi_attr_alloc_align(4); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_heap_calloc_aligned_at(mi_heap_t* heap, size_t count, size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size2(2, 3); +mi_decl_nodiscard mi_decl_export void* mi_heap_realloc_aligned(mi_heap_t* heap, void* p, size_t newsize, size_t alignment) mi_attr_noexcept mi_attr_alloc_size(3) mi_attr_alloc_align(4); +mi_decl_nodiscard mi_decl_export void* mi_heap_realloc_aligned_at(mi_heap_t* heap, void* p, size_t newsize, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_alloc_size(3); - mi_decl_nodiscard mi_decl_export void *mi_rezalloc_aligned(void *p, size_t newsize, size_t alignment) mi_attr_noexcept mi_attr_alloc_size(2) mi_attr_alloc_align(3); - mi_decl_nodiscard mi_decl_export void *mi_rezalloc_aligned_at(void *p, size_t newsize, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_alloc_size(2); - mi_decl_nodiscard mi_decl_export void *mi_recalloc_aligned(void *p, size_t newcount, size_t size, size_t alignment) mi_attr_noexcept mi_attr_alloc_size2(2, 3) mi_attr_alloc_align(4); - mi_decl_nodiscard mi_decl_export void *mi_recalloc_aligned_at(void *p, size_t newcount, size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_alloc_size2(2, 3); - mi_decl_nodiscard mi_decl_export void *mi_heap_rezalloc(mi_heap_t *heap, void *p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(3); - mi_decl_nodiscard mi_decl_export void *mi_heap_recalloc(mi_heap_t *heap, void *p, size_t newcount, size_t size) mi_attr_noexcept mi_attr_alloc_size2(3, 4); +// -------------------------------------------------------------------------------- +// Zero initialized re-allocation. +// Only valid on memory that was originally allocated with zero initialization too. +// e.g. `mi_calloc`, `mi_zalloc`, `mi_zalloc_aligned` etc. +// see +// -------------------------------------------------------------------------------- - mi_decl_nodiscard mi_decl_export void *mi_heap_rezalloc_aligned(mi_heap_t *heap, void *p, size_t newsize, size_t alignment) mi_attr_noexcept mi_attr_alloc_size(3) mi_attr_alloc_align(4); - mi_decl_nodiscard mi_decl_export void *mi_heap_rezalloc_aligned_at(mi_heap_t *heap, void *p, size_t newsize, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_alloc_size(3); - mi_decl_nodiscard mi_decl_export void *mi_heap_recalloc_aligned(mi_heap_t *heap, void *p, size_t newcount, size_t size, size_t alignment) mi_attr_noexcept mi_attr_alloc_size2(3, 4) mi_attr_alloc_align(5); - mi_decl_nodiscard mi_decl_export void *mi_heap_recalloc_aligned_at(mi_heap_t *heap, void *p, size_t newcount, size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_alloc_size2(3, 4); +mi_decl_nodiscard mi_decl_export void* mi_rezalloc(void* p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(2); +mi_decl_nodiscard mi_decl_export void* mi_recalloc(void* p, size_t newcount, size_t size) mi_attr_noexcept mi_attr_alloc_size2(2,3); - // ------------------------------------------------------ - // Analysis - // ------------------------------------------------------ +mi_decl_nodiscard mi_decl_export void* mi_rezalloc_aligned(void* p, size_t newsize, size_t alignment) mi_attr_noexcept mi_attr_alloc_size(2) mi_attr_alloc_align(3); +mi_decl_nodiscard mi_decl_export void* mi_rezalloc_aligned_at(void* p, size_t newsize, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_alloc_size(2); +mi_decl_nodiscard mi_decl_export void* mi_recalloc_aligned(void* p, size_t newcount, size_t size, size_t alignment) mi_attr_noexcept mi_attr_alloc_size2(2,3) mi_attr_alloc_align(4); +mi_decl_nodiscard mi_decl_export void* mi_recalloc_aligned_at(void* p, size_t newcount, size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_alloc_size2(2,3); - mi_decl_export bool mi_heap_contains_block(mi_heap_t *heap, const void *p); - mi_decl_export bool mi_heap_check_owned(mi_heap_t *heap, const void *p); - mi_decl_export bool mi_check_owned(const void *p); +mi_decl_nodiscard mi_decl_export void* mi_heap_rezalloc(mi_heap_t* heap, void* p, size_t newsize) mi_attr_noexcept mi_attr_alloc_size(3); +mi_decl_nodiscard mi_decl_export void* mi_heap_recalloc(mi_heap_t* heap, void* p, size_t newcount, size_t size) mi_attr_noexcept mi_attr_alloc_size2(3,4); - // An area of heap space contains blocks of a single size. - typedef struct mi_heap_area_s - { - void *blocks; // start of the area containing heap blocks - size_t reserved; // bytes reserved for this area (virtual) - size_t committed; // current available bytes for this area - size_t used; // bytes in use by allocated blocks - size_t block_size; // size in bytes of each block - } mi_heap_area_t; +mi_decl_nodiscard mi_decl_export void* mi_heap_rezalloc_aligned(mi_heap_t* heap, void* p, size_t newsize, size_t alignment) mi_attr_noexcept mi_attr_alloc_size(3) mi_attr_alloc_align(4); +mi_decl_nodiscard mi_decl_export void* mi_heap_rezalloc_aligned_at(mi_heap_t* heap, void* p, size_t newsize, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_alloc_size(3); +mi_decl_nodiscard mi_decl_export void* mi_heap_recalloc_aligned(mi_heap_t* heap, void* p, size_t newcount, size_t size, size_t alignment) mi_attr_noexcept mi_attr_alloc_size2(3,4) mi_attr_alloc_align(5); +mi_decl_nodiscard mi_decl_export void* mi_heap_recalloc_aligned_at(mi_heap_t* heap, void* p, size_t newcount, size_t size, size_t alignment, size_t offset) mi_attr_noexcept mi_attr_alloc_size2(3,4); - typedef bool(mi_cdecl mi_block_visit_fun)(const mi_heap_t *heap, const mi_heap_area_t *area, void *block, size_t block_size, void *arg); - mi_decl_export bool mi_heap_visit_blocks(const mi_heap_t *heap, bool visit_all_blocks, mi_block_visit_fun *visitor, void *arg); +// ------------------------------------------------------ +// Analysis +// ------------------------------------------------------ - // Experimental - mi_decl_nodiscard mi_decl_export bool mi_is_in_heap_region(const void *p) mi_attr_noexcept; - mi_decl_nodiscard mi_decl_export bool mi_is_redirected(void) mi_attr_noexcept; +mi_decl_export bool mi_heap_contains_block(mi_heap_t* heap, const void* p); +mi_decl_export bool mi_heap_check_owned(mi_heap_t* heap, const void* p); +mi_decl_export bool mi_check_owned(const void* p); - mi_decl_export int mi_reserve_huge_os_pages_interleave(size_t pages, size_t numa_nodes, size_t timeout_msecs) mi_attr_noexcept; - mi_decl_export int mi_reserve_huge_os_pages_at(size_t pages, int numa_node, size_t timeout_msecs) mi_attr_noexcept; +// An area of heap space contains blocks of a single size. +typedef struct mi_heap_area_s { + void* blocks; // start of the area containing heap blocks + size_t reserved; // bytes reserved for this area (virtual) + size_t committed; // current available bytes for this area + size_t used; // bytes in use by allocated blocks + size_t block_size; // size in bytes of each block +} mi_heap_area_t; - mi_decl_export int mi_reserve_os_memory(size_t size, bool commit, bool allow_large) mi_attr_noexcept; - mi_decl_export bool mi_manage_os_memory(void *start, size_t size, bool is_committed, bool is_large, bool is_zero, int numa_node) mi_attr_noexcept; +typedef bool (mi_cdecl mi_block_visit_fun)(const mi_heap_t* heap, const mi_heap_area_t* area, void* block, size_t block_size, void* arg); - // deprecated - mi_decl_export int mi_reserve_huge_os_pages(size_t pages, double max_secs, size_t *pages_reserved) mi_attr_noexcept; +mi_decl_export bool mi_heap_visit_blocks(const mi_heap_t* heap, bool visit_all_blocks, mi_block_visit_fun* visitor, void* arg); - // ------------------------------------------------------ - // Convenience - // ------------------------------------------------------ +// Experimental +mi_decl_nodiscard mi_decl_export bool mi_is_in_heap_region(const void* p) mi_attr_noexcept; +mi_decl_nodiscard mi_decl_export bool mi_is_redirected(void) mi_attr_noexcept; -#define mi_malloc_tp(tp) ((tp *)mi_malloc(sizeof(tp))) -#define mi_zalloc_tp(tp) ((tp *)mi_zalloc(sizeof(tp))) -#define mi_calloc_tp(tp, n) ((tp *)mi_calloc(n, sizeof(tp))) -#define mi_mallocn_tp(tp, n) ((tp *)mi_mallocn(n, sizeof(tp))) -#define mi_reallocn_tp(p, tp, n) ((tp *)mi_reallocn(p, n, sizeof(tp))) -#define mi_recalloc_tp(p, tp, n) ((tp *)mi_recalloc(p, n, sizeof(tp))) +mi_decl_export int mi_reserve_huge_os_pages_interleave(size_t pages, size_t numa_nodes, size_t timeout_msecs) mi_attr_noexcept; +mi_decl_export int mi_reserve_huge_os_pages_at(size_t pages, int numa_node, size_t timeout_msecs) mi_attr_noexcept; -#define mi_heap_malloc_tp(hp, tp) ((tp *)mi_heap_malloc(hp, sizeof(tp))) -#define mi_heap_zalloc_tp(hp, tp) ((tp *)mi_heap_zalloc(hp, sizeof(tp))) -#define mi_heap_calloc_tp(hp, tp, n) ((tp *)mi_heap_calloc(hp, n, sizeof(tp))) -#define mi_heap_mallocn_tp(hp, tp, n) ((tp *)mi_heap_mallocn(hp, n, sizeof(tp))) -#define mi_heap_reallocn_tp(hp, p, tp, n) ((tp *)mi_heap_reallocn(hp, p, n, sizeof(tp))) -#define mi_heap_recalloc_tp(hp, p, tp, n) ((tp *)mi_heap_recalloc(hp, p, n, sizeof(tp))) +mi_decl_export int mi_reserve_os_memory(size_t size, bool commit, bool allow_large) mi_attr_noexcept; +mi_decl_export bool mi_manage_os_memory(void* start, size_t size, bool is_committed, bool is_large, bool is_zero, int numa_node) mi_attr_noexcept; - // ------------------------------------------------------ - // Options, all `false` by default - // ------------------------------------------------------ - typedef enum mi_option_e - { - // stable options - mi_option_show_errors, - mi_option_show_stats, - mi_option_verbose, - // the following options are experimental - mi_option_eager_commit, - mi_option_eager_region_commit, - mi_option_reset_decommits, - mi_option_large_os_pages, // implies eager commit - mi_option_reserve_huge_os_pages, - mi_option_reserve_os_memory, - mi_option_segment_cache, - mi_option_page_reset, - mi_option_abandoned_page_reset, - mi_option_segment_reset, - mi_option_eager_commit_delay, - mi_option_reset_delay, - mi_option_use_numa_nodes, - mi_option_limit_os_alloc, - mi_option_os_tag, - mi_option_max_errors, - mi_option_max_warnings, - _mi_option_last - } mi_option_t; +// deprecated +mi_decl_export int mi_reserve_huge_os_pages(size_t pages, double max_secs, size_t* pages_reserved) mi_attr_noexcept; - mi_decl_nodiscard mi_decl_export bool mi_option_is_enabled(mi_option_t option); - mi_decl_export void mi_option_enable(mi_option_t option); - mi_decl_export void mi_option_disable(mi_option_t option); - mi_decl_export void mi_option_set_enabled(mi_option_t option, bool enable); - mi_decl_export void mi_option_set_enabled_default(mi_option_t option, bool enable); - mi_decl_nodiscard mi_decl_export long mi_option_get(mi_option_t option); - mi_decl_export void mi_option_set(mi_option_t option, long value); - mi_decl_export void mi_option_set_default(mi_option_t option, long value); +// ------------------------------------------------------ +// Convenience +// ------------------------------------------------------ - // ------------------------------------------------------------------------------------------------------- - // "mi" prefixed implementations of various posix, Unix, Windows, and C++ allocation functions. - // (This can be convenient when providing overrides of these functions as done in `mimalloc-override.h`.) - // note: we use `mi_cfree` as "checked free" and it checks if the pointer is in our heap before free-ing. - // ------------------------------------------------------------------------------------------------------- +#define mi_malloc_tp(tp) ((tp*)mi_malloc(sizeof(tp))) +#define mi_zalloc_tp(tp) ((tp*)mi_zalloc(sizeof(tp))) +#define mi_calloc_tp(tp,n) ((tp*)mi_calloc(n,sizeof(tp))) +#define mi_mallocn_tp(tp,n) ((tp*)mi_mallocn(n,sizeof(tp))) +#define mi_reallocn_tp(p,tp,n) ((tp*)mi_reallocn(p,n,sizeof(tp))) +#define mi_recalloc_tp(p,tp,n) ((tp*)mi_recalloc(p,n,sizeof(tp))) - 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_usable_size(const void *p) mi_attr_noexcept; +#define mi_heap_malloc_tp(hp,tp) ((tp*)mi_heap_malloc(hp,sizeof(tp))) +#define mi_heap_zalloc_tp(hp,tp) ((tp*)mi_heap_zalloc(hp,sizeof(tp))) +#define mi_heap_calloc_tp(hp,tp,n) ((tp*)mi_heap_calloc(hp,n,sizeof(tp))) +#define mi_heap_mallocn_tp(hp,tp,n) ((tp*)mi_heap_mallocn(hp,n,sizeof(tp))) +#define mi_heap_reallocn_tp(hp,p,tp,n) ((tp*)mi_heap_reallocn(hp,p,n,sizeof(tp))) +#define mi_heap_recalloc_tp(hp,p,tp,n) ((tp*)mi_heap_recalloc(hp,p,n,sizeof(tp))) - mi_decl_export int mi_posix_memalign(void **p, size_t alignment, size_t size) mi_attr_noexcept; - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_memalign(size_t alignment, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2) mi_attr_alloc_align(1); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_valloc(size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_pvalloc(size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_aligned_alloc(size_t alignment, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2) mi_attr_alloc_align(1); - mi_decl_nodiscard mi_decl_export void *mi_reallocarray(void *p, size_t count, size_t size) mi_attr_noexcept mi_attr_alloc_size2(2, 3); - mi_decl_nodiscard mi_decl_export void *mi_aligned_recalloc(void *p, size_t newcount, size_t size, size_t alignment) mi_attr_noexcept; - mi_decl_nodiscard mi_decl_export void *mi_aligned_offset_recalloc(void *p, size_t newcount, size_t size, size_t alignment, size_t offset) mi_attr_noexcept; +// ------------------------------------------------------ +// Options, all `false` by default +// ------------------------------------------------------ - mi_decl_nodiscard mi_decl_export mi_decl_restrict unsigned short *mi_wcsdup(const unsigned short *s) mi_attr_noexcept mi_attr_malloc; - mi_decl_nodiscard mi_decl_export mi_decl_restrict unsigned char *mi_mbsdup(const unsigned char *s) mi_attr_noexcept mi_attr_malloc; - mi_decl_export int mi_dupenv_s(char **buf, size_t *size, const char *name) mi_attr_noexcept; - mi_decl_export int mi_wdupenv_s(unsigned short **buf, size_t *size, const unsigned short *name) mi_attr_noexcept; +typedef enum mi_option_e { + // stable options + mi_option_show_errors, + mi_option_show_stats, + mi_option_verbose, + // the following options are experimental + mi_option_eager_commit, + mi_option_eager_region_commit, + mi_option_reset_decommits, + mi_option_large_os_pages, // implies eager commit + mi_option_reserve_huge_os_pages, + mi_option_reserve_os_memory, + mi_option_segment_cache, + mi_option_page_reset, + mi_option_abandoned_page_reset, + mi_option_segment_reset, + mi_option_eager_commit_delay, + mi_option_reset_delay, + mi_option_use_numa_nodes, + mi_option_limit_os_alloc, + mi_option_os_tag, + mi_option_max_errors, + mi_option_max_warnings, + _mi_option_last +} mi_option_t; - mi_decl_export void mi_free_size(void *p, size_t size) mi_attr_noexcept; - mi_decl_export void mi_free_size_aligned(void *p, size_t size, size_t alignment) mi_attr_noexcept; - mi_decl_export void mi_free_aligned(void *p, size_t alignment) mi_attr_noexcept; - // The `mi_new` wrappers implement C++ semantics on out-of-memory instead of directly returning `NULL`. - // (and call `std::get_new_handler` and potentially raise a `std::bad_alloc` exception). - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_new(size_t size) mi_attr_malloc mi_attr_alloc_size(1); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_new_aligned(size_t size, size_t alignment) mi_attr_malloc mi_attr_alloc_size(1) mi_attr_alloc_align(2); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_new_nothrow(size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_new_aligned_nothrow(size_t size, size_t alignment) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1) mi_attr_alloc_align(2); - mi_decl_nodiscard mi_decl_export mi_decl_restrict void *mi_new_n(size_t count, size_t size) mi_attr_malloc mi_attr_alloc_size2(1, 2); - mi_decl_nodiscard mi_decl_export void *mi_new_realloc(void *p, size_t newsize) mi_attr_alloc_size(2); - mi_decl_nodiscard mi_decl_export void *mi_new_reallocn(void *p, size_t newcount, size_t size) mi_attr_alloc_size2(2, 3); +mi_decl_nodiscard mi_decl_export bool mi_option_is_enabled(mi_option_t option); +mi_decl_export void mi_option_enable(mi_option_t option); +mi_decl_export void mi_option_disable(mi_option_t option); +mi_decl_export void mi_option_set_enabled(mi_option_t option, bool enable); +mi_decl_export void mi_option_set_enabled_default(mi_option_t option, bool enable); + +mi_decl_nodiscard mi_decl_export long mi_option_get(mi_option_t option); +mi_decl_export void mi_option_set(mi_option_t option, long value); +mi_decl_export void mi_option_set_default(mi_option_t option, long value); + + +// ------------------------------------------------------------------------------------------------------- +// "mi" prefixed implementations of various posix, Unix, Windows, and C++ allocation functions. +// (This can be convenient when providing overrides of these functions as done in `mimalloc-override.h`.) +// note: we use `mi_cfree` as "checked free" and it checks if the pointer is in our heap before free-ing. +// ------------------------------------------------------------------------------------------------------- + +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_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; +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_memalign(size_t alignment, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2) mi_attr_alloc_align(1); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_valloc(size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_pvalloc(size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_aligned_alloc(size_t alignment, size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(2) mi_attr_alloc_align(1); + +mi_decl_nodiscard mi_decl_export void* mi_reallocarray(void* p, size_t count, size_t size) mi_attr_noexcept mi_attr_alloc_size2(2,3); +mi_decl_nodiscard mi_decl_export void* mi_aligned_recalloc(void* p, size_t newcount, size_t size, size_t alignment) mi_attr_noexcept; +mi_decl_nodiscard mi_decl_export void* mi_aligned_offset_recalloc(void* p, size_t newcount, size_t size, size_t alignment, size_t offset) mi_attr_noexcept; + +mi_decl_nodiscard mi_decl_export mi_decl_restrict unsigned short* mi_wcsdup(const unsigned short* s) mi_attr_noexcept mi_attr_malloc; +mi_decl_nodiscard mi_decl_export mi_decl_restrict unsigned char* mi_mbsdup(const unsigned char* s) mi_attr_noexcept mi_attr_malloc; +mi_decl_export int mi_dupenv_s(char** buf, size_t* size, const char* name) mi_attr_noexcept; +mi_decl_export int mi_wdupenv_s(unsigned short** buf, size_t* size, const unsigned short* name) mi_attr_noexcept; + +mi_decl_export void mi_free_size(void* p, size_t size) mi_attr_noexcept; +mi_decl_export void mi_free_size_aligned(void* p, size_t size, size_t alignment) mi_attr_noexcept; +mi_decl_export void mi_free_aligned(void* p, size_t alignment) mi_attr_noexcept; + +// The `mi_new` wrappers implement C++ semantics on out-of-memory instead of directly returning `NULL`. +// (and call `std::get_new_handler` and potentially raise a `std::bad_alloc` exception). +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_new(size_t size) mi_attr_malloc mi_attr_alloc_size(1); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_new_aligned(size_t size, size_t alignment) mi_attr_malloc mi_attr_alloc_size(1) mi_attr_alloc_align(2); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_new_nothrow(size_t size) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_new_aligned_nothrow(size_t size, size_t alignment) mi_attr_noexcept mi_attr_malloc mi_attr_alloc_size(1) mi_attr_alloc_align(2); +mi_decl_nodiscard mi_decl_export mi_decl_restrict void* mi_new_n(size_t count, size_t size) mi_attr_malloc mi_attr_alloc_size2(1, 2); +mi_decl_nodiscard mi_decl_export void* mi_new_realloc(void* p, size_t newsize) mi_attr_alloc_size(2); +mi_decl_nodiscard mi_decl_export void* mi_new_reallocn(void* p, size_t newcount, size_t size) mi_attr_alloc_size2(2, 3); #ifdef __cplusplus } @@ -379,77 +383,54 @@ extern "C" // --------------------------------------------------------------------------------------------- #ifdef __cplusplus -#include // PTRDIFF_MAX -#if (__cplusplus >= 201103L) || (_MSC_VER > 1900) // C++11 -#include // std::true_type -#include // std::forward +#include // PTRDIFF_MAX +#if (__cplusplus >= 201103L) || (_MSC_VER > 1900) // C++11 +#include // std::true_type +#include // std::forward #endif -template -struct mi_stl_allocator -{ - typedef T value_type; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - typedef value_type &reference; - typedef value_type const &const_reference; - typedef value_type *pointer; - typedef value_type const *const_pointer; - template - struct rebind - { - typedef mi_stl_allocator other; - }; +template struct mi_stl_allocator { + typedef T value_type; + typedef std::size_t size_type; + typedef std::ptrdiff_t difference_type; + typedef value_type& reference; + typedef value_type const& const_reference; + typedef value_type* pointer; + typedef value_type const* const_pointer; + template struct rebind { typedef mi_stl_allocator other; }; - mi_stl_allocator() mi_attr_noexcept = default; - mi_stl_allocator(const mi_stl_allocator &) mi_attr_noexcept = default; - template - mi_stl_allocator(const mi_stl_allocator &) mi_attr_noexcept {} - mi_stl_allocator select_on_container_copy_construction() const { return *this; } - void deallocate(T *p, size_type) { mi_free(p); } + mi_stl_allocator() mi_attr_noexcept = default; + mi_stl_allocator(const mi_stl_allocator&) mi_attr_noexcept = default; + template mi_stl_allocator(const mi_stl_allocator&) mi_attr_noexcept { } + mi_stl_allocator select_on_container_copy_construction() const { return *this; } + void deallocate(T* p, size_type) { mi_free(p); } -#if (__cplusplus >= 201703L) // C++17 - mi_decl_nodiscard T *allocate(size_type count) - { - return static_cast(mi_new_n(count, sizeof(T))); - } - mi_decl_nodiscard T *allocate(size_type count, const void *) { return allocate(count); } -#else - mi_decl_nodiscard pointer allocate(size_type count, const void * = 0) - { - return static_cast(mi_new_n(count, sizeof(value_type))); - } -#endif + #if (__cplusplus >= 201703L) // C++17 + mi_decl_nodiscard T* allocate(size_type count) { return static_cast(mi_new_n(count, sizeof(T))); } + mi_decl_nodiscard T* allocate(size_type count, const void*) { return allocate(count); } + #else + mi_decl_nodiscard pointer allocate(size_type count, const void* = 0) { return static_cast(mi_new_n(count, sizeof(value_type))); } + #endif -#if ((__cplusplus >= 201103L) || (_MSC_VER > 1900)) // C++11 + #if ((__cplusplus >= 201103L) || (_MSC_VER > 1900)) // C++11 using propagate_on_container_copy_assignment = std::true_type; using propagate_on_container_move_assignment = std::true_type; - using propagate_on_container_swap = std::true_type; - using is_always_equal = std::true_type; - template - void construct(U *p, Args &&...args) { ::new (p) U(std::forward(args)...); } - template - void destroy(U *p) mi_attr_noexcept { p->~U(); } -#else - void construct(pointer p, value_type const &val) - { - ::new (p) value_type(val); - } + using propagate_on_container_swap = std::true_type; + using is_always_equal = std::true_type; + template void construct(U* p, Args&& ...args) { ::new(p) U(std::forward(args)...); } + template void destroy(U* p) mi_attr_noexcept { p->~U(); } + #else + void construct(pointer p, value_type const& val) { ::new(p) value_type(val); } void destroy(pointer p) { p->~value_type(); } -#endif + #endif - size_type max_size() const mi_attr_noexcept - { - return (PTRDIFF_MAX / sizeof(value_type)); - } - pointer address(reference x) const { return &x; } - const_pointer address(const_reference x) const { return &x; } + size_type max_size() const mi_attr_noexcept { return (PTRDIFF_MAX/sizeof(value_type)); } + pointer address(reference x) const { return &x; } + const_pointer address(const_reference x) const { return &x; } }; -template -bool operator==(const mi_stl_allocator &, const mi_stl_allocator &) mi_attr_noexcept { return true; } -template -bool operator!=(const mi_stl_allocator &, const mi_stl_allocator &) mi_attr_noexcept { return false; } +template bool operator==(const mi_stl_allocator& , const mi_stl_allocator& ) mi_attr_noexcept { return true; } +template bool operator!=(const mi_stl_allocator& , const mi_stl_allocator& ) mi_attr_noexcept { return false; } #endif // __cplusplus #endif diff --git a/libmimalloc.a b/libmimalloc.a deleted file mode 100644 index cee4df9430f144df0698b66131466a0af85b0640..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196210 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 z 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 diff --git a/libmimalloc.so b/libmimalloc.so deleted file mode 120000 index 2f8a2656..00000000 --- a/libmimalloc.so +++ /dev/null @@ -1 +0,0 @@ -libmimalloc.so.1.7 \ No newline at end of file diff --git a/libmimalloc.so.1.7 b/libmimalloc.so.1.7 deleted file mode 100755 index 9aabf70a193e4e6a46934f6672c1116998032ee3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145688 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 diff --git a/mimalloc-test-stress b/mimalloc-test-stress deleted file mode 100755 index 39b6c6eea2c665f3a845757eddf42d3b1d8bbbac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21952 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 // memset, memcpy +#include // memset, memcpy #if defined(_MSC_VER) && (_MSC_VER < 1920) -#pragma warning(disable : 4204) // non-constant aggregate initializer +#pragma warning(disable:4204) // non-constant aggregate initializer #endif /* ----------------------------------------------------------- @@ -20,30 +20,26 @@ terms of the MIT license. A copy of the license can be found in the file ----------------------------------------------------------- */ // return `true` if ok, `false` to break -typedef bool(heap_page_visitor_fun)(mi_heap_t *heap, mi_page_queue_t *pq, mi_page_t *page, void *arg1, void *arg2); +typedef bool (heap_page_visitor_fun)(mi_heap_t* heap, mi_page_queue_t* pq, mi_page_t* page, void* arg1, void* arg2); // Visit all pages in a heap; returns `false` if break was called. -static bool mi_heap_visit_pages(mi_heap_t *heap, heap_page_visitor_fun *fn, void *arg1, void *arg2) +static bool mi_heap_visit_pages(mi_heap_t* heap, heap_page_visitor_fun* fn, void* arg1, void* arg2) { - if (heap == NULL || heap->page_count == 0) - return 0; + if (heap==NULL || heap->page_count==0) return 0; -// visit all pages -#if MI_DEBUG > 1 + // visit all pages + #if MI_DEBUG>1 size_t total = heap->page_count; -#endif + #endif size_t count = 0; - for (size_t i = 0; i <= MI_BIN_FULL; i++) - { - mi_page_queue_t *pq = &heap->pages[i]; - mi_page_t *page = pq->first; - while (page != NULL) - { - mi_page_t *next = page->next; // save next in case the page gets removed from the queue + for (size_t i = 0; i <= MI_BIN_FULL; i++) { + mi_page_queue_t* pq = &heap->pages[i]; + mi_page_t* page = pq->first; + while(page != NULL) { + mi_page_t* next = page->next; // save next in case the page gets removed from the queue mi_assert_internal(mi_page_heap(page) == heap); count++; - if (!fn(heap, pq, page, arg1, arg2)) - return false; + if (!fn(heap, pq, page, arg1, arg2)) return false; page = next; // and continue } } @@ -51,28 +47,30 @@ static bool mi_heap_visit_pages(mi_heap_t *heap, heap_page_visitor_fun *fn, void return true; } -#if MI_DEBUG >= 2 -static bool mi_heap_page_is_valid(mi_heap_t *heap, mi_page_queue_t *pq, mi_page_t *page, void *arg1, void *arg2) -{ + +#if MI_DEBUG>=2 +static bool mi_heap_page_is_valid(mi_heap_t* heap, mi_page_queue_t* pq, mi_page_t* page, void* arg1, void* arg2) { UNUSED(arg1); UNUSED(arg2); UNUSED(pq); mi_assert_internal(mi_page_heap(page) == heap); - mi_segment_t *segment = _mi_page_segment(page); + mi_segment_t* segment = _mi_page_segment(page); mi_assert_internal(segment->thread_id == heap->thread_id); mi_assert_expensive(_mi_page_is_valid(page)); return true; } #endif -#if MI_DEBUG >= 3 -static bool mi_heap_is_valid(mi_heap_t *heap) -{ - mi_assert_internal(heap != NULL); +#if MI_DEBUG>=3 +static bool mi_heap_is_valid(mi_heap_t* heap) { + mi_assert_internal(heap!=NULL); mi_heap_visit_pages(heap, &mi_heap_page_is_valid, NULL, NULL); return true; } #endif + + + /* ----------------------------------------------------------- "Collect" pages by migrating `local_free` and `thread_free` lists and freeing empty pages. This is done when a thread @@ -80,36 +78,32 @@ static bool mi_heap_is_valid(mi_heap_t *heap) blocks alive) ----------------------------------------------------------- */ -typedef enum mi_collect_e -{ +typedef enum mi_collect_e { MI_NORMAL, MI_FORCE, MI_ABANDON } mi_collect_t; -static bool mi_heap_page_collect(mi_heap_t *heap, mi_page_queue_t *pq, mi_page_t *page, void *arg_collect, void *arg2) -{ + +static bool mi_heap_page_collect(mi_heap_t* heap, mi_page_queue_t* pq, mi_page_t* page, void* arg_collect, void* arg2 ) { UNUSED(arg2); UNUSED(heap); mi_assert_internal(mi_heap_page_is_valid(heap, pq, page, NULL, NULL)); - mi_collect_t collect = *((mi_collect_t *)arg_collect); + mi_collect_t collect = *((mi_collect_t*)arg_collect); _mi_page_free_collect(page, collect >= MI_FORCE); - if (mi_page_all_free(page)) - { - // no more used blocks, free the page. + if (mi_page_all_free(page)) { + // no more used blocks, free the page. // note: this will free retired pages as well. _mi_page_free(page, pq, collect >= MI_FORCE); } - else if (collect == MI_ABANDON) - { + else if (collect == MI_ABANDON) { // still used blocks but the thread is done; abandon the page _mi_page_abandon(page, pq); } return true; // don't break } -static bool mi_heap_page_never_delayed_free(mi_heap_t *heap, mi_page_queue_t *pq, mi_page_t *page, void *arg1, void *arg2) -{ +static bool mi_heap_page_never_delayed_free(mi_heap_t* heap, mi_page_queue_t* pq, mi_page_t* page, void* arg1, void* arg2) { UNUSED(arg1); UNUSED(arg2); UNUSED(heap); @@ -118,29 +112,27 @@ static bool mi_heap_page_never_delayed_free(mi_heap_t *heap, mi_page_queue_t *pq return true; // don't break } -static void mi_heap_collect_ex(mi_heap_t *heap, mi_collect_t collect) +static void mi_heap_collect_ex(mi_heap_t* heap, mi_collect_t collect) { - if (heap == NULL || !mi_heap_is_initialized(heap)) - return; + if (heap==NULL || !mi_heap_is_initialized(heap)) return; _mi_deferred_free(heap, collect >= MI_FORCE); - // note: never reclaim on collect but leave it to threads that need storage to reclaim + // note: never reclaim on collect but leave it to threads that need storage to reclaim if ( -#ifdef NDEBUG + #ifdef NDEBUG collect == MI_FORCE -#else + #else collect >= MI_FORCE -#endif - && _mi_is_main_thread() && mi_heap_is_backing(heap) && !heap->no_reclaim) + #endif + && _mi_is_main_thread() && mi_heap_is_backing(heap) && !heap->no_reclaim) { // the main thread is abandoned (end-of-program), try to reclaim all abandoned segments. // if all memory is freed by now, all segments should be freed. _mi_abandoned_reclaim_all(heap, &heap->tld->segments); } - + // if abandoning, mark all pages to no longer add to delayed_free - if (collect == MI_ABANDON) - { + if (collect == MI_ABANDON) { mi_heap_visit_pages(heap, &mi_heap_page_never_delayed_free, NULL, NULL); } @@ -153,85 +145,74 @@ static void mi_heap_collect_ex(mi_heap_t *heap, mi_collect_t collect) // collect all pages owned by this thread mi_heap_visit_pages(heap, &mi_heap_page_collect, &collect, NULL); - mi_assert_internal(collect != MI_ABANDON || mi_atomic_load_ptr_acquire(mi_block_t, &heap->thread_delayed_free) == NULL); + mi_assert_internal( collect != MI_ABANDON || mi_atomic_load_ptr_acquire(mi_block_t,&heap->thread_delayed_free) == NULL ); // collect segment caches - if (collect >= MI_FORCE) - { + if (collect >= MI_FORCE) { _mi_segment_thread_collect(&heap->tld->segments); } // collect regions on program-exit (or shared library unload) - if (collect >= MI_FORCE && _mi_is_main_thread() && mi_heap_is_backing(heap)) - { + if (collect >= MI_FORCE && _mi_is_main_thread() && mi_heap_is_backing(heap)) { _mi_mem_collect(&heap->tld->os); } } -void _mi_heap_collect_abandon(mi_heap_t *heap) -{ +void _mi_heap_collect_abandon(mi_heap_t* heap) { mi_heap_collect_ex(heap, MI_ABANDON); } -void mi_heap_collect(mi_heap_t *heap, bool force) mi_attr_noexcept -{ +void mi_heap_collect(mi_heap_t* heap, bool force) mi_attr_noexcept { mi_heap_collect_ex(heap, (force ? MI_FORCE : MI_NORMAL)); } -void mi_collect(bool force) mi_attr_noexcept -{ +void mi_collect(bool force) mi_attr_noexcept { mi_heap_collect(mi_get_default_heap(), force); } + /* ----------------------------------------------------------- Heap new ----------------------------------------------------------- */ -mi_heap_t *mi_heap_get_default(void) -{ +mi_heap_t* mi_heap_get_default(void) { mi_thread_init(); return mi_get_default_heap(); } -mi_heap_t *mi_heap_get_backing(void) -{ - mi_heap_t *heap = mi_heap_get_default(); - mi_assert_internal(heap != NULL); - mi_heap_t *bheap = heap->tld->heap_backing; - mi_assert_internal(bheap != NULL); +mi_heap_t* mi_heap_get_backing(void) { + mi_heap_t* heap = mi_heap_get_default(); + mi_assert_internal(heap!=NULL); + mi_heap_t* bheap = heap->tld->heap_backing; + mi_assert_internal(bheap!=NULL); mi_assert_internal(bheap->thread_id == _mi_thread_id()); return bheap; } -mi_heap_t *mi_heap_new(void) -{ - mi_heap_t *bheap = mi_heap_get_backing(); - mi_heap_t *heap = mi_heap_malloc_tp(bheap, mi_heap_t); // todo: OS allocate in secure mode? - if (heap == NULL) - return NULL; +mi_heap_t* mi_heap_new(void) { + mi_heap_t* bheap = mi_heap_get_backing(); + mi_heap_t* heap = mi_heap_malloc_tp(bheap, mi_heap_t); // todo: OS allocate in secure mode? + if (heap==NULL) return NULL; _mi_memcpy_aligned(heap, &_mi_heap_empty, sizeof(mi_heap_t)); heap->tld = bheap->tld; heap->thread_id = _mi_thread_id(); _mi_random_split(&bheap->random, &heap->random); - heap->cookie = _mi_heap_random_next(heap) | 1; + heap->cookie = _mi_heap_random_next(heap) | 1; heap->keys[0] = _mi_heap_random_next(heap); heap->keys[1] = _mi_heap_random_next(heap); - heap->no_reclaim = true; // don't reclaim abandoned pages or otherwise destroy is unsafe + heap->no_reclaim = true; // don't reclaim abandoned pages or otherwise destroy is unsafe // push on the thread local heaps list heap->next = heap->tld->heaps; heap->tld->heaps = heap; - heap->deferred_free = NULL; return heap; } -uintptr_t _mi_heap_random_next(mi_heap_t *heap) -{ +uintptr_t _mi_heap_random_next(mi_heap_t* heap) { return _mi_random_next(&heap->random); } // zero out the page queues -static void mi_heap_reset_pages(mi_heap_t *heap) -{ +static void mi_heap_reset_pages(mi_heap_t* heap) { mi_assert_internal(heap != NULL); mi_assert_internal(mi_heap_is_initialized(heap)); // TODO: copy full empty heap instead? @@ -245,41 +226,29 @@ static void mi_heap_reset_pages(mi_heap_t *heap) } // called from `mi_heap_destroy` and `mi_heap_delete` to free the internal heap resources. -static void mi_heap_free(mi_heap_t *heap) -{ +static void mi_heap_free(mi_heap_t* heap) { mi_assert(heap != NULL); mi_assert_internal(mi_heap_is_initialized(heap)); - if (heap == NULL || !mi_heap_is_initialized(heap)) - return; - if (mi_heap_is_backing(heap)) - return; // dont free the backing heap + if (heap==NULL || !mi_heap_is_initialized(heap)) return; + if (mi_heap_is_backing(heap)) return; // dont free the backing heap // reset default - if (mi_heap_is_default(heap)) - { + if (mi_heap_is_default(heap)) { _mi_heap_set_default_direct(heap->tld->heap_backing); } // remove ourselves from the thread local heaps list // linear search but we expect the number of heaps to be relatively small - mi_heap_t *prev = NULL; - mi_heap_t *curr = heap->tld->heaps; - while (curr != heap && curr != NULL) - { + mi_heap_t* prev = NULL; + mi_heap_t* curr = heap->tld->heaps; + while (curr != heap && curr != NULL) { prev = curr; curr = curr->next; } mi_assert_internal(curr == heap); - if (curr == heap) - { - if (prev != NULL) - { - prev->next = heap->next; - } - else - { - heap->tld->heaps = heap->next; - } + if (curr == heap) { + if (prev != NULL) { prev->next = heap->next; } + else { heap->tld->heaps = heap->next; } } mi_assert_internal(heap->tld->heaps != NULL); @@ -287,12 +256,12 @@ static void mi_heap_free(mi_heap_t *heap) mi_free(heap); } + /* ----------------------------------------------------------- Heap destroy ----------------------------------------------------------- */ -static bool _mi_heap_page_destroy(mi_heap_t *heap, mi_page_queue_t *pq, mi_page_t *page, void *arg1, void *arg2) -{ +static bool _mi_heap_page_destroy(mi_heap_t* heap, mi_page_queue_t* pq, mi_page_t* page, void* arg1, void* arg2) { UNUSED(arg1); UNUSED(arg2); UNUSED(heap); @@ -303,28 +272,24 @@ static bool _mi_heap_page_destroy(mi_heap_t *heap, mi_page_queue_t *pq, mi_page_ // stats const size_t bsize = mi_page_block_size(page); - if (bsize > MI_LARGE_OBJ_SIZE_MAX) - { - if (bsize > MI_HUGE_OBJ_SIZE_MAX) - { + if (bsize > MI_LARGE_OBJ_SIZE_MAX) { + if (bsize > MI_HUGE_OBJ_SIZE_MAX) { mi_heap_stat_decrease(heap, giant, bsize); } - else - { + else { mi_heap_stat_decrease(heap, huge, bsize); } } #if (MI_STAT) - _mi_page_free_collect(page, false); // update used count + _mi_page_free_collect(page, false); // update used count const size_t inuse = page->used; - if (bsize <= MI_LARGE_OBJ_SIZE_MAX) - { + if (bsize <= MI_LARGE_OBJ_SIZE_MAX) { mi_heap_stat_decrease(heap, normal, bsize * inuse); -#if (MI_STAT > 1) +#if (MI_STAT>1) mi_heap_stat_decrease(heap, normal_bins[_mi_bin(bsize)], inuse); #endif } - mi_heap_stat_decrease(heap, malloc, bsize * inuse); // todo: off for aligned blocks... + mi_heap_stat_decrease(heap, malloc, bsize * inuse); // todo: off for aligned blocks... #endif /// pretend it is all free now @@ -335,163 +300,146 @@ static bool _mi_heap_page_destroy(mi_heap_t *heap, mi_page_queue_t *pq, mi_page_ // mi_page_free(page,false); page->next = NULL; page->prev = NULL; - _mi_segment_page_free(page, false /* no force? */, &heap->tld->segments); + _mi_segment_page_free(page,false /* no force? */, &heap->tld->segments); return true; // keep going } -void _mi_heap_destroy_pages(mi_heap_t *heap) -{ +void _mi_heap_destroy_pages(mi_heap_t* heap) { mi_heap_visit_pages(heap, &_mi_heap_page_destroy, NULL, NULL); mi_heap_reset_pages(heap); } -void mi_heap_destroy(mi_heap_t *heap) -{ +void mi_heap_destroy(mi_heap_t* heap) { mi_assert(heap != NULL); mi_assert(mi_heap_is_initialized(heap)); mi_assert(heap->no_reclaim); mi_assert_expensive(mi_heap_is_valid(heap)); - if (heap == NULL || !mi_heap_is_initialized(heap)) - return; - if (!heap->no_reclaim) - { + if (heap==NULL || !mi_heap_is_initialized(heap)) return; + if (!heap->no_reclaim) { // don't free in case it may contain reclaimed pages mi_heap_delete(heap); } - else - { + else { // free all pages _mi_heap_destroy_pages(heap); mi_heap_free(heap); } } + + /* ----------------------------------------------------------- Safe Heap delete ----------------------------------------------------------- */ // Tranfer the pages from one heap to the other -static void mi_heap_absorb(mi_heap_t *heap, mi_heap_t *from) -{ - mi_assert_internal(heap != NULL); - if (from == NULL || from->page_count == 0) - return; +static void mi_heap_absorb(mi_heap_t* heap, mi_heap_t* from) { + mi_assert_internal(heap!=NULL); + if (from==NULL || from->page_count == 0) return; // reduce the size of the delayed frees _mi_heap_delayed_free(from); - - // transfer all pages by appending the queues; this will set a new heap field + + // transfer all pages by appending the queues; this will set a new heap field // so threads may do delayed frees in either heap for a while. // note: appending waits for each page to not be in the `MI_DELAYED_FREEING` state // so after this only the new heap will get delayed frees - for (size_t i = 0; i <= MI_BIN_FULL; i++) - { - mi_page_queue_t *pq = &heap->pages[i]; - mi_page_queue_t *append = &from->pages[i]; + for (size_t i = 0; i <= MI_BIN_FULL; i++) { + mi_page_queue_t* pq = &heap->pages[i]; + mi_page_queue_t* append = &from->pages[i]; size_t pcount = _mi_page_queue_append(heap, pq, append); heap->page_count += pcount; from->page_count -= pcount; } mi_assert_internal(from->page_count == 0); - // and do outstanding delayed frees in the `from` heap + // and do outstanding delayed frees in the `from` heap // note: be careful here as the `heap` field in all those pages no longer point to `from`, - // turns out to be ok as `_mi_heap_delayed_free` only visits the list and calls a + // turns out to be ok as `_mi_heap_delayed_free` only visits the list and calls a // the regular `_mi_free_delayed_block` which is safe. - _mi_heap_delayed_free(from); - mi_assert_internal(mi_atomic_load_ptr_relaxed(mi_block_t, &from->thread_delayed_free) == NULL); + _mi_heap_delayed_free(from); + mi_assert_internal(mi_atomic_load_ptr_relaxed(mi_block_t,&from->thread_delayed_free) == NULL); // and reset the `from` heap - mi_heap_reset_pages(from); + mi_heap_reset_pages(from); } // Safe delete a heap without freeing any still allocated blocks in that heap. -void mi_heap_delete(mi_heap_t *heap) +void mi_heap_delete(mi_heap_t* heap) { mi_assert(heap != NULL); mi_assert(mi_heap_is_initialized(heap)); mi_assert_expensive(mi_heap_is_valid(heap)); - if (heap == NULL || !mi_heap_is_initialized(heap)) - return; + if (heap==NULL || !mi_heap_is_initialized(heap)) return; - if (!mi_heap_is_backing(heap)) - { + if (!mi_heap_is_backing(heap)) { // tranfer still used pages to the backing heap mi_heap_absorb(heap->tld->heap_backing, heap); } - else - { + else { // the backing heap abandons its pages _mi_heap_collect_abandon(heap); } - mi_assert_internal(heap->page_count == 0); + mi_assert_internal(heap->page_count==0); mi_heap_free(heap); } -mi_heap_t *mi_heap_set_default(mi_heap_t *heap) -{ +mi_heap_t* mi_heap_set_default(mi_heap_t* heap) { mi_assert(heap != NULL); mi_assert(mi_heap_is_initialized(heap)); - if (heap == NULL || !mi_heap_is_initialized(heap)) - return NULL; + if (heap==NULL || !mi_heap_is_initialized(heap)) return NULL; mi_assert_expensive(mi_heap_is_valid(heap)); - mi_heap_t *old = mi_get_default_heap(); + mi_heap_t* old = mi_get_default_heap(); _mi_heap_set_default_direct(heap); return old; } + + + /* ----------------------------------------------------------- Analysis ----------------------------------------------------------- */ // static since it is not thread safe to access heaps from other threads. -static mi_heap_t *mi_heap_of_block(const void *p) -{ - if (p == NULL) - return NULL; - mi_segment_t *segment = _mi_ptr_segment(p); +static mi_heap_t* mi_heap_of_block(const void* p) { + if (p == NULL) return NULL; + mi_segment_t* segment = _mi_ptr_segment(p); bool valid = (_mi_ptr_cookie(segment) == segment->cookie); mi_assert_internal(valid); - if (mi_unlikely(!valid)) - return NULL; - return mi_page_heap(_mi_segment_page_of(segment, p)); + if (mi_unlikely(!valid)) return NULL; + return mi_page_heap(_mi_segment_page_of(segment,p)); } -bool mi_heap_contains_block(mi_heap_t *heap, const void *p) -{ +bool mi_heap_contains_block(mi_heap_t* heap, const void* p) { mi_assert(heap != NULL); - if (heap == NULL || !mi_heap_is_initialized(heap)) - return false; + if (heap==NULL || !mi_heap_is_initialized(heap)) return false; return (heap == mi_heap_of_block(p)); } -static bool mi_heap_page_check_owned(mi_heap_t *heap, mi_page_queue_t *pq, mi_page_t *page, void *p, void *vfound) -{ + +static bool mi_heap_page_check_owned(mi_heap_t* heap, mi_page_queue_t* pq, mi_page_t* page, void* p, void* vfound) { UNUSED(heap); UNUSED(pq); - bool *found = (bool *)vfound; - mi_segment_t *segment = _mi_page_segment(page); - void *start = _mi_page_start(segment, page, NULL); - void *end = (uint8_t *)start + (page->capacity * mi_page_block_size(page)); + bool* found = (bool*)vfound; + mi_segment_t* segment = _mi_page_segment(page); + void* start = _mi_page_start(segment, page, NULL); + void* end = (uint8_t*)start + (page->capacity * mi_page_block_size(page)); *found = (p >= start && p < end); return (!*found); // continue if not found } -bool mi_heap_check_owned(mi_heap_t *heap, const void *p) -{ +bool mi_heap_check_owned(mi_heap_t* heap, const void* p) { mi_assert(heap != NULL); - if (heap == NULL || !mi_heap_is_initialized(heap)) - return false; - if (((uintptr_t)p & (MI_INTPTR_SIZE - 1)) != 0) - return false; // only aligned pointers + if (heap==NULL || !mi_heap_is_initialized(heap)) return false; + if (((uintptr_t)p & (MI_INTPTR_SIZE - 1)) != 0) return false; // only aligned pointers bool found = false; - mi_heap_visit_pages(heap, &mi_heap_page_check_owned, (void *)p, &found); + mi_heap_visit_pages(heap, &mi_heap_page_check_owned, (void*)p, &found); return found; } -bool mi_check_owned(const void *p) -{ +bool mi_check_owned(const void* p) { return mi_heap_check_owned(mi_get_default_heap(), p); } @@ -502,53 +450,46 @@ bool mi_check_owned(const void *p) ----------------------------------------------------------- */ // Separate struct to keep `mi_page_t` out of the public interface -typedef struct mi_heap_area_ex_s -{ +typedef struct mi_heap_area_ex_s { mi_heap_area_t area; - mi_page_t *page; + mi_page_t* page; } mi_heap_area_ex_t; -static bool mi_heap_area_visit_blocks(const mi_heap_area_ex_t *xarea, mi_block_visit_fun *visitor, void *arg) -{ +static bool mi_heap_area_visit_blocks(const mi_heap_area_ex_t* xarea, mi_block_visit_fun* visitor, void* arg) { mi_assert(xarea != NULL); - if (xarea == NULL) - return true; - const mi_heap_area_t *area = &xarea->area; - mi_page_t *page = xarea->page; + if (xarea==NULL) return true; + const mi_heap_area_t* area = &xarea->area; + mi_page_t* page = xarea->page; mi_assert(page != NULL); - if (page == NULL) - return true; + if (page == NULL) return true; - _mi_page_free_collect(page, true); + _mi_page_free_collect(page,true); mi_assert_internal(page->local_free == NULL); - if (page->used == 0) - return true; + if (page->used == 0) return true; const size_t bsize = mi_page_block_size(page); - size_t psize; - uint8_t *pstart = _mi_page_start(_mi_page_segment(page), page, &psize); + size_t psize; + uint8_t* pstart = _mi_page_start(_mi_page_segment(page), page, &psize); - if (page->capacity == 1) - { + if (page->capacity == 1) { // optimize page with one block mi_assert_internal(page->used == 1 && page->free == NULL); return visitor(mi_page_heap(page), area, pstart, bsize, arg); } -// create a bitmap of free blocks. -#define MI_MAX_BLOCKS (MI_SMALL_PAGE_SIZE / sizeof(void *)) + // create a bitmap of free blocks. + #define MI_MAX_BLOCKS (MI_SMALL_PAGE_SIZE / sizeof(void*)) uintptr_t free_map[MI_MAX_BLOCKS / sizeof(uintptr_t)]; memset(free_map, 0, sizeof(free_map)); size_t free_count = 0; - for (mi_block_t *block = page->free; block != NULL; block = mi_block_next(page, block)) - { + for (mi_block_t* block = page->free; block != NULL; block = mi_block_next(page,block)) { free_count++; - mi_assert_internal((uint8_t *)block >= pstart && (uint8_t *)block < (pstart + psize)); - size_t offset = (uint8_t *)block - pstart; + mi_assert_internal((uint8_t*)block >= pstart && (uint8_t*)block < (pstart + psize)); + size_t offset = (uint8_t*)block - pstart; mi_assert_internal(offset % bsize == 0); - size_t blockidx = offset / bsize; // Todo: avoid division? - mi_assert_internal(blockidx < MI_MAX_BLOCKS); + size_t blockidx = offset / bsize; // Todo: avoid division? + mi_assert_internal( blockidx < MI_MAX_BLOCKS); size_t bitidx = (blockidx / sizeof(uintptr_t)); size_t bit = blockidx - (bitidx * sizeof(uintptr_t)); free_map[bitidx] |= ((uintptr_t)1 << bit); @@ -557,34 +498,30 @@ static bool mi_heap_area_visit_blocks(const mi_heap_area_ex_t *xarea, mi_block_v // walk through all blocks skipping the free ones size_t used_count = 0; - for (size_t i = 0; i < page->capacity; i++) - { + for (size_t i = 0; i < page->capacity; i++) { size_t bitidx = (i / sizeof(uintptr_t)); size_t bit = i - (bitidx * sizeof(uintptr_t)); uintptr_t m = free_map[bitidx]; - if (bit == 0 && m == UINTPTR_MAX) - { + if (bit == 0 && m == UINTPTR_MAX) { i += (sizeof(uintptr_t) - 1); // skip a run of free blocks } - else if ((m & ((uintptr_t)1 << bit)) == 0) - { + else if ((m & ((uintptr_t)1 << bit)) == 0) { used_count++; - uint8_t *block = pstart + (i * bsize); - if (!visitor(mi_page_heap(page), area, block, bsize, arg)) - return false; + uint8_t* block = pstart + (i * bsize); + if (!visitor(mi_page_heap(page), area, block, bsize, arg)) return false; } } mi_assert_internal(page->used == used_count); return true; } -typedef bool(mi_heap_area_visit_fun)(const mi_heap_t *heap, const mi_heap_area_ex_t *area, void *arg); +typedef bool (mi_heap_area_visit_fun)(const mi_heap_t* heap, const mi_heap_area_ex_t* area, void* arg); -static bool mi_heap_visit_areas_page(mi_heap_t *heap, mi_page_queue_t *pq, mi_page_t *page, void *vfun, void *arg) -{ + +static bool mi_heap_visit_areas_page(mi_heap_t* heap, mi_page_queue_t* pq, mi_page_t* page, void* vfun, void* arg) { UNUSED(heap); UNUSED(pq); - mi_heap_area_visit_fun *fun = (mi_heap_area_visit_fun *)vfun; + mi_heap_area_visit_fun* fun = (mi_heap_area_visit_fun*)vfun; mi_heap_area_ex_t xarea; const size_t bsize = mi_page_block_size(page); xarea.page = page; @@ -597,45 +534,31 @@ static bool mi_heap_visit_areas_page(mi_heap_t *heap, mi_page_queue_t *pq, mi_pa } // Visit all heap pages as areas -static bool mi_heap_visit_areas(const mi_heap_t *heap, mi_heap_area_visit_fun *visitor, void *arg) -{ - if (visitor == NULL) - return false; - return mi_heap_visit_pages((mi_heap_t *)heap, &mi_heap_visit_areas_page, (void *)(visitor), arg); // note: function pointer to void* :-{ +static bool mi_heap_visit_areas(const mi_heap_t* heap, mi_heap_area_visit_fun* visitor, void* arg) { + if (visitor == NULL) return false; + return mi_heap_visit_pages((mi_heap_t*)heap, &mi_heap_visit_areas_page, (void*)(visitor), arg); // note: function pointer to void* :-{ } // Just to pass arguments -typedef struct mi_visit_blocks_args_s -{ - bool visit_blocks; - mi_block_visit_fun *visitor; - void *arg; +typedef struct mi_visit_blocks_args_s { + bool visit_blocks; + mi_block_visit_fun* visitor; + void* arg; } mi_visit_blocks_args_t; -static bool mi_heap_area_visitor(const mi_heap_t *heap, const mi_heap_area_ex_t *xarea, void *arg) -{ - mi_visit_blocks_args_t *args = (mi_visit_blocks_args_t *)arg; - if (!args->visitor(heap, &xarea->area, NULL, xarea->area.block_size, args->arg)) - return false; - if (args->visit_blocks) - { +static bool mi_heap_area_visitor(const mi_heap_t* heap, const mi_heap_area_ex_t* xarea, void* arg) { + mi_visit_blocks_args_t* args = (mi_visit_blocks_args_t*)arg; + if (!args->visitor(heap, &xarea->area, NULL, xarea->area.block_size, args->arg)) return false; + if (args->visit_blocks) { return mi_heap_area_visit_blocks(xarea, args->visitor, args->arg); } - else - { + else { return true; } } // Visit all blocks in a heap -bool mi_heap_visit_blocks(const mi_heap_t *heap, bool visit_blocks, mi_block_visit_fun *visitor, void *arg) -{ - mi_visit_blocks_args_t args = {visit_blocks, visitor, arg}; +bool mi_heap_visit_blocks(const mi_heap_t* heap, bool visit_blocks, mi_block_visit_fun* visitor, void* arg) { + mi_visit_blocks_args_t args = { visit_blocks, visitor, arg }; return mi_heap_visit_areas(heap, &mi_heap_area_visitor, &args); } - -void mi_heap_register_local_deferred_free(mi_heap_t *heap, mi_local_deferred_free_fun *deferred_free, void *arg) -{ - heap->deferred_free = (void *)deferred_free; - heap->deferred_arg = arg; -} \ No newline at end of file diff --git a/src/init.c b/src/init.c index fe14ecf2..f635cf98 100644 --- a/src/init.c +++ b/src/init.c @@ -7,92 +7,76 @@ terms of the MIT license. A copy of the license can be found in the file #include "mimalloc.h" #include "mimalloc-internal.h" -#include // memcpy, memset -#include // atexit +#include // memcpy, memset +#include // atexit // Empty page used to initialize the small free pages array const mi_page_t _mi_page_empty = { - 0, false, false, false, false, - 0, // capacity - 0, // reserved capacity - {0}, // flags - false, // is_zero - 0, // retire_expire - NULL, // free -#if MI_ENCODE_FREELIST - {0, 0}, -#endif - 0, // used - 0, // xblock_size - NULL, // local_free - ATOMIC_VAR_INIT(0), // xthread_free - ATOMIC_VAR_INIT(0), // xheap - NULL, - NULL}; + 0, false, false, false, false, + 0, // capacity + 0, // reserved capacity + { 0 }, // flags + false, // is_zero + 0, // retire_expire + NULL, // free + #if MI_ENCODE_FREELIST + { 0, 0 }, + #endif + 0, // used + 0, // xblock_size + NULL, // local_free + ATOMIC_VAR_INIT(0), // xthread_free + ATOMIC_VAR_INIT(0), // xheap + NULL, NULL +}; -#define MI_PAGE_EMPTY() ((mi_page_t *)&_mi_page_empty) +#define MI_PAGE_EMPTY() ((mi_page_t*)&_mi_page_empty) -#if (MI_PADDING > 0) && (MI_INTPTR_SIZE >= 8) -#define MI_SMALL_PAGES_EMPTY \ - { \ - MI_INIT128(MI_PAGE_EMPTY), MI_PAGE_EMPTY(), MI_PAGE_EMPTY() \ - } -#elif (MI_PADDING > 0) -#define MI_SMALL_PAGES_EMPTY \ - { \ - MI_INIT128(MI_PAGE_EMPTY), MI_PAGE_EMPTY(), MI_PAGE_EMPTY(), MI_PAGE_EMPTY() \ - } +#if (MI_PADDING>0) && (MI_INTPTR_SIZE >= 8) +#define MI_SMALL_PAGES_EMPTY { MI_INIT128(MI_PAGE_EMPTY), MI_PAGE_EMPTY(), MI_PAGE_EMPTY() } +#elif (MI_PADDING>0) +#define MI_SMALL_PAGES_EMPTY { MI_INIT128(MI_PAGE_EMPTY), MI_PAGE_EMPTY(), MI_PAGE_EMPTY(), MI_PAGE_EMPTY() } #else -#define MI_SMALL_PAGES_EMPTY \ - { \ - MI_INIT128(MI_PAGE_EMPTY), MI_PAGE_EMPTY() \ - } +#define MI_SMALL_PAGES_EMPTY { MI_INIT128(MI_PAGE_EMPTY), MI_PAGE_EMPTY() } #endif + // Empty page queues for every bin -#define QNULL(sz) \ - { \ - NULL, NULL, (sz) * sizeof(uintptr_t) \ - } -#define MI_PAGE_QUEUES_EMPTY \ - { \ - QNULL(1), \ - QNULL(1), QNULL(2), QNULL(3), QNULL(4), QNULL(5), QNULL(6), QNULL(7), QNULL(8), /* 8 */ \ - QNULL(10), QNULL(12), QNULL(14), QNULL(16), QNULL(20), QNULL(24), QNULL(28), QNULL(32), /* 16 */ \ - QNULL(40), QNULL(48), QNULL(56), QNULL(64), QNULL(80), QNULL(96), QNULL(112), QNULL(128), /* 24 */ \ - QNULL(160), QNULL(192), QNULL(224), QNULL(256), QNULL(320), QNULL(384), QNULL(448), QNULL(512), /* 32 */ \ - QNULL(640), QNULL(768), QNULL(896), QNULL(1024), QNULL(1280), QNULL(1536), QNULL(1792), QNULL(2048), /* 40 */ \ - QNULL(2560), QNULL(3072), QNULL(3584), QNULL(4096), QNULL(5120), QNULL(6144), QNULL(7168), QNULL(8192), /* 48 */ \ - QNULL(10240), QNULL(12288), QNULL(14336), QNULL(16384), QNULL(20480), QNULL(24576), QNULL(28672), QNULL(32768), /* 56 */ \ - QNULL(40960), QNULL(49152), QNULL(57344), QNULL(65536), QNULL(81920), QNULL(98304), QNULL(114688), QNULL(131072), /* 64 */ \ - QNULL(163840), QNULL(196608), QNULL(229376), QNULL(262144), QNULL(327680), QNULL(393216), QNULL(458752), QNULL(524288), /* 72 */ \ - QNULL(MI_LARGE_OBJ_WSIZE_MAX + 1 /* 655360, Huge queue */), \ - QNULL(MI_LARGE_OBJ_WSIZE_MAX + 2) /* Full queue */ \ - } +#define QNULL(sz) { NULL, NULL, (sz)*sizeof(uintptr_t) } +#define MI_PAGE_QUEUES_EMPTY \ + { QNULL(1), \ + QNULL( 1), QNULL( 2), QNULL( 3), QNULL( 4), QNULL( 5), QNULL( 6), QNULL( 7), QNULL( 8), /* 8 */ \ + QNULL( 10), QNULL( 12), QNULL( 14), QNULL( 16), QNULL( 20), QNULL( 24), QNULL( 28), QNULL( 32), /* 16 */ \ + QNULL( 40), QNULL( 48), QNULL( 56), QNULL( 64), QNULL( 80), QNULL( 96), QNULL( 112), QNULL( 128), /* 24 */ \ + QNULL( 160), QNULL( 192), QNULL( 224), QNULL( 256), QNULL( 320), QNULL( 384), QNULL( 448), QNULL( 512), /* 32 */ \ + QNULL( 640), QNULL( 768), QNULL( 896), QNULL( 1024), QNULL( 1280), QNULL( 1536), QNULL( 1792), QNULL( 2048), /* 40 */ \ + QNULL( 2560), QNULL( 3072), QNULL( 3584), QNULL( 4096), QNULL( 5120), QNULL( 6144), QNULL( 7168), QNULL( 8192), /* 48 */ \ + QNULL( 10240), QNULL( 12288), QNULL( 14336), QNULL( 16384), QNULL( 20480), QNULL( 24576), QNULL( 28672), QNULL( 32768), /* 56 */ \ + QNULL( 40960), QNULL( 49152), QNULL( 57344), QNULL( 65536), QNULL( 81920), QNULL( 98304), QNULL(114688), QNULL(131072), /* 64 */ \ + QNULL(163840), QNULL(196608), QNULL(229376), QNULL(262144), QNULL(327680), QNULL(393216), QNULL(458752), QNULL(524288), /* 72 */ \ + QNULL(MI_LARGE_OBJ_WSIZE_MAX + 1 /* 655360, Huge queue */), \ + QNULL(MI_LARGE_OBJ_WSIZE_MAX + 2) /* Full queue */ } -#define MI_STAT_COUNT_NULL() \ - { \ - 0, 0, 0, 0 \ - } +#define MI_STAT_COUNT_NULL() {0,0,0,0} // Empty statistics -#if MI_STAT > 1 -#define MI_STAT_COUNT_END_NULL() \ - , { MI_STAT_COUNT_NULL(), MI_INIT32(MI_STAT_COUNT_NULL) } +#if MI_STAT>1 +#define MI_STAT_COUNT_END_NULL() , { MI_STAT_COUNT_NULL(), MI_INIT32(MI_STAT_COUNT_NULL) } #else #define MI_STAT_COUNT_END_NULL() #endif -#define MI_STATS_NULL \ - MI_STAT_COUNT_NULL(), MI_STAT_COUNT_NULL(), \ - MI_STAT_COUNT_NULL(), MI_STAT_COUNT_NULL(), \ - MI_STAT_COUNT_NULL(), MI_STAT_COUNT_NULL(), \ - MI_STAT_COUNT_NULL(), MI_STAT_COUNT_NULL(), \ - MI_STAT_COUNT_NULL(), MI_STAT_COUNT_NULL(), \ - MI_STAT_COUNT_NULL(), MI_STAT_COUNT_NULL(), \ - MI_STAT_COUNT_NULL(), MI_STAT_COUNT_NULL(), \ - {0, 0}, {0, 0}, {0, 0}, {0, 0}, \ - {0, 0}, {0, 0}, {0, 0}, {0, 0} MI_STAT_COUNT_END_NULL() +#define MI_STATS_NULL \ + MI_STAT_COUNT_NULL(), MI_STAT_COUNT_NULL(), \ + MI_STAT_COUNT_NULL(), MI_STAT_COUNT_NULL(), \ + MI_STAT_COUNT_NULL(), MI_STAT_COUNT_NULL(), \ + MI_STAT_COUNT_NULL(), MI_STAT_COUNT_NULL(), \ + MI_STAT_COUNT_NULL(), MI_STAT_COUNT_NULL(), \ + MI_STAT_COUNT_NULL(), MI_STAT_COUNT_NULL(), \ + MI_STAT_COUNT_NULL(), MI_STAT_COUNT_NULL(), \ + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, \ + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } \ + MI_STAT_COUNT_END_NULL() // -------------------------------------------------------- // Statically allocate an empty heap as the initial @@ -104,58 +88,58 @@ const mi_page_t _mi_page_empty = { // -------------------------------------------------------- mi_decl_cache_align const mi_heap_t _mi_heap_empty = { - NULL, - MI_SMALL_PAGES_EMPTY, - MI_PAGE_QUEUES_EMPTY, - ATOMIC_VAR_INIT(NULL), - 0, // tid - 0, // cookie - {0, 0}, // keys - {{0}, {0}, 0}, - 0, // page count - MI_BIN_FULL, - 0, // page retired min/max - NULL, // next - false, - 0, - 0}; + NULL, + MI_SMALL_PAGES_EMPTY, + MI_PAGE_QUEUES_EMPTY, + ATOMIC_VAR_INIT(NULL), + 0, // tid + 0, // cookie + { 0, 0 }, // keys + { {0}, {0}, 0 }, + 0, // page count + MI_BIN_FULL, 0, // page retired min/max + NULL, // next + false +}; // the thread-local default heap for allocation -mi_decl_thread mi_heap_t *_mi_heap_default = (mi_heap_t *)&_mi_heap_empty; +mi_decl_thread mi_heap_t* _mi_heap_default = (mi_heap_t*)&_mi_heap_empty; extern mi_heap_t _mi_heap_main; static mi_tld_t tld_main = { - 0, false, &_mi_heap_main, &_mi_heap_main, {{NULL, NULL}, {NULL, NULL}, {NULL, NULL, 0}, 0, 0, 0, 0, 0, 0, NULL, &tld_main.stats, &tld_main.os}, // segments - {0, &tld_main.stats}, // os - {MI_STATS_NULL} // stats + 0, false, + &_mi_heap_main, &_mi_heap_main, + { { NULL, NULL }, {NULL ,NULL}, {NULL ,NULL, 0}, + 0, 0, 0, 0, 0, 0, NULL, + &tld_main.stats, &tld_main.os + }, // segments + { 0, &tld_main.stats }, // os + { MI_STATS_NULL } // stats }; mi_heap_t _mi_heap_main = { - &tld_main, - MI_SMALL_PAGES_EMPTY, - MI_PAGE_QUEUES_EMPTY, - ATOMIC_VAR_INIT(NULL), - 0, // thread id - 0, // initial cookie - {0, 0}, // the key of the main heap can be fixed (unlike page keys that need to be secure!) - {{0x846ca68b}, {0}, 0}, // random - 0, // page count - MI_BIN_FULL, - 0, // page retired min/max - NULL, // next heap - false, // can reclaim - 0, - 0}; + &tld_main, + MI_SMALL_PAGES_EMPTY, + MI_PAGE_QUEUES_EMPTY, + ATOMIC_VAR_INIT(NULL), + 0, // thread id + 0, // initial cookie + { 0, 0 }, // the key of the main heap can be fixed (unlike page keys that need to be secure!) + { {0x846ca68b}, {0}, 0 }, // random + 0, // page count + MI_BIN_FULL, 0, // page retired min/max + NULL, // next heap + false // can reclaim +}; -bool _mi_process_is_initialized = false; // set to `true` in `mi_process_init`. +bool _mi_process_is_initialized = false; // set to `true` in `mi_process_init`. -mi_stats_t _mi_stats_main = {MI_STATS_NULL}; +mi_stats_t _mi_stats_main = { MI_STATS_NULL }; -static void mi_heap_main_init(void) -{ - if (_mi_heap_main.cookie == 0) - { + +static void mi_heap_main_init(void) { + if (_mi_heap_main.cookie == 0) { _mi_heap_main.thread_id = _mi_thread_id(); _mi_heap_main.cookie = _os_random_weak((uintptr_t)&mi_heap_main_init); _mi_random_init(&_mi_heap_main.random); @@ -164,58 +148,51 @@ static void mi_heap_main_init(void) } } -mi_heap_t *_mi_heap_main_get(void) -{ +mi_heap_t* _mi_heap_main_get(void) { mi_heap_main_init(); return &_mi_heap_main; } + /* ----------------------------------------------------------- Initialization and freeing of the thread local heaps ----------------------------------------------------------- */ // note: in x64 in release build `sizeof(mi_thread_data_t)` is under 4KiB (= OS page size). -typedef struct mi_thread_data_s -{ - mi_heap_t heap; // must come first due to cast in `_mi_heap_done` - mi_tld_t tld; +typedef struct mi_thread_data_s { + mi_heap_t heap; // must come first due to cast in `_mi_heap_done` + mi_tld_t tld; } mi_thread_data_t; // Initialize the thread local default heap, called from `mi_thread_init` -static bool _mi_heap_init(void) -{ - if (mi_heap_is_initialized(mi_get_default_heap())) - return true; - if (_mi_is_main_thread()) - { +static bool _mi_heap_init(void) { + if (mi_heap_is_initialized(mi_get_default_heap())) return true; + if (_mi_is_main_thread()) { // mi_assert_internal(_mi_heap_main.thread_id != 0); // can happen on freeBSD where alloc is called before any initialization // the main heap is statically allocated mi_heap_main_init(); _mi_heap_set_default_direct(&_mi_heap_main); //mi_assert_internal(_mi_heap_default->tld->heap_backing == mi_get_default_heap()); } - else - { + else { // use `_mi_os_alloc` to allocate directly from the OS - mi_thread_data_t *td = (mi_thread_data_t *)_mi_os_alloc(sizeof(mi_thread_data_t), &_mi_stats_main); // Todo: more efficient allocation? - if (td == NULL) - { + mi_thread_data_t* td = (mi_thread_data_t*)_mi_os_alloc(sizeof(mi_thread_data_t), &_mi_stats_main); // Todo: more efficient allocation? + if (td == NULL) { // if this fails, try once more. (issue #257) - td = (mi_thread_data_t *)_mi_os_alloc(sizeof(mi_thread_data_t), &_mi_stats_main); - if (td == NULL) - { + td = (mi_thread_data_t*)_mi_os_alloc(sizeof(mi_thread_data_t), &_mi_stats_main); + if (td == NULL) { // really out of memory _mi_error_message(ENOMEM, "unable to allocate thread local heap metadata (%zu bytes)\n", sizeof(mi_thread_data_t)); return false; } } // OS allocated so already zero initialized - mi_tld_t *tld = &td->tld; - mi_heap_t *heap = &td->heap; + mi_tld_t* tld = &td->tld; + mi_heap_t* heap = &td->heap; _mi_memcpy_aligned(heap, &_mi_heap_empty, sizeof(*heap)); heap->thread_id = _mi_thread_id(); _mi_random_init(&heap->random); - heap->cookie = _mi_heap_random_next(heap) | 1; + heap->cookie = _mi_heap_random_next(heap) | 1; heap->keys[0] = _mi_heap_random_next(heap); heap->keys[1] = _mi_heap_random_next(heap); heap->tld = tld; @@ -224,32 +201,27 @@ static bool _mi_heap_init(void) tld->segments.stats = &tld->stats; tld->segments.os = &tld->os; tld->os.stats = &tld->stats; - _mi_heap_set_default_direct(heap); + _mi_heap_set_default_direct(heap); } return false; } // Free the thread local default heap (called from `mi_thread_done`) -static bool _mi_heap_done(mi_heap_t *heap) -{ - if (!mi_heap_is_initialized(heap)) - return true; +static bool _mi_heap_done(mi_heap_t* heap) { + if (!mi_heap_is_initialized(heap)) return true; // reset default heap - _mi_heap_set_default_direct(_mi_is_main_thread() ? &_mi_heap_main : (mi_heap_t *)&_mi_heap_empty); + _mi_heap_set_default_direct(_mi_is_main_thread() ? &_mi_heap_main : (mi_heap_t*)&_mi_heap_empty); // switch to backing heap heap = heap->tld->heap_backing; - if (!mi_heap_is_initialized(heap)) - return false; + if (!mi_heap_is_initialized(heap)) return false; // delete all non-backing heaps in this thread - mi_heap_t *curr = heap->tld->heaps; - while (curr != NULL) - { - mi_heap_t *next = curr->next; // save `next` as `curr` will be freed - if (curr != heap) - { + mi_heap_t* curr = heap->tld->heaps; + while (curr != NULL) { + mi_heap_t* next = curr->next; // save `next` as `curr` will be freed + if (curr != heap) { mi_assert_internal(!mi_heap_is_backing(curr)); mi_heap_delete(curr); } @@ -259,17 +231,15 @@ static bool _mi_heap_done(mi_heap_t *heap) mi_assert_internal(mi_heap_is_backing(heap)); // collect if not the main thread - if (heap != &_mi_heap_main) - { + if (heap != &_mi_heap_main) { _mi_heap_collect_abandon(heap); } - + // merge stats - _mi_stats_done(&heap->tld->stats); + _mi_stats_done(&heap->tld->stats); // free if not the main thread - if (heap != &_mi_heap_main) - { + if (heap != &_mi_heap_main) { mi_assert_internal(heap->tld->segments.count == 0 || heap->thread_id != _mi_thread_id()); _mi_os_free(heap, sizeof(mi_thread_data_t), &_mi_stats_main); } @@ -284,6 +254,8 @@ static bool _mi_heap_done(mi_heap_t *heap) return false; } + + // -------------------------------------------------------- // Try to run `mi_thread_done()` automatically so any memory // owned by the thread but not yet released can be abandoned @@ -300,7 +272,7 @@ static bool _mi_heap_done(mi_heap_t *heap) // to set up the thread local keys. // -------------------------------------------------------- -static void _mi_thread_done(mi_heap_t *default_heap); +static void _mi_thread_done(mi_heap_t* default_heap); #ifdef __wasi__ // no pthreads in the WebAssembly Standard Interface @@ -309,60 +281,54 @@ static void _mi_thread_done(mi_heap_t *default_heap); #endif #if defined(_WIN32) && defined(MI_SHARED_LIB) -// nothing to do as it is done in DllMain + // nothing to do as it is done in DllMain #elif defined(_WIN32) && !defined(MI_SHARED_LIB) -// use thread local storage keys to detect thread ending -#include -#include -#if (_WIN32_WINNT < 0x600) // before Windows Vista -WINBASEAPI DWORD WINAPI FlsAlloc(_In_opt_ PFLS_CALLBACK_FUNCTION lpCallback); -WINBASEAPI PVOID WINAPI FlsGetValue(_In_ DWORD dwFlsIndex); -WINBASEAPI BOOL WINAPI FlsSetValue(_In_ DWORD dwFlsIndex, _In_opt_ PVOID lpFlsData); -WINBASEAPI BOOL WINAPI FlsFree(_In_ DWORD dwFlsIndex); -#endif -static DWORD mi_fls_key = (DWORD)(-1); -static void NTAPI mi_fls_done(PVOID value) -{ - if (value != NULL) - _mi_thread_done((mi_heap_t *)value); -} + // use thread local storage keys to detect thread ending + #include + #include + #if (_WIN32_WINNT < 0x600) // before Windows Vista + WINBASEAPI DWORD WINAPI FlsAlloc( _In_opt_ PFLS_CALLBACK_FUNCTION lpCallback ); + WINBASEAPI PVOID WINAPI FlsGetValue( _In_ DWORD dwFlsIndex ); + WINBASEAPI BOOL WINAPI FlsSetValue( _In_ DWORD dwFlsIndex, _In_opt_ PVOID lpFlsData ); + WINBASEAPI BOOL WINAPI FlsFree(_In_ DWORD dwFlsIndex); + #endif + static DWORD mi_fls_key = (DWORD)(-1); + static void NTAPI mi_fls_done(PVOID value) { + if (value!=NULL) _mi_thread_done((mi_heap_t*)value); + } #elif defined(MI_USE_PTHREADS) -// use pthread local storage keys to detect thread ending -// (and used with MI_TLS_PTHREADS for the default heap) -#include -pthread_key_t _mi_heap_default_key = (pthread_key_t)(-1); -static void mi_pthread_done(void *value) -{ - if (value != NULL) - _mi_thread_done((mi_heap_t *)value); -} + // use pthread local storage keys to detect thread ending + // (and used with MI_TLS_PTHREADS for the default heap) + #include + pthread_key_t _mi_heap_default_key = (pthread_key_t)(-1); + static void mi_pthread_done(void* value) { + if (value!=NULL) _mi_thread_done((mi_heap_t*)value); + } #elif defined(__wasi__) // no pthreads in the WebAssembly Standard Interface #else -#pragma message("define a way to call mi_thread_done when a thread is done") + #pragma message("define a way to call mi_thread_done when a thread is done") #endif // Set up handlers so `mi_thread_done` is called automatically -static void mi_process_setup_auto_thread_done(void) -{ +static void mi_process_setup_auto_thread_done(void) { static bool tls_initialized = false; // fine if it races - if (tls_initialized) - return; + if (tls_initialized) return; tls_initialized = true; -#if defined(_WIN32) && defined(MI_SHARED_LIB) - // nothing to do as it is done in DllMain -#elif defined(_WIN32) && !defined(MI_SHARED_LIB) - mi_fls_key = FlsAlloc(&mi_fls_done); -#elif defined(MI_USE_PTHREADS) - mi_assert_internal(_mi_heap_default_key == (pthread_key_t)(-1)); - pthread_key_create(&_mi_heap_default_key, &mi_pthread_done); -#endif + #if defined(_WIN32) && defined(MI_SHARED_LIB) + // nothing to do as it is done in DllMain + #elif defined(_WIN32) && !defined(MI_SHARED_LIB) + mi_fls_key = FlsAlloc(&mi_fls_done); + #elif defined(MI_USE_PTHREADS) + mi_assert_internal(_mi_heap_default_key == (pthread_key_t)(-1)); + pthread_key_create(&_mi_heap_default_key, &mi_pthread_done); + #endif _mi_heap_set_default_direct(&_mi_heap_main); } -bool _mi_is_main_thread(void) -{ - return (_mi_heap_main.thread_id == 0 || _mi_heap_main.thread_id == _mi_thread_id()); + +bool _mi_is_main_thread(void) { + return (_mi_heap_main.thread_id==0 || _mi_heap_main.thread_id == _mi_thread_id()); } // This is called from the `mi_malloc_generic` @@ -370,144 +336,125 @@ void mi_thread_init(void) mi_attr_noexcept { // ensure our process has started already mi_process_init(); - + // initialize the thread local default heap // (this will call `_mi_heap_set_default_direct` and thus set the // fiber/pthread key to a non-zero value, ensuring `_mi_thread_done` is called) - if (_mi_heap_init()) - return; // returns true if already initialized + if (_mi_heap_init()) return; // returns true if already initialized _mi_stat_increase(&_mi_stats_main.threads, 1); //_mi_verbose_message("thread init: 0x%zx\n", _mi_thread_id()); } -void mi_thread_done(void) mi_attr_noexcept -{ +void mi_thread_done(void) mi_attr_noexcept { _mi_thread_done(mi_get_default_heap()); } -static void _mi_thread_done(mi_heap_t *heap) -{ +static void _mi_thread_done(mi_heap_t* heap) { _mi_stat_decrease(&_mi_stats_main.threads, 1); // check thread-id as on Windows shutdown with FLS the main (exit) thread may call this on thread-local heaps... - if (heap->thread_id != _mi_thread_id()) - return; - + if (heap->thread_id != _mi_thread_id()) return; + // abandon the thread local heap - if (_mi_heap_done(heap)) - return; // returns true if already ran + if (_mi_heap_done(heap)) return; // returns true if already ran } -void _mi_heap_set_default_direct(mi_heap_t *heap) -{ +void _mi_heap_set_default_direct(mi_heap_t* heap) { mi_assert_internal(heap != NULL); -#if defined(MI_TLS_SLOT) - mi_tls_slot_set(MI_TLS_SLOT, heap); -#elif defined(MI_TLS_PTHREAD_SLOT_OFS) + #if defined(MI_TLS_SLOT) + mi_tls_slot_set(MI_TLS_SLOT,heap); + #elif defined(MI_TLS_PTHREAD_SLOT_OFS) *mi_tls_pthread_heap_slot() = heap; -#elif defined(MI_TLS_PTHREAD) -// we use _mi_heap_default_key -#else + #elif defined(MI_TLS_PTHREAD) + // we use _mi_heap_default_key + #else _mi_heap_default = heap; -#endif + #endif -// ensure the default heap is passed to `_mi_thread_done` -// setting to a non-NULL value also ensures `mi_thread_done` is called. -#if defined(_WIN32) && defined(MI_SHARED_LIB) - // nothing to do as it is done in DllMain -#elif defined(_WIN32) && !defined(MI_SHARED_LIB) - mi_assert_internal(mi_fls_key != 0); - FlsSetValue(mi_fls_key, heap); -#elif defined(MI_USE_PTHREADS) - if (_mi_heap_default_key != (pthread_key_t)(-1)) - { // can happen during recursive invocation on freeBSD + // ensure the default heap is passed to `_mi_thread_done` + // setting to a non-NULL value also ensures `mi_thread_done` is called. + #if defined(_WIN32) && defined(MI_SHARED_LIB) + // nothing to do as it is done in DllMain + #elif defined(_WIN32) && !defined(MI_SHARED_LIB) + mi_assert_internal(mi_fls_key != 0); + FlsSetValue(mi_fls_key, heap); + #elif defined(MI_USE_PTHREADS) + if (_mi_heap_default_key != (pthread_key_t)(-1)) { // can happen during recursive invocation on freeBSD pthread_setspecific(_mi_heap_default_key, heap); } -#endif + #endif } + // -------------------------------------------------------- // Run functions on process init/done, and thread init/done // -------------------------------------------------------- static void mi_process_done(void); -static bool os_preloading = true; // true until this module is initialized -static bool mi_redirected = false; // true if malloc redirects to mi_malloc +static bool os_preloading = true; // true until this module is initialized +static bool mi_redirected = false; // true if malloc redirects to mi_malloc // Returns true if this module has not been initialized; Don't use C runtime routines until it returns false. -bool _mi_preloading(void) -{ +bool _mi_preloading(void) { return os_preloading; } -bool mi_is_redirected(void) mi_attr_noexcept -{ +bool mi_is_redirected(void) mi_attr_noexcept { return mi_redirected; } // Communicate with the redirection module on Windows #if defined(_WIN32) && defined(MI_SHARED_LIB) #ifdef __cplusplus -extern "C" -{ +extern "C" { #endif - mi_decl_export void _mi_redirect_entry(DWORD reason) - { - // called on redirection; careful as this may be called before DllMain - if (reason == DLL_PROCESS_ATTACH) - { - mi_redirected = true; - } - else if (reason == DLL_PROCESS_DETACH) - { - mi_redirected = false; - } - else if (reason == DLL_THREAD_DETACH) - { - mi_thread_done(); - } +mi_decl_export void _mi_redirect_entry(DWORD reason) { + // called on redirection; careful as this may be called before DllMain + if (reason == DLL_PROCESS_ATTACH) { + mi_redirected = true; } - __declspec(dllimport) bool mi_allocator_init(const char **message); - __declspec(dllimport) void mi_allocator_done(void); + else if (reason == DLL_PROCESS_DETACH) { + mi_redirected = false; + } + else if (reason == DLL_THREAD_DETACH) { + mi_thread_done(); + } +} +__declspec(dllimport) bool mi_allocator_init(const char** message); +__declspec(dllimport) void mi_allocator_done(void); #ifdef __cplusplus } #endif #else -static bool mi_allocator_init(const char **message) -{ - if (message != NULL) - *message = NULL; +static bool mi_allocator_init(const char** message) { + if (message != NULL) *message = NULL; return true; } -static void mi_allocator_done(void) -{ +static void mi_allocator_done(void) { // nothing to do } #endif // Called once by the process loader -static void mi_process_load(void) -{ +static void mi_process_load(void) { mi_heap_main_init(); -#if defined(MI_TLS_RECURSE_GUARD) - volatile mi_heap_t *dummy = _mi_heap_default; // access TLS to allocate it before setting tls_initialized to true; + #if defined(MI_TLS_RECURSE_GUARD) + volatile mi_heap_t* dummy = _mi_heap_default; // access TLS to allocate it before setting tls_initialized to true; UNUSED(dummy); -#endif + #endif os_preloading = false; atexit(&mi_process_done); _mi_options_init(); mi_process_init(); //mi_stats_reset();- - if (mi_redirected) - _mi_verbose_message("malloc is redirected.\n"); + if (mi_redirected) _mi_verbose_message("malloc is redirected.\n"); // show message from the redirector (if present) - const char *msg = NULL; + const char* msg = NULL; mi_allocator_init(&msg); - if (msg != NULL && (mi_option_is_enabled(mi_option_verbose) || mi_option_is_enabled(mi_option_show_errors))) - { - _mi_fputs(NULL, NULL, NULL, msg); + if (msg != NULL && (mi_option_is_enabled(mi_option_verbose) || mi_option_is_enabled(mi_option_show_errors))) { + _mi_fputs(NULL,NULL,NULL,msg); } } @@ -515,26 +462,22 @@ static void mi_process_load(void) #include mi_decl_cache_align bool _mi_cpu_has_fsrm = false; -static void mi_detect_cpu_features(void) -{ +static void mi_detect_cpu_features(void) { // FSRM for fast rep movsb support (AMD Zen3+ (~2020) or Intel Ice Lake+ (~2017)) int32_t cpu_info[4]; __cpuid(cpu_info, 7); _mi_cpu_has_fsrm = ((cpu_info[3] & (1 << 4)) != 0); // bit 4 of EDX : see } #else -static void mi_detect_cpu_features(void) -{ +static void mi_detect_cpu_features(void) { // nothing } #endif // Initialize the process; called by thread_init or the process loader -void mi_process_init(void) mi_attr_noexcept -{ +void mi_process_init(void) mi_attr_noexcept { // ensure we are called once - if (_mi_process_is_initialized) - return; + if (_mi_process_is_initialized) return; _mi_process_is_initialized = true; mi_process_setup_auto_thread_done(); @@ -542,113 +485,99 @@ void mi_process_init(void) mi_attr_noexcept mi_detect_cpu_features(); _mi_os_init(); mi_heap_main_init(); -#if (MI_DEBUG) + #if (MI_DEBUG) _mi_verbose_message("debug level : %d\n", MI_DEBUG); -#endif + #endif _mi_verbose_message("secure level: %d\n", MI_SECURE); mi_thread_init(); - mi_stats_reset(); // only call stat reset *after* thread init (or the heap tld == NULL) + mi_stats_reset(); // only call stat reset *after* thread init (or the heap tld == NULL) - if (mi_option_is_enabled(mi_option_reserve_huge_os_pages)) - { + if (mi_option_is_enabled(mi_option_reserve_huge_os_pages)) { size_t pages = mi_option_get(mi_option_reserve_huge_os_pages); - mi_reserve_huge_os_pages_interleave(pages, 0, pages * 500); - } - if (mi_option_is_enabled(mi_option_reserve_os_memory)) - { + mi_reserve_huge_os_pages_interleave(pages, 0, pages*500); + } + if (mi_option_is_enabled(mi_option_reserve_os_memory)) { long ksize = mi_option_get(mi_option_reserve_os_memory); - if (ksize > 0) - mi_reserve_os_memory((size_t)ksize * KiB, true, true); + if (ksize > 0) mi_reserve_os_memory((size_t)ksize*KiB, true, true); } } // Called when the process is done (through `at_exit`) -static void mi_process_done(void) -{ +static void mi_process_done(void) { // only shutdown if we were initialized - if (!_mi_process_is_initialized) - return; + if (!_mi_process_is_initialized) return; // ensure we are called once static bool process_done = false; - if (process_done) - return; + if (process_done) return; process_done = true; -#if defined(_WIN32) && !defined(MI_SHARED_LIB) - FlsSetValue(mi_fls_key, NULL); // don't call main-thread callback - FlsFree(mi_fls_key); // call thread-done on all threads to prevent dangling callback pointer if statically linked with a DLL; Issue #208 -#endif - -#if (MI_DEBUG != 0) || !defined(MI_SHARED_LIB) + #if defined(_WIN32) && !defined(MI_SHARED_LIB) + FlsSetValue(mi_fls_key, NULL); // don't call main-thread callback + FlsFree(mi_fls_key); // call thread-done on all threads to prevent dangling callback pointer if statically linked with a DLL; Issue #208 + #endif + + #if (MI_DEBUG != 0) || !defined(MI_SHARED_LIB) // free all memory if possible on process exit. This is not needed for a stand-alone process // but should be done if mimalloc is statically linked into another shared library which // is repeatedly loaded/unloaded, see issue #281. - mi_collect(true /* force */); -#endif + mi_collect(true /* force */ ); + #endif - if (mi_option_is_enabled(mi_option_show_stats) || mi_option_is_enabled(mi_option_verbose)) - { + if (mi_option_is_enabled(mi_option_show_stats) || mi_option_is_enabled(mi_option_verbose)) { mi_stats_print(NULL); } - mi_allocator_done(); + mi_allocator_done(); _mi_verbose_message("process done: 0x%zx\n", _mi_heap_main.thread_id); os_preloading = true; // don't call the C runtime anymore } + + #if defined(_WIN32) && defined(MI_SHARED_LIB) -// Windows DLL: easy to hook into process_init and thread_done -__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved) -{ - UNUSED(reserved); - UNUSED(inst); - if (reason == DLL_PROCESS_ATTACH) - { - mi_process_load(); + // Windows DLL: easy to hook into process_init and thread_done + __declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved) { + UNUSED(reserved); + UNUSED(inst); + if (reason==DLL_PROCESS_ATTACH) { + mi_process_load(); + } + else if (reason==DLL_THREAD_DETACH) { + if (!mi_is_redirected()) mi_thread_done(); + } + return TRUE; } - else if (reason == DLL_THREAD_DETACH) - { - if (!mi_is_redirected()) - mi_thread_done(); - } - return TRUE; -} #elif defined(__cplusplus) -// C++: use static initialization to detect process start -static bool _mi_process_init(void) -{ - mi_process_load(); - return (_mi_heap_main.thread_id != 0); -} -static bool mi_initialized = _mi_process_init(); + // C++: use static initialization to detect process start + static bool _mi_process_init(void) { + mi_process_load(); + return (_mi_heap_main.thread_id != 0); + } + static bool mi_initialized = _mi_process_init(); #elif defined(__GNUC__) || defined(__clang__) -// GCC,Clang: use the constructor attribute -static void __attribute__((constructor)) _mi_process_init(void) -{ - mi_process_load(); -} + // GCC,Clang: use the constructor attribute + static void __attribute__((constructor)) _mi_process_init(void) { + mi_process_load(); + } #elif defined(_MSC_VER) -// MSVC: use data section magic for static libraries -// See -static int _mi_process_init(void) -{ - mi_process_load(); - return 0; -} -typedef int (*_crt_cb)(void); -#ifdef _M_X64 -__pragma(comment(linker, "/include:" - "_mi_msvc_initu")) -#pragma section(".CRT$XIU", long, read) -#else -__pragma(comment(linker, "/include:" - "__mi_msvc_initu")) -#endif -#pragma data_seg(".CRT$XIU") - _crt_cb _mi_msvc_initu[] = {&_mi_process_init}; -#pragma data_seg() + // MSVC: use data section magic for static libraries + // See + static int _mi_process_init(void) { + mi_process_load(); + return 0; + } + typedef int(*_crt_cb)(void); + #ifdef _M_X64 + __pragma(comment(linker, "/include:" "_mi_msvc_initu")) + #pragma section(".CRT$XIU", long, read) + #else + __pragma(comment(linker, "/include:" "__mi_msvc_initu")) + #endif + #pragma data_seg(".CRT$XIU") + _crt_cb _mi_msvc_initu[] = { &_mi_process_init }; + #pragma data_seg() #else #pragma message("define a way to call mi_process_load on your platform") diff --git a/src/page.c b/src/page.c index a86b0bb2..4b7e9ffb 100644 --- a/src/page.c +++ b/src/page.c @@ -23,28 +23,26 @@ terms of the MIT license. A copy of the license can be found in the file #include "page-queue.c" #undef MI_IN_PAGE_C + /* ----------------------------------------------------------- Page helpers ----------------------------------------------------------- */ // Index a block in a page -static inline mi_block_t *mi_page_block_at(const mi_page_t *page, void *page_start, size_t block_size, size_t i) -{ +static inline mi_block_t* mi_page_block_at(const mi_page_t* page, void* page_start, size_t block_size, size_t i) { UNUSED(page); mi_assert_internal(page != NULL); mi_assert_internal(i <= page->reserved); - return (mi_block_t *)((uint8_t *)page_start + (i * block_size)); + return (mi_block_t*)((uint8_t*)page_start + (i * block_size)); } -static void mi_page_init(mi_heap_t *heap, mi_page_t *page, size_t size, mi_tld_t *tld); -static void mi_page_extend_free(mi_heap_t *heap, mi_page_t *page, mi_tld_t *tld); +static void mi_page_init(mi_heap_t* heap, mi_page_t* page, size_t size, mi_tld_t* tld); +static void mi_page_extend_free(mi_heap_t* heap, mi_page_t* page, mi_tld_t* tld); -#if (MI_DEBUG >= 3) -static size_t mi_page_list_count(mi_page_t *page, mi_block_t *head) -{ +#if (MI_DEBUG>=3) +static size_t mi_page_list_count(mi_page_t* page, mi_block_t* head) { size_t count = 0; - while (head != NULL) - { + while (head != NULL) { mi_assert_internal(page == _mi_ptr_page(head)); count++; head = mi_block_next(page, head); @@ -59,47 +57,41 @@ static inline uint8_t* mi_page_area(const mi_page_t* page) { } */ -static bool mi_page_list_is_valid(mi_page_t *page, mi_block_t *p) -{ +static bool mi_page_list_is_valid(mi_page_t* page, mi_block_t* p) { size_t psize; - uint8_t *page_area = _mi_page_start(_mi_page_segment(page), page, &psize); - mi_block_t *start = (mi_block_t *)page_area; - mi_block_t *end = (mi_block_t *)(page_area + psize); - while (p != NULL) - { - if (p < start || p >= end) - return false; + uint8_t* page_area = _mi_page_start(_mi_page_segment(page), page, &psize); + mi_block_t* start = (mi_block_t*)page_area; + mi_block_t* end = (mi_block_t*)(page_area + psize); + while(p != NULL) { + if (p < start || p >= end) return false; p = mi_block_next(page, p); } return true; } -static bool mi_page_is_valid_init(mi_page_t *page) -{ +static bool mi_page_is_valid_init(mi_page_t* page) { mi_assert_internal(page->xblock_size > 0); mi_assert_internal(page->used <= page->capacity); mi_assert_internal(page->capacity <= page->reserved); const size_t bsize = mi_page_block_size(page); - mi_segment_t *segment = _mi_page_segment(page); - uint8_t *start = _mi_page_start(segment, page, NULL); - mi_assert_internal(start == _mi_segment_page_start(segment, page, bsize, NULL, NULL)); + mi_segment_t* segment = _mi_page_segment(page); + uint8_t* start = _mi_page_start(segment,page,NULL); + mi_assert_internal(start == _mi_segment_page_start(segment,page,bsize,NULL,NULL)); //mi_assert_internal(start + page->capacity*page->block_size == page->top); - mi_assert_internal(mi_page_list_is_valid(page, page->free)); - mi_assert_internal(mi_page_list_is_valid(page, page->local_free)); + mi_assert_internal(mi_page_list_is_valid(page,page->free)); + mi_assert_internal(mi_page_list_is_valid(page,page->local_free)); -#if MI_DEBUG > 3 // generally too expensive to check this - if (page->flags.is_zero) - { - for (mi_block_t *block = page->free; block != NULL; mi_block_next(page, block)) - { + #if MI_DEBUG>3 // generally too expensive to check this + if (page->flags.is_zero) { + for(mi_block_t* block = page->free; block != NULL; mi_block_next(page,block)) { mi_assert_expensive(mi_mem_is_zero(block + 1, page->block_size - sizeof(mi_block_t))); } } -#endif + #endif - mi_block_t *tfree = mi_page_thread_free(page); + mi_block_t* tfree = mi_page_thread_free(page); mi_assert_internal(mi_page_list_is_valid(page, tfree)); //size_t tfree_count = mi_page_list_count(page, tfree); //mi_assert_internal(tfree_count <= page->thread_freed + 1); @@ -110,49 +102,41 @@ static bool mi_page_is_valid_init(mi_page_t *page) return true; } -bool _mi_page_is_valid(mi_page_t *page) -{ +bool _mi_page_is_valid(mi_page_t* page) { mi_assert_internal(mi_page_is_valid_init(page)); -#if MI_SECURE + #if MI_SECURE mi_assert_internal(page->keys[0] != 0); -#endif - if (mi_page_heap(page) != NULL) - { - mi_segment_t *segment = _mi_page_segment(page); - mi_assert_internal(!_mi_process_is_initialized || segment->thread_id == mi_page_heap(page)->thread_id || segment->thread_id == 0); - if (segment->page_kind != MI_PAGE_HUGE) - { - mi_page_queue_t *pq = mi_page_queue_of(page); + #endif + if (mi_page_heap(page)!=NULL) { + mi_segment_t* segment = _mi_page_segment(page); + mi_assert_internal(!_mi_process_is_initialized || segment->thread_id == mi_page_heap(page)->thread_id || segment->thread_id==0); + if (segment->page_kind != MI_PAGE_HUGE) { + mi_page_queue_t* pq = mi_page_queue_of(page); mi_assert_internal(mi_page_queue_contains(pq, page)); - mi_assert_internal(pq->block_size == mi_page_block_size(page) || mi_page_block_size(page) > MI_LARGE_OBJ_SIZE_MAX || mi_page_is_in_full(page)); - mi_assert_internal(mi_heap_contains_queue(mi_page_heap(page), pq)); + mi_assert_internal(pq->block_size==mi_page_block_size(page) || mi_page_block_size(page) > MI_LARGE_OBJ_SIZE_MAX || mi_page_is_in_full(page)); + mi_assert_internal(mi_heap_contains_queue(mi_page_heap(page),pq)); } } return true; } #endif -void _mi_page_use_delayed_free(mi_page_t *page, mi_delayed_t delay, bool override_never) -{ +void _mi_page_use_delayed_free(mi_page_t* page, mi_delayed_t delay, bool override_never) { mi_thread_free_t tfreex; - mi_delayed_t old_delay; - mi_thread_free_t tfree; - do - { + mi_delayed_t old_delay; + mi_thread_free_t tfree; + do { tfree = mi_atomic_load_acquire(&page->xthread_free); // note: must acquire as we can break/repeat this loop and not do a CAS; tfreex = mi_tf_set_delayed(tfree, delay); old_delay = mi_tf_delayed(tfree); - if (mi_unlikely(old_delay == MI_DELAYED_FREEING)) - { + if (mi_unlikely(old_delay == MI_DELAYED_FREEING)) { mi_atomic_yield(); // delay until outstanding MI_DELAYED_FREEING are done. // tfree = mi_tf_set_delayed(tfree, MI_NO_DELAYED_FREE); // will cause CAS to busy fail } - else if (delay == old_delay) - { + else if (delay == old_delay) { break; // avoid atomic operation if already equal } - else if (!override_never && old_delay == MI_NEVER_DELAYED_FREE) - { + else if (!override_never && old_delay == MI_NEVER_DELAYED_FREE) { break; // leave never-delayed flag set } } while ((old_delay == MI_DELAYED_FREEING) || @@ -167,73 +151,63 @@ void _mi_page_use_delayed_free(mi_page_t *page, mi_delayed_t delay, bool overrid // Note: The exchange must be done atomically as this is used right after // moving to the full list in `mi_page_collect_ex` and we need to // ensure that there was no race where the page became unfull just before the move. -static void _mi_page_thread_free_collect(mi_page_t *page) +static void _mi_page_thread_free_collect(mi_page_t* page) { - mi_block_t *head; + mi_block_t* head; mi_thread_free_t tfreex; mi_thread_free_t tfree = mi_atomic_load_relaxed(&page->xthread_free); - do - { + do { head = mi_tf_block(tfree); - tfreex = mi_tf_set_block(tfree, NULL); + tfreex = mi_tf_set_block(tfree,NULL); } while (!mi_atomic_cas_weak_acq_rel(&page->xthread_free, &tfree, tfreex)); // return if the list is empty - if (head == NULL) - return; + if (head == NULL) return; // find the tail -- also to get a proper count (without data races) uint32_t max_count = page->capacity; // cannot collect more than capacity uint32_t count = 1; - mi_block_t *tail = head; - mi_block_t *next; - while ((next = mi_block_next(page, tail)) != NULL && count <= max_count) - { + mi_block_t* tail = head; + mi_block_t* next; + while ((next = mi_block_next(page,tail)) != NULL && count <= max_count) { count++; tail = next; } // if `count > max_count` there was a memory corruption (possibly infinite list due to double multi-threaded free) - if (count > max_count) - { + if (count > max_count) { _mi_error_message(EFAULT, "corrupted thread-free list\n"); return; // the thread-free items cannot be freed } // and append the current local free list - mi_block_set_next(page, tail, page->local_free); + mi_block_set_next(page,tail, page->local_free); page->local_free = head; // update counts now page->used -= count; } -void _mi_page_free_collect(mi_page_t *page, bool force) -{ - mi_assert_internal(page != NULL); +void _mi_page_free_collect(mi_page_t* page, bool force) { + mi_assert_internal(page!=NULL); // collect the thread free list - if (force || mi_page_thread_free(page) != NULL) - { // quick test to avoid an atomic operation + if (force || mi_page_thread_free(page) != NULL) { // quick test to avoid an atomic operation _mi_page_thread_free_collect(page); } // and the local free list - if (page->local_free != NULL) - { - if (mi_likely(page->free == NULL)) - { + if (page->local_free != NULL) { + if (mi_likely(page->free == NULL)) { // usual case page->free = page->local_free; page->local_free = NULL; page->is_zero = false; } - else if (force) - { + else if (force) { // append -- only on shutdown (force) as this is a linear operation - mi_block_t *tail = page->local_free; - mi_block_t *next; - while ((next = mi_block_next(page, tail)) != NULL) - { + mi_block_t* tail = page->local_free; + mi_block_t* next; + while ((next = mi_block_next(page, tail)) != NULL) { tail = next; } mi_block_set_next(page, tail, page->free); @@ -246,54 +220,50 @@ void _mi_page_free_collect(mi_page_t *page, bool force) mi_assert_internal(!force || page->local_free == NULL); } + + /* ----------------------------------------------------------- Page fresh and retire ----------------------------------------------------------- */ // called from segments when reclaiming abandoned pages -void _mi_page_reclaim(mi_heap_t *heap, mi_page_t *page) -{ +void _mi_page_reclaim(mi_heap_t* heap, mi_page_t* page) { mi_assert_expensive(mi_page_is_valid_init(page)); mi_assert_internal(mi_page_heap(page) == heap); mi_assert_internal(mi_page_thread_free_flag(page) != MI_NEVER_DELAYED_FREE); mi_assert_internal(_mi_page_segment(page)->page_kind != MI_PAGE_HUGE); mi_assert_internal(!page->is_reset); // TODO: push on full queue immediately if it is full? - mi_page_queue_t *pq = mi_page_queue(heap, mi_page_block_size(page)); + mi_page_queue_t* pq = mi_page_queue(heap, mi_page_block_size(page)); mi_page_queue_push(heap, pq, page); mi_assert_expensive(_mi_page_is_valid(page)); } // allocate a fresh page from a segment -static mi_page_t *mi_page_fresh_alloc(mi_heap_t *heap, mi_page_queue_t *pq, size_t block_size) -{ - mi_assert_internal(pq == NULL || mi_heap_contains_queue(heap, pq)); - mi_assert_internal(pq == NULL || block_size == pq->block_size); - mi_page_t *page = _mi_segment_page_alloc(heap, block_size, &heap->tld->segments, &heap->tld->os); - if (page == NULL) - { +static mi_page_t* mi_page_fresh_alloc(mi_heap_t* heap, mi_page_queue_t* pq, size_t block_size) { + mi_assert_internal(pq==NULL||mi_heap_contains_queue(heap, pq)); + mi_assert_internal(pq==NULL||block_size == pq->block_size); + mi_page_t* page = _mi_segment_page_alloc(heap, block_size, &heap->tld->segments, &heap->tld->os); + if (page == NULL) { // this may be out-of-memory, or an abandoned page was reclaimed (and in our queue) return NULL; } // a fresh page was found, initialize it - mi_assert_internal(pq == NULL || _mi_page_segment(page)->page_kind != MI_PAGE_HUGE); + mi_assert_internal(pq==NULL || _mi_page_segment(page)->page_kind != MI_PAGE_HUGE); mi_page_init(heap, page, block_size, heap->tld); _mi_stat_increase(&heap->tld->stats.pages, 1); - if (pq != NULL) - mi_page_queue_push(heap, pq, page); // huge pages use pq==NULL + if (pq!=NULL) mi_page_queue_push(heap, pq, page); // huge pages use pq==NULL mi_assert_expensive(_mi_page_is_valid(page)); return page; } // Get a fresh page to use -static mi_page_t *mi_page_fresh(mi_heap_t *heap, mi_page_queue_t *pq) -{ +static mi_page_t* mi_page_fresh(mi_heap_t* heap, mi_page_queue_t* pq) { mi_assert_internal(mi_heap_contains_queue(heap, pq)); - mi_page_t *page = mi_page_fresh_alloc(heap, pq, pq->block_size); - if (page == NULL) - return NULL; - mi_assert_internal(pq->block_size == mi_page_block_size(page)); - mi_assert_internal(pq == mi_page_queue(heap, mi_page_block_size(page))); + mi_page_t* page = mi_page_fresh_alloc(heap, pq, pq->block_size); + if (page==NULL) return NULL; + mi_assert_internal(pq->block_size==mi_page_block_size(page)); + mi_assert_internal(pq==mi_page_queue(heap, mi_page_block_size(page))); return page; } @@ -301,28 +271,22 @@ static mi_page_t *mi_page_fresh(mi_heap_t *heap, mi_page_queue_t *pq) Do any delayed frees (put there by other threads if they deallocated in a full page) ----------------------------------------------------------- */ -void _mi_heap_delayed_free(mi_heap_t *heap) -{ +void _mi_heap_delayed_free(mi_heap_t* heap) { // take over the list (note: no atomic exchange since it is often NULL) - mi_block_t *block = mi_atomic_load_ptr_relaxed(mi_block_t, &heap->thread_delayed_free); - while (block != NULL && !mi_atomic_cas_ptr_weak_acq_rel(mi_block_t, &heap->thread_delayed_free, &block, NULL)) - { /* nothing */ - }; + mi_block_t* block = mi_atomic_load_ptr_relaxed(mi_block_t, &heap->thread_delayed_free); + while (block != NULL && !mi_atomic_cas_ptr_weak_acq_rel(mi_block_t, &heap->thread_delayed_free, &block, NULL)) { /* nothing */ }; // and free them all - while (block != NULL) - { - mi_block_t *next = mi_block_nextx(heap, block, heap->keys); + while(block != NULL) { + mi_block_t* next = mi_block_nextx(heap,block, heap->keys); // use internal free instead of regular one to keep stats etc correct - if (!_mi_free_delayed_block(block)) - { + if (!_mi_free_delayed_block(block)) { // we might already start delayed freeing while another thread has not yet // reset the delayed_freeing flag; in that case delay it further by reinserting. - mi_block_t *dfree = mi_atomic_load_ptr_relaxed(mi_block_t, &heap->thread_delayed_free); - do - { + mi_block_t* dfree = mi_atomic_load_ptr_relaxed(mi_block_t, &heap->thread_delayed_free); + do { mi_block_set_nextx(heap, block, dfree, heap->keys); - } while (!mi_atomic_cas_ptr_weak_release(mi_block_t, &heap->thread_delayed_free, &dfree, block)); + } while (!mi_atomic_cas_ptr_weak_release(mi_block_t,&heap->thread_delayed_free, &dfree, block)); } block = next; } @@ -333,92 +297,87 @@ void _mi_heap_delayed_free(mi_heap_t *heap) ----------------------------------------------------------- */ // Move a page from the full list back to a regular list -void _mi_page_unfull(mi_page_t *page) -{ +void _mi_page_unfull(mi_page_t* page) { mi_assert_internal(page != NULL); mi_assert_expensive(_mi_page_is_valid(page)); mi_assert_internal(mi_page_is_in_full(page)); - if (!mi_page_is_in_full(page)) - return; + if (!mi_page_is_in_full(page)) return; - mi_heap_t *heap = mi_page_heap(page); - mi_page_queue_t *pqfull = &heap->pages[MI_BIN_FULL]; + mi_heap_t* heap = mi_page_heap(page); + mi_page_queue_t* pqfull = &heap->pages[MI_BIN_FULL]; mi_page_set_in_full(page, false); // to get the right queue - mi_page_queue_t *pq = mi_heap_page_queue_of(heap, page); + mi_page_queue_t* pq = mi_heap_page_queue_of(heap, page); mi_page_set_in_full(page, true); mi_page_queue_enqueue_from(pq, pqfull, page); } -static void mi_page_to_full(mi_page_t *page, mi_page_queue_t *pq) -{ +static void mi_page_to_full(mi_page_t* page, mi_page_queue_t* pq) { mi_assert_internal(pq == mi_page_queue_of(page)); mi_assert_internal(!mi_page_immediate_available(page)); mi_assert_internal(!mi_page_is_in_full(page)); - if (mi_page_is_in_full(page)) - return; + if (mi_page_is_in_full(page)) return; mi_page_queue_enqueue_from(&mi_page_heap(page)->pages[MI_BIN_FULL], pq, page); - _mi_page_free_collect(page, false); // try to collect right away in case another thread freed just before MI_USE_DELAYED_FREE was set + _mi_page_free_collect(page,false); // try to collect right away in case another thread freed just before MI_USE_DELAYED_FREE was set } + // Abandon a page with used blocks at the end of a thread. // Note: only call if it is ensured that no references exist from // the `page->heap->thread_delayed_free` into this page. // Currently only called through `mi_heap_collect_ex` which ensures this. -void _mi_page_abandon(mi_page_t *page, mi_page_queue_t *pq) -{ +void _mi_page_abandon(mi_page_t* page, mi_page_queue_t* pq) { mi_assert_internal(page != NULL); mi_assert_expensive(_mi_page_is_valid(page)); mi_assert_internal(pq == mi_page_queue_of(page)); mi_assert_internal(mi_page_heap(page) != NULL); - mi_heap_t *pheap = mi_page_heap(page); + mi_heap_t* pheap = mi_page_heap(page); // remove from our page list - mi_segments_tld_t *segments_tld = &pheap->tld->segments; + mi_segments_tld_t* segments_tld = &pheap->tld->segments; mi_page_queue_remove(pq, page); // page is no longer associated with our heap - mi_assert_internal(mi_page_thread_free_flag(page) == MI_NEVER_DELAYED_FREE); + mi_assert_internal(mi_page_thread_free_flag(page)==MI_NEVER_DELAYED_FREE); mi_page_set_heap(page, NULL); -#if MI_DEBUG > 1 +#if MI_DEBUG>1 // check there are no references left.. - for (mi_block_t *block = (mi_block_t *)pheap->thread_delayed_free; block != NULL; block = mi_block_nextx(pheap, block, pheap->keys)) - { + for (mi_block_t* block = (mi_block_t*)pheap->thread_delayed_free; block != NULL; block = mi_block_nextx(pheap, block, pheap->keys)) { mi_assert_internal(_mi_ptr_page(block) != page); } #endif // and abandon it mi_assert_internal(mi_page_heap(page) == NULL); - _mi_segment_page_abandon(page, segments_tld); + _mi_segment_page_abandon(page,segments_tld); } + // Free a page with no more free blocks -void _mi_page_free(mi_page_t *page, mi_page_queue_t *pq, bool force) -{ +void _mi_page_free(mi_page_t* page, mi_page_queue_t* pq, bool force) { mi_assert_internal(page != NULL); mi_assert_expensive(_mi_page_is_valid(page)); mi_assert_internal(pq == mi_page_queue_of(page)); mi_assert_internal(mi_page_all_free(page)); - mi_assert_internal(mi_page_thread_free_flag(page) != MI_DELAYED_FREEING); + mi_assert_internal(mi_page_thread_free_flag(page)!=MI_DELAYED_FREEING); // no more aligned blocks in here mi_page_set_has_aligned(page, false); // remove from the page list // (no need to do _mi_heap_delayed_free first as all blocks are already free) - mi_segments_tld_t *segments_tld = &mi_page_heap(page)->tld->segments; + mi_segments_tld_t* segments_tld = &mi_page_heap(page)->tld->segments; mi_page_queue_remove(pq, page); // and free it - mi_page_set_heap(page, NULL); + mi_page_set_heap(page,NULL); _mi_segment_page_free(page, force, segments_tld); } -#define MI_MAX_RETIRE_SIZE MI_LARGE_OBJ_SIZE_MAX -#define MI_RETIRE_CYCLES (8) +#define MI_MAX_RETIRE_SIZE MI_LARGE_OBJ_SIZE_MAX +#define MI_RETIRE_CYCLES (8) // Retire a page with no more used blocks // Important to not retire too quickly though as new @@ -426,8 +385,7 @@ void _mi_page_free(mi_page_t *page, mi_page_queue_t *pq, bool force) // Note: called from `mi_free` and benchmarks often // trigger this due to freeing everything and then // allocating again so careful when changing this. -void _mi_page_retire(mi_page_t *page) -{ +void _mi_page_retire(mi_page_t* page) { mi_assert_internal(page != NULL); mi_assert_expensive(_mi_page_is_valid(page)); mi_assert_internal(mi_page_all_free(page)); @@ -440,21 +398,17 @@ void _mi_page_retire(mi_page_t *page) // is the only page left with free blocks. It is not clear // how to check this efficiently though... // for now, we don't retire if it is the only page left of this size class. - mi_page_queue_t *pq = mi_page_queue_of(page); - if (mi_likely(page->xblock_size <= MI_MAX_RETIRE_SIZE && !mi_page_is_in_full(page))) - { - if (pq->last == page && pq->first == page) - { // the only page in the queue? - mi_stat_counter_increase(_mi_stats_main.page_no_retire, 1); - page->retire_expire = (page->xblock_size <= MI_SMALL_OBJ_SIZE_MAX ? MI_RETIRE_CYCLES : MI_RETIRE_CYCLES / 4); - mi_heap_t *heap = mi_page_heap(page); + mi_page_queue_t* pq = mi_page_queue_of(page); + if (mi_likely(page->xblock_size <= MI_MAX_RETIRE_SIZE && !mi_page_is_in_full(page))) { + if (pq->last==page && pq->first==page) { // the only page in the queue? + mi_stat_counter_increase(_mi_stats_main.page_no_retire,1); + page->retire_expire = (page->xblock_size <= MI_SMALL_OBJ_SIZE_MAX ? MI_RETIRE_CYCLES : MI_RETIRE_CYCLES/4); + mi_heap_t* heap = mi_page_heap(page); mi_assert_internal(pq >= heap->pages); const size_t index = pq - heap->pages; mi_assert_internal(index < MI_BIN_FULL && index < MI_BIN_HUGE); - if (index < heap->page_retired_min) - heap->page_retired_min = index; - if (index > heap->page_retired_max) - heap->page_retired_max = index; + if (index < heap->page_retired_min) heap->page_retired_min = index; + if (index > heap->page_retired_max) heap->page_retired_max = index; mi_assert_internal(mi_page_all_free(page)); return; // dont't free after all } @@ -465,34 +419,25 @@ void _mi_page_retire(mi_page_t *page) // free retired pages: we don't need to look at the entire queues // since we only retire pages that are at the head position in a queue. -void _mi_heap_collect_retired(mi_heap_t *heap, bool force) -{ +void _mi_heap_collect_retired(mi_heap_t* heap, bool force) { size_t min = MI_BIN_FULL; size_t max = 0; - for (size_t bin = heap->page_retired_min; bin <= heap->page_retired_max; bin++) - { - mi_page_queue_t *pq = &heap->pages[bin]; - mi_page_t *page = pq->first; - if (page != NULL && page->retire_expire != 0) - { - if (mi_page_all_free(page)) - { + for(size_t bin = heap->page_retired_min; bin <= heap->page_retired_max; bin++) { + mi_page_queue_t* pq = &heap->pages[bin]; + mi_page_t* page = pq->first; + if (page != NULL && page->retire_expire != 0) { + if (mi_page_all_free(page)) { page->retire_expire--; - if (force || page->retire_expire == 0) - { + if (force || page->retire_expire == 0) { _mi_page_free(pq->first, pq, force); } - else - { + else { // keep retired, update min/max - if (bin < min) - min = bin; - if (bin > max) - max = bin; + if (bin < min) min = bin; + if (bin > max) max = bin; } } - else - { + else { page->retire_expire = 0; } } @@ -501,100 +446,93 @@ void _mi_heap_collect_retired(mi_heap_t *heap, bool force) heap->page_retired_max = max; } + /* ----------------------------------------------------------- Initialize the initial free list in a page. In secure mode we initialize a randomized list by alternating between slices. ----------------------------------------------------------- */ -#define MI_MAX_SLICE_SHIFT (6) // at most 64 slices -#define MI_MAX_SLICES (1UL << MI_MAX_SLICE_SHIFT) -#define MI_MIN_SLICES (2) +#define MI_MAX_SLICE_SHIFT (6) // at most 64 slices +#define MI_MAX_SLICES (1UL << MI_MAX_SLICE_SHIFT) +#define MI_MIN_SLICES (2) -static void mi_page_free_list_extend_secure(mi_heap_t *const heap, mi_page_t *const page, const size_t bsize, const size_t extend, mi_stats_t *const stats) -{ +static void mi_page_free_list_extend_secure(mi_heap_t* const heap, mi_page_t* const page, const size_t bsize, const size_t extend, mi_stats_t* const stats) { UNUSED(stats); -#if (MI_SECURE <= 2) + #if (MI_SECURE<=2) mi_assert_internal(page->free == NULL); mi_assert_internal(page->local_free == NULL); -#endif + #endif mi_assert_internal(page->capacity + extend <= page->reserved); mi_assert_internal(bsize == mi_page_block_size(page)); - void *const page_area = _mi_page_start(_mi_page_segment(page), page, NULL); + void* const page_area = _mi_page_start(_mi_page_segment(page), page, NULL); // initialize a randomized free list // set up `slice_count` slices to alternate between size_t shift = MI_MAX_SLICE_SHIFT; - while ((extend >> shift) == 0) - { + while ((extend >> shift) == 0) { shift--; } const size_t slice_count = (size_t)1U << shift; const size_t slice_extend = extend / slice_count; mi_assert_internal(slice_extend >= 1); - mi_block_t *blocks[MI_MAX_SLICES]; // current start of the slice - size_t counts[MI_MAX_SLICES]; // available objects in the slice - for (size_t i = 0; i < slice_count; i++) - { - blocks[i] = mi_page_block_at(page, page_area, bsize, page->capacity + i * slice_extend); + mi_block_t* blocks[MI_MAX_SLICES]; // current start of the slice + size_t counts[MI_MAX_SLICES]; // available objects in the slice + for (size_t i = 0; i < slice_count; i++) { + blocks[i] = mi_page_block_at(page, page_area, bsize, page->capacity + i*slice_extend); counts[i] = slice_extend; } - counts[slice_count - 1] += (extend % slice_count); // final slice holds the modulus too (todo: distribute evenly?) + counts[slice_count-1] += (extend % slice_count); // final slice holds the modulus too (todo: distribute evenly?) // and initialize the free list by randomly threading through them // set up first element const uintptr_t r = _mi_heap_random_next(heap); size_t current = r % slice_count; counts[current]--; - mi_block_t *const free_start = blocks[current]; + mi_block_t* const free_start = blocks[current]; // and iterate through the rest; use `random_shuffle` for performance - uintptr_t rnd = _mi_random_shuffle(r | 1); // ensure not 0 - for (size_t i = 1; i < extend; i++) - { + uintptr_t rnd = _mi_random_shuffle(r|1); // ensure not 0 + for (size_t i = 1; i < extend; i++) { // call random_shuffle only every INTPTR_SIZE rounds - const size_t round = i % MI_INTPTR_SIZE; - if (round == 0) - rnd = _mi_random_shuffle(rnd); + const size_t round = i%MI_INTPTR_SIZE; + if (round == 0) rnd = _mi_random_shuffle(rnd); // select a random next slice index - size_t next = ((rnd >> 8 * round) & (slice_count - 1)); - while (counts[next] == 0) - { // ensure it still has space + size_t next = ((rnd >> 8*round) & (slice_count-1)); + while (counts[next]==0) { // ensure it still has space next++; - if (next == slice_count) - next = 0; + if (next==slice_count) next = 0; } // and link the current block to it counts[next]--; - mi_block_t *const block = blocks[current]; - blocks[current] = (mi_block_t *)((uint8_t *)block + bsize); // bump to the following block - mi_block_set_next(page, block, blocks[next]); // and set next; note: we may have `current == next` + mi_block_t* const block = blocks[current]; + blocks[current] = (mi_block_t*)((uint8_t*)block + bsize); // bump to the following block + mi_block_set_next(page, block, blocks[next]); // and set next; note: we may have `current == next` current = next; } // prepend to the free list (usually NULL) - mi_block_set_next(page, blocks[current], page->free); // end of the list + mi_block_set_next(page, blocks[current], page->free); // end of the list page->free = free_start; } -static mi_decl_noinline void mi_page_free_list_extend(mi_page_t *const page, const size_t bsize, const size_t extend, mi_stats_t *const stats) +static mi_decl_noinline void mi_page_free_list_extend( mi_page_t* const page, const size_t bsize, const size_t extend, mi_stats_t* const stats) { UNUSED(stats); -#if (MI_SECURE <= 2) + #if (MI_SECURE <= 2) mi_assert_internal(page->free == NULL); mi_assert_internal(page->local_free == NULL); -#endif + #endif mi_assert_internal(page->capacity + extend <= page->reserved); mi_assert_internal(bsize == mi_page_block_size(page)); - void *const page_area = _mi_page_start(_mi_page_segment(page), page, NULL); + void* const page_area = _mi_page_start(_mi_page_segment(page), page, NULL ); - mi_block_t *const start = mi_page_block_at(page, page_area, bsize, page->capacity); + mi_block_t* const start = mi_page_block_at(page, page_area, bsize, page->capacity); // initialize a sequential free list - mi_block_t *const last = mi_page_block_at(page, page_area, bsize, page->capacity + extend - 1); - mi_block_t *block = start; - while (block <= last) - { - mi_block_t *next = (mi_block_t *)((uint8_t *)block + bsize); - mi_block_set_next(page, block, next); + mi_block_t* const last = mi_page_block_at(page, page_area, bsize, page->capacity + extend - 1); + mi_block_t* block = start; + while(block <= last) { + mi_block_t* next = (mi_block_t*)((uint8_t*)block + bsize); + mi_block_set_next(page,block,next); block = next; } // prepend to free list (usually `NULL`) @@ -606,11 +544,11 @@ static mi_decl_noinline void mi_page_free_list_extend(mi_page_t *const page, con Page initialize and extend the capacity ----------------------------------------------------------- */ -#define MI_MAX_EXTEND_SIZE (4 * 1024) // heuristic, one OS page seems to work well. -#if (MI_SECURE > 0) -#define MI_MIN_EXTEND (8 * MI_SECURE) // extend at least by this many +#define MI_MAX_EXTEND_SIZE (4*1024) // heuristic, one OS page seems to work well. +#if (MI_SECURE>0) +#define MI_MIN_EXTEND (8*MI_SECURE) // extend at least by this many #else -#define MI_MIN_EXTEND (1) +#define MI_MIN_EXTEND (1) #endif // Extend the capacity (up to reserved) by initializing a free list @@ -618,47 +556,40 @@ static mi_decl_noinline void mi_page_free_list_extend(mi_page_t *const page, con // Note: we also experimented with "bump" allocation on the first // allocations but this did not speed up any benchmark (due to an // extra test in malloc? or cache effects?) -static void mi_page_extend_free(mi_heap_t *heap, mi_page_t *page, mi_tld_t *tld) -{ +static void mi_page_extend_free(mi_heap_t* heap, mi_page_t* page, mi_tld_t* tld) { mi_assert_expensive(mi_page_is_valid_init(page)); -#if (MI_SECURE <= 2) + #if (MI_SECURE<=2) mi_assert(page->free == NULL); mi_assert(page->local_free == NULL); - if (page->free != NULL) - return; -#endif - if (page->capacity >= page->reserved) - return; + if (page->free != NULL) return; + #endif + if (page->capacity >= page->reserved) return; size_t page_size; - //uint8_t* page_start = + //uint8_t* page_start = _mi_page_start(_mi_page_segment(page), page, &page_size); mi_stat_counter_increase(tld->stats.pages_extended, 1); // calculate the extend count const size_t bsize = (page->xblock_size < MI_HUGE_BLOCK_SIZE ? page->xblock_size : page_size); size_t extend = page->reserved - page->capacity; - size_t max_extend = (bsize >= MI_MAX_EXTEND_SIZE ? MI_MIN_EXTEND : MI_MAX_EXTEND_SIZE / (uint32_t)bsize); - if (max_extend < MI_MIN_EXTEND) - max_extend = MI_MIN_EXTEND; + size_t max_extend = (bsize >= MI_MAX_EXTEND_SIZE ? MI_MIN_EXTEND : MI_MAX_EXTEND_SIZE/(uint32_t)bsize); + if (max_extend < MI_MIN_EXTEND) max_extend = MI_MIN_EXTEND; - if (extend > max_extend) - { + if (extend > max_extend) { // ensure we don't touch memory beyond the page to reduce page commit. // the `lean` benchmark tests this. Going from 1 to 8 increases rss by 50%. - extend = (max_extend == 0 ? 1 : max_extend); + extend = (max_extend==0 ? 1 : max_extend); } mi_assert_internal(extend > 0 && extend + page->capacity <= page->reserved); - mi_assert_internal(extend < (1UL << 16)); + mi_assert_internal(extend < (1UL<<16)); // and append the extend the free list - if (extend < MI_MIN_SLICES || MI_SECURE == 0) - { //!mi_option_is_enabled(mi_option_secure)) { - mi_page_free_list_extend(page, bsize, extend, &tld->stats); + if (extend < MI_MIN_SLICES || MI_SECURE==0) { //!mi_option_is_enabled(mi_option_secure)) { + mi_page_free_list_extend(page, bsize, extend, &tld->stats ); } - else - { + else { mi_page_free_list_extend_secure(heap, page, bsize, extend, &tld->stats); } // enable the new free list @@ -666,18 +597,16 @@ static void mi_page_extend_free(mi_heap_t *heap, mi_page_t *page, mi_tld_t *tld) mi_stat_increase(tld->stats.page_committed, extend * bsize); // extension into zero initialized memory preserves the zero'd free list - if (!page->is_zero_init) - { + if (!page->is_zero_init) { page->is_zero = false; } mi_assert_expensive(mi_page_is_valid_init(page)); } // Initialize a fresh page -static void mi_page_init(mi_heap_t *heap, mi_page_t *page, size_t block_size, mi_tld_t *tld) -{ +static void mi_page_init(mi_heap_t* heap, mi_page_t* page, size_t block_size, mi_tld_t* tld) { mi_assert(page != NULL); - mi_segment_t *segment = _mi_page_segment(page); + mi_segment_t* segment = _mi_page_segment(page); mi_assert(segment != NULL); mi_assert_internal(block_size > 0); // set fields @@ -685,12 +614,12 @@ static void mi_page_init(mi_heap_t *heap, mi_page_t *page, size_t block_size, mi size_t page_size; _mi_segment_page_start(segment, page, block_size, &page_size, NULL); page->xblock_size = (block_size < MI_HUGE_BLOCK_SIZE ? (uint32_t)block_size : MI_HUGE_BLOCK_SIZE); - mi_assert_internal(page_size / block_size < (1L << 16)); + mi_assert_internal(page_size / block_size < (1L<<16)); page->reserved = (uint16_t)(page_size / block_size); -#ifdef MI_ENCODE_FREELIST + #ifdef MI_ENCODE_FREELIST page->keys[0] = _mi_heap_random_next(heap); page->keys[1] = _mi_heap_random_next(heap); -#endif + #endif page->is_zero = page->is_zero_init; mi_assert_internal(page->capacity == 0); @@ -701,44 +630,43 @@ static void mi_page_init(mi_heap_t *heap, mi_page_t *page, size_t block_size, mi mi_assert_internal(page->prev == NULL); mi_assert_internal(page->retire_expire == 0); mi_assert_internal(!mi_page_has_aligned(page)); -#if (MI_ENCODE_FREELIST) + #if (MI_ENCODE_FREELIST) mi_assert_internal(page->keys[0] != 0); mi_assert_internal(page->keys[1] != 0); -#endif + #endif mi_assert_expensive(mi_page_is_valid_init(page)); // initialize an initial free list - mi_page_extend_free(heap, page, tld); + mi_page_extend_free(heap,page,tld); mi_assert(mi_page_immediate_available(page)); } + /* ----------------------------------------------------------- Find pages with free blocks -------------------------------------------------------------*/ // Find a page with free blocks of `page->block_size`. -static mi_page_t *mi_page_queue_find_free_ex(mi_heap_t *heap, mi_page_queue_t *pq, bool first_try) +static mi_page_t* mi_page_queue_find_free_ex(mi_heap_t* heap, mi_page_queue_t* pq, bool first_try) { // search through the pages in "next fit" order size_t count = 0; - mi_page_t *page = pq->first; + mi_page_t* page = pq->first; while (page != NULL) { - mi_page_t *next = page->next; // remember next + mi_page_t* next = page->next; // remember next count++; // 0. collect freed blocks by us and other threads _mi_page_free_collect(page, false); // 1. if the page contains free blocks, we are done - if (mi_page_immediate_available(page)) - { - break; // pick this one + if (mi_page_immediate_available(page)) { + break; // pick this one } // 2. Try to extend - if (page->capacity < page->reserved) - { + if (page->capacity < page->reserved) { mi_page_extend_free(heap, page, heap->tld); mi_assert_internal(mi_page_immediate_available(page)); break; @@ -754,18 +682,15 @@ static mi_page_t *mi_page_queue_find_free_ex(mi_heap_t *heap, mi_page_queue_t *p mi_stat_counter_increase(heap->tld->stats.searches, count); - if (page == NULL) - { + if (page == NULL) { _mi_heap_collect_retired(heap, false); // perhaps make a page available page = mi_page_fresh(heap, pq); - if (page == NULL && first_try) - { + if (page == NULL && first_try) { // out-of-memory _or_ an abandoned page with free blocks was reclaimed, try once again - page = mi_page_queue_find_free_ex(heap, pq, false); + page = mi_page_queue_find_free_ex(heap, pq, false); } } - else - { + else { mi_assert(pq->first == page); page->retire_expire = 0; } @@ -773,27 +698,25 @@ static mi_page_t *mi_page_queue_find_free_ex(mi_heap_t *heap, mi_page_queue_t *p return page; } + + // Find a page with free blocks of `size`. -static inline mi_page_t *mi_find_free_page(mi_heap_t *heap, size_t size) -{ - mi_page_queue_t *pq = mi_page_queue(heap, size); - mi_page_t *page = pq->first; - if (page != NULL) - { -#if (MI_SECURE >= 3) // in secure mode, we extend half the time to increase randomness - if (page->capacity < page->reserved && ((_mi_heap_random_next(heap) & 1) == 1)) - { +static inline mi_page_t* mi_find_free_page(mi_heap_t* heap, size_t size) { + mi_page_queue_t* pq = mi_page_queue(heap,size); + mi_page_t* page = pq->first; + if (page != NULL) { + #if (MI_SECURE>=3) // in secure mode, we extend half the time to increase randomness + if (page->capacity < page->reserved && ((_mi_heap_random_next(heap) & 1) == 1)) { mi_page_extend_free(heap, page, heap->tld); mi_assert_internal(mi_page_immediate_available(page)); } - else -#endif + else + #endif { - _mi_page_free_collect(page, false); + _mi_page_free_collect(page,false); } - - if (mi_page_immediate_available(page)) - { + + if (mi_page_immediate_available(page)) { page->retire_expire = 0; return page; // fast path } @@ -801,6 +724,7 @@ static inline mi_page_t *mi_find_free_page(mi_heap_t *heap, size_t size) return mi_page_queue_find_free_ex(heap, pq, true); } + /* ----------------------------------------------------------- Users can register a deferred free function called when the `free` list is empty. Since the `local_free` @@ -808,32 +732,24 @@ static inline mi_page_t *mi_find_free_page(mi_heap_t *heap, size_t size) a certain number of allocations. ----------------------------------------------------------- */ -static mi_deferred_free_fun *volatile deferred_free = NULL; -static _Atomic(void *) deferred_arg; // = NULL +static mi_deferred_free_fun* volatile deferred_free = NULL; +static _Atomic(void*) deferred_arg; // = NULL -void _mi_deferred_free(mi_heap_t *heap, bool force) -{ +void _mi_deferred_free(mi_heap_t* heap, bool force) { heap->tld->heartbeat++; - if (heap->deferred_free != NULL && !heap->tld->recurse) - { + if (deferred_free != NULL && !heap->tld->recurse) { heap->tld->recurse = true; - ((mi_local_deferred_free_fun *)heap->deferred_free)(heap, force, heap->tld->heartbeat, heap->deferred_arg); - heap->tld->recurse = false; - } - if (deferred_free != NULL && !heap->tld->recurse) - { - heap->tld->recurse = true; - deferred_free(force, heap->tld->heartbeat, mi_atomic_load_ptr_relaxed(void, &deferred_arg)); + deferred_free(force, heap->tld->heartbeat, mi_atomic_load_ptr_relaxed(void,&deferred_arg)); heap->tld->recurse = false; } } -void mi_register_deferred_free(mi_deferred_free_fun *fn, void *arg) mi_attr_noexcept -{ +void mi_register_deferred_free(mi_deferred_free_fun* fn, void* arg) mi_attr_noexcept { deferred_free = fn; - mi_atomic_store_ptr_release(void, &deferred_arg, arg); + mi_atomic_store_ptr_release(void,&deferred_arg, arg); } + /* ----------------------------------------------------------- General allocation ----------------------------------------------------------- */ @@ -842,28 +758,24 @@ void mi_register_deferred_free(mi_deferred_free_fun *fn, void *arg) mi_attr_noex // Because huge pages contain just one block, and the segment contains // just that page, we always treat them as abandoned and any thread // that frees the block can free the whole page and segment directly. -static mi_page_t *mi_huge_page_alloc(mi_heap_t *heap, size_t size) -{ +static mi_page_t* mi_huge_page_alloc(mi_heap_t* heap, size_t size) { size_t block_size = _mi_os_good_alloc_size(size); mi_assert_internal(_mi_bin(block_size) == MI_BIN_HUGE); - mi_page_t *page = mi_page_fresh_alloc(heap, NULL, block_size); - if (page != NULL) - { - const size_t bsize = mi_page_block_size(page); // note: not `mi_page_usable_block_size` as `size` includes padding already + mi_page_t* page = mi_page_fresh_alloc(heap,NULL,block_size); + if (page != NULL) { + const size_t bsize = mi_page_block_size(page); // note: not `mi_page_usable_block_size` as `size` includes padding already mi_assert_internal(bsize >= size); mi_assert_internal(mi_page_immediate_available(page)); - mi_assert_internal(_mi_page_segment(page)->page_kind == MI_PAGE_HUGE); - mi_assert_internal(_mi_page_segment(page)->used == 1); - mi_assert_internal(_mi_page_segment(page)->thread_id == 0); // abandoned, not in the huge queue + mi_assert_internal(_mi_page_segment(page)->page_kind==MI_PAGE_HUGE); + mi_assert_internal(_mi_page_segment(page)->used==1); + mi_assert_internal(_mi_page_segment(page)->thread_id==0); // abandoned, not in the huge queue mi_page_set_heap(page, NULL); - if (bsize > MI_HUGE_OBJ_SIZE_MAX) - { + if (bsize > MI_HUGE_OBJ_SIZE_MAX) { _mi_stat_increase(&heap->tld->stats.giant, bsize); _mi_stat_counter_increase(&heap->tld->stats.giant_count, 1); } - else - { + else { _mi_stat_increase(&heap->tld->stats.huge, bsize); _mi_stat_counter_increase(&heap->tld->stats.huge_count, 1); } @@ -871,26 +783,22 @@ static mi_page_t *mi_huge_page_alloc(mi_heap_t *heap, size_t size) return page; } + // Allocate a page // Note: in debug mode the size includes MI_PADDING_SIZE and might have overflowed. -static mi_page_t *mi_find_page(mi_heap_t *heap, size_t size) mi_attr_noexcept -{ +static mi_page_t* mi_find_page(mi_heap_t* heap, size_t size) mi_attr_noexcept { // huge allocation? - const size_t req_size = size - MI_PADDING_SIZE; // correct for padding_size in case of an overflow on `size` - if (mi_unlikely(req_size > (MI_LARGE_OBJ_SIZE_MAX - MI_PADDING_SIZE))) - { - if (mi_unlikely(req_size > PTRDIFF_MAX)) - { // we don't allocate more than PTRDIFF_MAX (see ) + const size_t req_size = size - MI_PADDING_SIZE; // correct for padding_size in case of an overflow on `size` + if (mi_unlikely(req_size > (MI_LARGE_OBJ_SIZE_MAX - MI_PADDING_SIZE) )) { + if (mi_unlikely(req_size > PTRDIFF_MAX)) { // we don't allocate more than PTRDIFF_MAX (see ) _mi_error_message(EOVERFLOW, "allocation request is too large (%zu bytes)\n", req_size); return NULL; } - else - { - return mi_huge_page_alloc(heap, size); + else { + return mi_huge_page_alloc(heap,size); } } - else - { + else { // otherwise find a page with free blocks in our size segregated queues mi_assert_internal(size >= MI_PADDING_SIZE); return mi_find_free_page(heap, size); @@ -899,19 +807,15 @@ static mi_page_t *mi_find_page(mi_heap_t *heap, size_t size) mi_attr_noexcept // Generic allocation routine if the fast path (`alloc.c:mi_page_malloc`) does not succeed. // Note: in debug mode the size includes MI_PADDING_SIZE and might have overflowed. -void *_mi_malloc_generic(mi_heap_t *heap, size_t size) mi_attr_noexcept +void* _mi_malloc_generic(mi_heap_t* heap, size_t size) mi_attr_noexcept { mi_assert_internal(heap != NULL); // initialize if necessary - if (mi_unlikely(!mi_heap_is_initialized(heap))) - { + if (mi_unlikely(!mi_heap_is_initialized(heap))) { mi_thread_init(); // calls `_mi_heap_init` in turn heap = mi_get_default_heap(); - if (mi_unlikely(!mi_heap_is_initialized(heap))) - { - return NULL; - } + if (mi_unlikely(!mi_heap_is_initialized(heap))) { return NULL; } } mi_assert_internal(mi_heap_is_initialized(heap)); @@ -922,16 +826,14 @@ void *_mi_malloc_generic(mi_heap_t *heap, size_t size) mi_attr_noexcept _mi_heap_delayed_free(heap); // find (or allocate) a page of the right size - mi_page_t *page = mi_find_page(heap, size); - if (mi_unlikely(page == NULL)) - { // first time out of memory, try to collect and retry the allocation once more + mi_page_t* page = mi_find_page(heap, size); + if (mi_unlikely(page == NULL)) { // first time out of memory, try to collect and retry the allocation once more mi_heap_collect(heap, true /* force */); page = mi_find_page(heap, size); } - if (mi_unlikely(page == NULL)) - { // out of memory - const size_t req_size = size - MI_PADDING_SIZE; // correct for padding_size in case of an overflow on `size` + if (mi_unlikely(page == NULL)) { // out of memory + const size_t req_size = size - MI_PADDING_SIZE; // correct for padding_size in case of an overflow on `size` _mi_error_message(ENOMEM, "unable to allocate memory (%zu bytes)\n", req_size); return NULL; }

- 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 nA^z3cjspCz`aHvR81Jun55KHpo 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