2262 Commits

Author SHA1 Message Date
Daan Leijen
9561ae4286 rename segment_map_destroy to segment_map_unsafe_destroy 2024-12-30 11:00:54 -08:00
Daan
a046b6ff33
Merge pull request #975 from jblazquez/free-segment-map
Free segment map when destroy_on_exit is set
2024-12-30 10:46:53 -08:00
Daan
7bd1d72bfb
Update readme.md to fix links (issue #978) 2024-12-30 10:33:13 -08:00
Daan
095abc9e3d fix TLS slot on macOS 2024-12-26 11:16:04 -08:00
daanx
e10d0d2dee add declspec hidden to improve codegen on arm64 2024-12-26 10:33:25 -08:00
daanx
783dcb4129 add comments about TLS 2024-12-26 10:24:20 -08:00
daanx
47b5f48b29 renamed vcxproj 2024-12-26 10:08:19 -08:00
Daan Leijen
b48ffaf230 Merge branch 'dev' of d:\dev\mimalloc3 into dev 2024-12-25 14:15:13 -08:00
daanx
63f47569f2 fix debug_show_arenas parameters 2024-12-25 13:35:54 -08:00
daanx
587e08ccd4 improve commit stats 2024-12-25 11:12:26 -08:00
daanx
cfe73e9d48 wip: merging from upstream 2024-12-25 10:56:43 -08:00
Daan Leijen
095f848ae8 fix issue #976 2024-12-24 17:22:58 -08:00
Javier Blazquez
83dacd190e free segment map when destroy_on_exit is set 2024-12-22 22:24:13 -08:00
daanx
7085b6cec3 limit candidate search to 4 2024-12-21 15:38:27 -08:00
daanx
825dd41769 fix build error 2024-12-21 15:29:39 -08:00
daanx
476d4699ff limit purgeing to one purge cycle per purge delay 2024-12-21 15:24:46 -08:00
daanx
e3ebebb990 update lock primitive; fix arena exclusive allocation 2024-12-21 14:39:17 -08:00
daanx
93e14344c7 use srw lock on windows 2024-12-20 17:32:26 -08:00
Daan Leijen
f3d83e5fa6 insert full pages at the end of the queue; only override page candidate if the page is not too full 2024-12-20 13:55:31 -08:00
Daan Leijen
df82338d8a don't override a page candidate with a page that is too full 2024-12-20 13:04:30 -08:00
Daan Leijen
26eaa1f4e2 fix cmake to generate mimalloc.dll on windows 2024-12-20 12:52:58 -08:00
Daan Leijen
4ed44f9621 update readme to use mimalloc.dll (instead of mimalloc-override.dll) 2024-12-20 12:52:34 -08:00
Daan Leijen
4b7313914e add updated minject v1.2 that defaults to mimalloc.dll instead of mimalloc-override.dll 2024-12-20 12:52:00 -08:00
Daan Leijen
f8a253e6e8 update IDE settings to match cmake output; in particular mimalloc-override.dll -> mimalloc.dll 2024-12-20 12:51:13 -08:00
Daan Leijen
7456d22fe3 add link for VS generator 2024-12-19 14:22:10 -08:00
Daan Leijen
3a9c402e51 update readme for cmake on windows 2024-12-19 14:18:16 -08:00
Daan Leijen
b51c0974d3 fix cmake for visual studio on arm64 2024-12-19 14:00:54 -08:00
Daan Leijen
2876b8c0c5 update redirection readme 2024-12-19 11:42:38 -08:00
Daan Leijen
0c6235e129 add _base test for redirection 2024-12-19 11:37:42 -08:00
Daan Leijen
c409928f5e Merge branch 'dev' of d:\dev\mimalloc3 into dev 2024-12-19 11:12:44 -08:00
Daan Leijen
130227e399 update redirection modules to v1.3 2024-12-19 11:10:17 -08:00
Daan Leijen
27d929f338 add support for arm64ec 2024-12-18 23:55:37 -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
daanx
617190880d add ajust stats to compensate for double counting 2024-12-17 17:53:34 -08:00
daanx
c2e0aa49c4 update minject to v1.1 2024-12-17 16:07:18 -08:00
Daan Leijen
df593a3ec1 make timeout for tests in the pipeline up to 4 min 2024-12-17 00:35:28 -08:00
Daan Leijen
ac52b6967d update arm64 redirection 2024-12-17 00:06:03 -08:00
Daan Leijen
6ac636e2e2 update readme 2024-12-16 23:22:52 -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
Daan Leijen
de8d73d208 add minject for windows arm64 2024-12-16 22:53:52 -08:00
Daan Leijen
b47c68fefd add redirection dll for windows on arm64 2024-12-16 22:53:23 -08:00
Daan Leijen
d5e1a62a7c add windows arm64 target to vs2022 2024-12-16 22:51:30 -08:00
daanx
91215a5512 ensure incompatible heaps are not absorbed 2024-12-11 09:20:34 -08:00
daanx
7bb4767607 add asan/ubsan/tsan and valgrind to default debug build 2024-12-10 20:45:59 -08:00
Daan
9886379349 fix macos 15 OS name 2024-12-09 21:22:30 -08:00
Daan
2556a2022d fix missing void 2024-12-09 20:50:00 -08:00
daanx
ed31847112 fix generic ctz/clz 2024-12-09 20:45:22 -08:00
daanx
c8607a8d01 remove os_tld and stats parameters to os interface 2024-12-08 17:56:13 -08:00
daanx
d9a2f76ff7 fix write to empty heap in mi_guarded build 2024-12-08 17:23:09 -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
Daan
9b7537755a Merge branch 'dev-steal' into dev 2024-11-25 19:28:35 -08:00
Daan
cd61eb7cf1
Merge pull request #961 from devnexen/windows_tighten_criterias
_mi_memcpy/_mi_memzero: tighten criteria for intrinsics for windows.
2024-11-25 19:25:26 -08:00
Daan
d2937ba3e5
Merge pull request #964 from diegorusso/illegal-instruction
Fix illegal instruction for older Arm architectures
2024-11-25 19:23:06 -08:00
daanx
7673aa2517 ensure forced abandoned pages can be accessed after free 2024-11-25 18:41:57 -08:00
daanx
9b7ac9a1a6 clean up candidate search; add mi_collect_reduce 2024-11-25 16:58:02 -08:00
Diego Russo
3adb19c84c Fix illegal instruction for older Arm architectures
This is a port of the PR https://github.com/python/cpython/issues/125444
2024-11-25 14:23:40 +00:00
daanx
b898dbe3e0 Merge branch 'dev' into dev-steal 2024-11-18 16:12:26 -08:00
daanx
71fec8caf5 add target_segments_per_thread option 2024-11-18 15:05:22 -08:00
daanx
edc7ddd37c Merge branch 'dev' into dev-steal 2024-11-18 11:05:31 -08:00
Daan
3a7b6f0a8d allow build time setting of sample rate 2024-11-18 10:28:00 -08:00
daanx
9cae0d31cd Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2024-11-17 23:30:19 -08:00
daanx
41029d9d49 fix azure pipeline 2024-11-17 23:20:18 -08:00
daanx
e7198ce397 Extend azure pipeline with Ubuntu 24 & 20, windows 2019, and macOS 15 2024-11-17 23:16:59 -08:00
daanx
ff56f6acbc update azure pipeline to use sample rate of 1000 for guarded objects 2024-11-17 23:01:16 -08:00
daanx
b8dc09e3d2 fix asan with MI_GUARDED 2024-11-17 22:56:26 -08:00
daanx
d57cb0765d add guarded objects that are sampled (and fit a size range). guarded sample rate etc can be set per heap as well as defaulted with options 2024-11-17 22:45:09 -08:00
daanx
8ba1879073 add sampling for guarded objects 2024-11-17 00:06:16 -08:00
daanx
8b6017d976 rename mi_debug_guarded_ to mi_guarded_ 2024-11-16 22:42:32 -08:00
daanx
498c92e348 update guarded implementation to use block tags 2024-11-16 21:15:50 -08:00
Daan Leijen
c57e9b855c fix std malloc compile of the stress test 2024-11-16 19:43:13 -08:00
daanx
0e76fe3798 add address hint to primitive allocation API 2024-11-16 16:57:37 -08:00
daanx
b27d154ffd add virtual address bits and physical memory to the mem config 2024-11-16 15:37:08 -08:00
David Carlier
9f0a7ac0be
_mi_memcpy/_mi_memzero: tighten criteria for intrinsics for windows.
FSRM is better used for buffer <= 128 bytes and ERMS, if supported for larger
chunks.
2024-11-16 10:05:14 +00:00
Daan
54940a6a65 update mimalloc-redirect to potentially fix issue #957 2024-11-05 02:07:45 -08:00
Daan
e2f4fe647e update test file 2024-10-29 22:23:21 -07:00
Daan
b5ae6fc555 remove wrong assertion 2024-10-29 20:08:36 -07:00
Daan
30640233a1
Merge pull request #943 from asdf-bro/patch-1
Musl needs __libc* functions too
2024-10-27 22:15:43 -07:00
Daan
c59b0cd7fc
Merge pull request #946 from ArtSin/fix-vsnprintf-int-long-intmax_t
Fix int and long handling and the use of (u)intptr_t in _mi_vsnprintf
2024-10-27 22:12:29 -07:00
Daan
b3828bba9e disable aligned hinting or SV39 mmu's, issue #939, and pr #949 2024-10-27 21:58:20 -07:00
Daan
5f35933331 add 0 byte to canary to prevent spurious read overflow to read the canary (issue #951, pr #953) 2024-10-27 21:39:07 -07:00
Daan
afba03145c
Merge pull request #954 from jimwang118/fix-linux
Fix build error on x64-android
2024-10-27 21:12:58 -07:00
Daan
f126b50382 update comments, set constructor priority to 101 on macOS 2024-10-27 21:10:46 -07:00
Jim-Wang
17802e6528 fix build error on linux 2024-10-28 02:06:58 +00:00
Daan
3cba10e510 update mimalloc-redirect 2024-10-27 01:02:13 -07:00
Daan
532904c85c update mimalloc redirect to v1.2 to handle static destructors that free memory (issue #944) 2024-10-24 01:01:53 -07:00
Daan
ee92b337b9 do not reclaim segments if free-ing from a thread with an already abandoned heap (issue #944) 2024-10-24 00:13:07 -07:00
Daan
2b0d039cf3 fix assertion check 2024-10-23 01:21:41 -07:00
Daan
925efaeac9 improve windows static library initialization to account for thread local destructors (issue #944) 2024-10-23 01:10:00 -07:00
Daan
d951b4dd23 add missing mi_thread_done definition 2024-10-23 00:53:17 -07:00
Daan
6e9b38ac12 fix issue where searching for abandoned blocks would skip the first one 2024-10-22 18:58:55 -07:00
Daan
dfdb9cb877 cleanup process init/done 2024-10-22 06:52:34 -07:00
Daan
104e821709 fix fast divisor for 32-bit platforms 2024-10-22 06:08:56 -07:00
Daan
46e9e7fdd0 fix win32 compilation 2024-10-22 06:06:15 -07:00
Daan
e55ae0aeb7 fix duplicate definition on windows 2024-10-21 23:09:14 -07:00