2294 Commits

Author SHA1 Message Date
Daan Leijen
2451b5685c fix large OS page behaviour on Linux; default is now 2 which only uses large OS pages (not huge) through madvise 2025-01-03 20:00:40 -08:00
Daan Leijen
27687718bc bump version to 1.8.9 for further development 2025-01-03 18:44:23 -08:00
Daan Leijen
8bc0f43f9e fix link in readme v1.8.8 2025-01-03 18:18:05 -08:00
Daan Leijen
30dd2b9bec allow large OS pages on Linux by default (but not on Android) 2025-01-03 18:10:37 -08:00
Daan Leijen
98699c983a update to v1.8.8 2025-01-03 17:56:15 -08:00
Daan Leijen
a0a6ad3cf9 add thread_local for c++ 2025-01-03 08:17:32 -08:00
Daan Leijen
e8c27072a1 fix alignment for mi_manage_os_memory (issue #980) 2025-01-02 17:21:34 -08:00
daanx
b28e2bdd93 fix pointer alignment for zero-sized large alignment case 2025-01-02 15:02:40 -08:00
Daan Leijen
81d69d525e add newline 2024-12-31 14:13:01 -08:00
Daan
b5251a7488
Merge pull request #905 from fd00/cygwin
Build on cygwin
2024-12-30 12:31:11 -08:00
Daan
b5ef802313
Merge pull request #909 from kdrag0n/patch-1
Change macOS mmap tag to fix conflict with IOAccelerator
2024-12-30 12:30:21 -08:00
Daan
e9eb1c8cfe
Merge pull request #911 from QuarticCat/dev
fix typos
2024-12-30 12:28:12 -08:00
Daan
f33aa58d88
Merge branch 'dev' into dev 2024-12-30 12:27:46 -08:00
Daan
e05aae944f
Merge pull request #917 from rui314/missing-include
Add a missing #include
2024-12-30 12:20:08 -08:00
Daan
cf8277f4e8
Merge pull request #918 from mneumann/dev-fix-build-on-dragonflybsd
Fix build on FreeBSD-derivate DragonFly
2024-12-30 12:18:35 -08:00
Daan
1accf3f885
Merge pull request #926 from eltociear/patch-1
docs: update readme.md
2024-12-30 12:18:06 -08:00
Daan
d0f1881948
Merge pull request #934 from doctorlai-msrc/fixtypo
Fix a Typo
2024-12-30 11:45:51 -08:00
Daan Leijen
02efc57c74 Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2024-12-30 11:44:11 -08:00
Daan Leijen
2d94df860b fix potentially warning on gcc (pr #935) 2024-12-30 11:44:03 -08:00
Daan
aa6f203ecd
Merge pull request #967 from jorisgeer/update_readme_valgrind
readme - describe how to run under Valgrind with dynamic override
2024-12-30 11:36:38 -08:00
Daan Leijen
9f70ce5fcd avoid accessing heap->tld after running thread_done (pr #974) 2024-12-30 11:34:02 -08:00
Daan Leijen
e183384ad0 update vs project filter 2024-12-30 11:33:33 -08:00
Daan Leijen
d29372fda4 remove older vs projects as they became stale 2024-12-30 11:15:57 -08:00
Daan Leijen
485b69976f add filters for vs projects 2024-12-30 11:04:30 -08:00
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
Joris van der Geer
bdc87fc91b readme - describe how to run under Valgrind with dynamic override 2024-12-02 20:50:08 +10: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