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
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
Daan
632eab958b
fix for atomic_yield on arm 32-bit, issue #1046
2025-03-25 16:02:29 -07:00
Daan
d5dface6fb
merge from dev improved statistics
2025-03-21 19:49:02 -07:00
Daan
a077311a5e
improve tracking of malloc_requested count
2025-03-21 19:40:44 -07:00
Daan
9a8aa8fcc9
merge from dev
2025-03-19 20:35:44 -07:00
Daan
660d749d77
do not default to MI_DEBUG=2 in release mode builds even when NDEBUG is not defined by defininig MI_BUILD_RELEASE (issue #1037 )
2025-03-19 20:29:29 -07:00
Daan
26fa8be427
improved accounting of committed bytes (issue #1035 )
2025-03-19 18:50:53 -07:00
Daan
15f2a9c729
move option_desc_t to internal.h for debugging
2025-03-14 12:55:03 -07:00