daanx
47b5f48b29
renamed vcxproj
2024-12-26 10:08:19 -08:00
Daan Leijen
095f848ae8
fix issue #976
2024-12-24 17:22:58 -08:00
Daan Leijen
26eaa1f4e2
fix cmake to generate mimalloc.dll on windows
2024-12-20 12:52:58 -08:00
Daan Leijen
b51c0974d3
fix cmake for visual studio on arm64
2024-12-19 14:00:54 -08:00
daanx
61a112cde5
fix MI_ARCH test
2024-12-18 14:45:44 -08:00
daanx
69d2b4e991
add comments/doc
2024-12-18 14:41:20 -08:00
daanx
515ae84174
syntax error
2024-12-18 14:35:10 -08:00
daanx
636d646b9c
update arch detection in cmake
2024-12-18 14:20:49 -08:00
Daan Leijen
3feb0d6cea
add Windows arm64 support in cmame; name the mimalloc dll 'mimalloc-override.dll' on Windows with cmake (to match the IDE and minject
2024-12-16 23:09:50 -08:00
daanx
7bb4767607
add asan/ubsan/tsan and valgrind to default debug build
2024-12-10 20:45:59 -08:00
daanx
68bd8744b7
fix spelling
2024-12-08 09:13:48 -08:00
daanx
7c2b09fc3e
only enable architecture specific optimization for armv8.1
2024-12-08 09:02:16 -08:00
daanx
60a8da75ff
Add MI_ARCHOPT support for msvc
2024-12-07 14:16:39 -08:00
daanx
469ade882d
Add MI_ARCHOPT option to enable architecture specific optimizations
2024-12-07 14:03:16 -08:00
daanx
8b6017d976
rename mi_debug_guarded_ to mi_guarded_
2024-11-16 22:42:32 -08:00
daanx
b27d154ffd
add virtual address bits and physical memory to the mem config
2024-11-16 15:37:08 -08:00
Daan
b3828bba9e
disable aligned hinting or SV39 mmu's, issue #939 , and pr #949
2024-10-27 21:58:20 -07:00
Daan
4377abe017
add cmake option to fall back on the fiber api do detect thread termination on windows
2024-10-21 22:59:41 -07:00
Daan
34e66778ec
fix MI_EXTRA_CPPDEFS setting
2024-10-21 05:10:09 -07:00
Daan
394e8c27d8
add cmake option to add C pre processor definitions more easily
2024-10-21 05:02:24 -07:00
Daan
7b5df14bea
initial work on guarded objects
2024-07-16 09:15:59 -07:00
Daan
e0baf882bb
reduce UBSAN parameters to stay within pipeline limits
2024-06-03 21:26:38 -07:00
daanx
f7ba9d9da0
refactor arena-abandoned to be an include for backward compat with existing build scripts
2024-06-03 18:04:59 -07:00
daanx
800034cb99
refactor arena abandonment in a separate file
2024-06-03 17:58:34 -07:00
Daan
4aa97336f7
remove the need for cmake patch in vcpkg port
2024-05-21 12:06:52 -07:00
Daan
9cd7e4cc68
rename library check to find_link_library
2024-05-19 15:43:15 -07:00
Daan
f739e4f2c3
check all link libraries (pthread, rt, and atomic) via check_linker_flag first before using find_library (see also issue #898
2024-05-19 15:38:26 -07:00
Daan
03224e17a0
bump cmake required version to 3.18 and detect libatomic more reliably, see pr #898
2024-05-19 13:25:31 -07:00
Daan
0f6d8293c7
use local dynamic tls for static MUSL builds (see issue #644 )
2024-05-11 08:08:03 -07:00
Daan
e46c1145a5
add separate MI_LIBC_MUSL option (issue #644 )
2024-04-20 16:19:59 -07:00
Daan Leijen
07ae64bd81
faster check for NULL in mi_free by combining with masking
2024-03-24 10:39:22 -07:00
Daan
7df348e2ea
fix typo, #756
2024-03-02 17:07:09 -08:00
Daan
128c7c1876
cleanup thp disable a bit
2024-03-02 16:55:13 -08:00
Daan
182583d3dd
Merge branch 'dev' into dev_thp_disable
2024-03-02 16:49:27 -08:00
Daan
c541a9b32e
Revert setting hardcoded install paths on Haiku #788 , by @begasus
2024-03-02 16:44:06 -08:00
Daan Leijen
3966953b7f
prefer using __builtin_thread_pointer over assembly primitives. Fixes #851 and #852 as well.
2024-03-02 11:50:57 -08:00
David Carlier
388d1aa9bd
new Linux/Android option proposal.
...
Allowing to disable transparent huge pages on Linux/Android, so
we avoid affecting the whole system (such as /sys/kernel/mm/transparent_hugepage/enabled).
2023-07-14 21:55:30 +01:00
daanx
4a85f32f8e
add libc.c source file
2023-05-19 10:24:39 -07:00
Daan
e74159486b
remove deprecated from description (issue #737 )
2023-04-25 10:21:34 -07:00
daanx
a0bd338d96
undeprecate MI_INSTALL_TOPLEVEL (issue #737 )
2023-04-25 08:25:50 -07:00
daanx
a2e1d2b893
add segment map to track valid pointers
2023-04-04 16:00:17 -07:00
daanx
77766e20a6
use only arena's instead of regions
2023-04-04 14:58:06 -07:00
Daan Leijen
accdc4de70
fix MI_SKIP_COLLECT_ON_EXIT syntax (pr #671 by @Unsttopabull)
2023-03-29 16:17:10 -07:00
Daan
c2a2533fba
fix haiku compilation (pr #679 )
2023-03-29 16:02:46 -07:00
Daan Leijen
651ff2c68b
fix cmake for windows
2023-03-29 11:55:00 -07:00
Daan Leijen
2440e60d95
copy static.o to the cmake directory (issue #706 )
2023-03-29 11:48:01 -07:00
Daan Leijen
c0c762611c
add prim/osx directory
2023-03-20 10:49:56 -07:00
Daan Leijen
3ebcc0bac4
fix syntax in cmakelists
2023-03-16 20:13:21 -07:00
Daan Leijen
1a99efc671
integrate ETW windows event tracing into mimalloc as another track tool
2023-03-16 20:08:43 -07:00
Daan Leijen
08a01d26dc
initial commit of new primitive layer
2023-03-14 16:54:46 -07:00
Daan Leijen
2e6ab0f230
add documentation for tracking tools; rename with prefix MI_TRACK_tool
2023-03-06 09:02:38 -08:00
Daan
056c2ce45b
match track free size to tracked malloc size
2023-03-05 11:01:51 -08:00
Daan
20ae35a1d4
remove accidental -fsanitize
2023-03-04 16:03:14 -08:00
Daan
6dcebdc303
fix sizes in memory tracking and padding for huge alignments
2023-03-04 14:49:02 -08:00
Daan
e24c7c9de6
fix asan compilation on macOSX
2023-03-04 09:58:17 -08:00
Daan Leijen
b701d4cbfa
bump cmake minimal version to 3.13 to support CMAKE_INTERPROCEDURAL_OPTIMIZATION -- see PR 656.
2022-12-19 18:39:52 -08:00
Johannes Schindelin
745a34f475
Fix whitespace
...
This mostly deletes trailing spaces.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-12-03 00:24:20 +01:00
Daan Leijen
10981ab122
add initial support for using mimalloc with address sanitizer support; use -DMI_ASAN=ON
2022-11-28 10:55:19 -08:00
Daan
631f22fbda
change library linkage to PRIVATE (issue #646 )
2022-11-22 10:54:40 -08:00
daan
3ad4639aea
fix atomic lib reference, see PR #586
2022-10-31 15:53:36 -07:00
daan
7cb1fdc44e
nicer style for pc_libraries
2022-10-31 15:49:04 -07:00
Daan
907d04c27c
Merge pull request #595 from eli-schwartz/pkg-config
...
cmake: add pkg-config file
2022-10-31 15:42:08 -07:00
Daan
4c241139e9
Merge pull request #588 from TApplencourt/dev
...
Add support for IntelLLVM
2022-10-31 15:32:31 -07:00
daan
d8dd297974
add cmake option MI_WIN_REDIRECT to be able to explicitly disable linking with mimalloc-redirect on windows; always OFF on ARM, fixes issue #591 and #590
2022-10-31 15:26:21 -07:00
daan
74d002b61c
better cmake process for MI_VALGRIND
2022-10-30 14:20:35 -07:00
daan
886fd7d1b8
add cmakefile MI_VALGRIND option
2022-10-30 12:49:29 -07:00
Eli Schwartz
eb97236652
cmake: add pkg-config file
...
pkg-config allows using the library in build systems that are not cmake,
by exporting the same information from the cmake -config files in a
buildsystem-neutral format.
Fixes #16
2022-06-19 14:45:44 -04:00
Thomas Applencourt
8cb6ba2221
add support for IntelLLVM
2022-06-06 16:18:33 +00:00
Daan Leijen
8d6a9df752
update windows pipeline to 2022
2022-04-14 16:47:43 -07:00
Daan Leijen
45044da101
do not turn on C++ compilation on msvc by default
2022-04-14 16:43:10 -07:00
Daan
25ecec3c3b
fix for dynamic overriding on macOS; add warning about C++ compilation (as that does not interact well with interpose)
2022-04-07 16:12:16 -07:00
daan
38639a08c8
fix test-api-fill c++ compilation
2022-02-10 11:58:25 -08:00
daan
ccbc8ae0bb
add huge allocation test (see #544 by @Tiran)
2022-02-10 11:46:28 -08:00
Daan
08e9d4b6c1
small fixes
2022-02-03 15:56:53 -08:00
Daan
df998563bc
Merge pull request #530 from Jarred-Sumner/bun
...
Add MI_SKIP_COLLECT_ON_EXIT flag
2022-02-02 20:41:14 -08:00
Daan
f4e221917b
Merge branch 'dev' into bun
2022-02-02 19:56:27 -08:00
Daan
a3325a9b6f
Merge branch 'master' into dev
2022-02-02 19:51:51 -08:00
Hans Loeblich
a5a87a109b
Include mimalloc-redirect.dll with cmake install
2022-01-26 17:39:58 -06:00
Jarred Sumner
d2e727f0e8
Add MI_SKIP_COLLECT_ON_EXIT flag
2022-01-18 21:11:12 -08:00
Daan Leijen
2cc400d600
update comment
2022-01-10 16:53:19 -08:00
Daan Leijen
05c2a51211
merge from master
2022-01-10 16:20:22 -08:00
akarin
3d91c0e737
cmake: export mimalloc-static as well
...
Otherwise a static only build would not be usable as cmake package
(as mimalloc.cmake wouldn't be generated).
Signed-off-by: akarin <i@akarin.info>
2021-12-26 18:17:53 +09:00
Frank Richter
969f3a6998
Add tests for zero-initialization functions
2021-12-21 16:20:56 +01:00
Frank Richter
51271ba8ea
Replace redundant CMake code for tests with a loop
2021-12-21 12:54:15 +01:00
daan
ee3ae2a425
add deprecated notice
2021-12-15 08:53:55 -08:00
daan
144b4a2d3e
link with libatomic automatically if found
2021-12-15 08:42:58 -08:00
daan
b7d33c2c33
fix MI_ prefix for libraries
2021-12-15 08:41:52 -08:00
Daan
69b6b24688
further improvements to installation directories
2021-12-14 18:29:14 -08:00
Daan
1bbc184082
Merge pull request #493 from viy2/pull_request_on_dev
...
Pull request for issue #490 : set SOVERSION for mimalloc shared lib
2021-12-13 17:26:12 -08:00
Daan
d575aacfde
use find_library for pthread (issue #496 )
2021-12-13 13:10:33 -08:00
Igor Vlasenko
acc64ee5cd
added SOVERSION to mimalloc shared lib (issue #490 )
...
This is a portability improvement.
A cross-platform library needs SOVERSION field for Unix platforms.
With SOVERSION field cmake itself will do proper management of
libmimalloc.so.SOVERSION -> libmimalloc.so.VERSION symlink on Unix,
so a piece of code that tried to emulate this behavior manually
is no more needed and is removed here too.
2021-11-28 19:59:09 +02:00
daan
1c22650719
remove no-invalid-memory-model supression
2021-11-15 10:52:09 -08:00
Daan
5e55525e5e
Merge pull request #483 from joy4eg/install-dirs-dev
...
cmake: removed hardcoded names for top level configuration
2021-11-14 14:49:48 -08:00
daan
c56be7ac5a
show cflags in cmake; fix -fno-builtin-malloc flag
2021-11-13 13:30:03 -08:00
Daan
c47de7eb90
improve macOS overriding
2021-11-04 18:55:12 -07:00
Daan
32ee13f41e
improve macOS M1 performance; use interpose in combination with zone's; add -fno-builtin-malloc flag in building with MI_OVERRIDE
2021-11-02 21:54:44 -07:00
Yaroslav Syrytsia
0ead911b6b
cmake: removed hardcoded names for top level configuration
2021-10-28 12:04:48 +03:00
Daan
e02f88a11c
Fix warnings with g++-11 compilation
2021-10-20 09:55:03 -07:00
Daan
4d89176eb4
add MI_USE_LIBATOMIC to link with -latomic on older systems (see also PR #429 ); rename MI_INTERPOSE to MI_OSX_INTERPOSE
2021-10-20 09:35:58 -07:00
Daan
2d821003b0
don't add prefix if build type is None (PR #427 )
2021-10-19 10:56:13 -07:00