Commit graph

978 commits

Author SHA1 Message Date
Daan
c8c325c8cd fix merge error 2025-06-06 15:46:31 -07:00
Daan
7512b0ef74 merge from dev 2025-06-06 15:22:16 -07:00
Daan
21425bc334 check all os_commit calls and return NULL on failure 2025-06-06 15:13:43 -07:00
daanx
08b64e71a7 use subproc_main for final statistics output to avoid dereferencing the heap 2025-06-06 14:38:20 -07:00
daanx
7c7ecf096f ensure use of subproc_main during unsafe destroy to avoid derefercing the heap 2025-06-06 11:49:44 -07:00
Daan
488304053e merge from dev; check all os_commit calls 2025-06-03 15:26:41 -07:00
Daan
60f7e6a6a8 check all os_commit calls and return NULL on failure 2025-06-03 15:03:47 -07:00
daanx
e19c022238 define mi_decl_align separate from mi_decl_cache_align 2025-05-30 09:36:38 -07:00
daanx
715acc0329 mark assert_fail as cold and noreturn; move assert to internal.h (see issue #1091, and python/cpython#134586) 2025-05-30 09:29:35 -07:00
daanx
3e32b4c385 fix OS allocation size tracking in the memid 2025-05-28 08:37:34 -07:00
daanx
d51e33b18e add _mi_stats_init to initialize the process start time 2025-05-21 19:11:47 -07:00
daanx
8a66ae818a always use non-flat map in secure mode and validate pointers passed to free 2025-05-21 16:32:06 -07:00
daanx
c2621f8fbe Merge branch 'dev3' of https://github.com/microsoft/mimalloc into dev3 2025-05-21 15:56:07 -07:00
Daan
752dc834a9 merge 3301ba0 to fix page_bin and pages statistics 2025-05-21 15:18:29 -07:00
Daan
f2c9967a6e merge from dev 2025-05-21 15:13:54 -07:00
Daan
08c33768a5 fix stats for pages and page_bins 2025-05-21 11:09:34 -07:00
daanx
a7411ae9c5 use proper atomics for the page_map 2025-05-20 21:04:17 -07:00
Daan
9864428349 merge from dev 2025-05-13 17:43:48 -07:00
daanx
41cc1bfe51 add guarded TLS test for Windows fixed TLS 2025-05-13 17:38:16 -07:00
Daan
df3e191620 make windows fixed TLS opt-in 2025-05-13 16:38:53 -07:00
Daan
21378d6d8a merge from dev 2025-05-13 16:13:34 -07:00
daanx
72f05e2f07 fix guarded sample rate of 1 (issue #1085) 2025-05-13 15:58:45 -07:00
daanx
a92f86dc73 add page_cross_thread_max_reclaim option 2025-05-13 14:12:22 -07:00
daanx
3ef6784455 destroy the page map as well if MIMALLOC_DESTROY_ON_EXIT is set; see issue #1041 2025-05-12 22:05:15 -07:00
Daan Leijen
36e1cbfdbc change default page_reclaim_max and change reclamation test to potentially address perf regresion in mimalloc v3 with respect to v2 -- see also https://github.com/leanprover/lean4/pull/7786 2025-05-12 18:02:42 -07:00
daanx
c84d996e88 fix TLS initialization for MI_WIN_USE_FIXED_TLS with redirection 2025-05-05 10:23:52 -07:00
daanx
6bf8a8c4ae Merge branch 'dev' into dev3 2025-05-04 22:03:19 -07:00
daanx
52b75693c4 use TlsAlloc with a dynamic offset for MI_WIN_USE_FIXED_TLS by default (issue #1078) 2025-05-04 22:03:10 -07:00
Daan
63b0989df5 revert use of selectany for msvc (issue #1078) 2025-05-04 21:41:26 -07:00
daanx
9c24c428cb add more decl_hidden specifiers on extern variables to improve access on arm64 2025-05-04 19:51:13 -07:00
daanx
9194362e48 improve TLS access on Windows with msvc (by Frank Richter, issue #1078) 2025-05-04 19:51:13 -07:00
daanx
f4d54c60e3 merge from dev 2025-05-04 09:15:57 -07:00
daanx
f989a1cbb9 add more decl_hidden specifiers on extern variables to improve access on arm64 2025-05-04 09:10:38 -07:00
daanx
e4c5d09d65 improve TLS access on Windows with msvc (by Frank Richter, issue #1078) 2025-05-04 09:04:57 -07:00
Daan
a080e3263a Merge remote-tracking branch 'T9/dev' into dev 2025-05-02 16:34:51 -07:00
daanx
90da648b08 merge from dev 2025-05-02 16:28:57 -07:00
daanx
f3e92b1edd Use second user TLS slot to avoid using reserved fields in the TEB (issue #1078) 2025-05-02 16:12:20 -07:00
Daan
3c3d16fe48 fix mi_ctz/clz/bsf/bsr to avoid msvc compilation bug (issue #1071, pr #1081) 2025-05-02 08:14:36 -07:00
Daan
aad0bc2ae3 fix cast on msvc 2025-05-02 08:09:40 -07:00
daanx
26e4632287 merge from dev 2025-04-02 10:45:18 -07:00
daanx
3c3600f85f add atomic_cas_ptr_strong_acq_rel 2025-04-02 10:36:01 -07:00
daanx
235a0390ee refactor numa_node_count 2025-04-02 10:34:00 -07:00
Daan
71b3e16171 fix invalid pointer detection in release mode (issue #1051 and #1053) 2025-03-31 10:54:12 -07:00
Daan
7d4ee62386 bump version to 3.0.4 for further development 2025-03-28 14:23:18 -07:00
Daan
a78374d816 bump version to 1.9.4 for further development 2025-03-28 14:22:02 -07:00
Daan
9228b4814a make mi_options static, rename out_buf for the debug extension 2025-03-28 13:49:14 -07:00
Daan
11cfb42fa0 Merge branch 'dev' into dev3 2025-03-28 13:39:07 -07:00
Daan
1052c30f03 fix parenthesis in #if condition 2025-03-28 13:09:24 -07:00
Vincent Fazio
23fbee7ec6 atomic: fix mi_atomic_yield for big-endian arm32
Previously, `mi_atomic_yield` would not be defined on ARM32 big-endian
architectures if they were pre-ARMv7.

Rework the #ifdef guard to be more readable and collapse the ARM guards
so both little and big endian are handled via the same mechanism.

Now, ARMv7+ will utilize `yield` while older targets will use `nop`
regardless of endianness.

Signed-off-by: Vincent Fazio <vfazio@gmail.com>
2025-03-28 08:04:07 -05:00
Daan
8da1c1b430 Merge branch 'dev' into dev3 2025-03-25 16:06:25 -07:00