Commit graph

731 commits

Author SHA1 Message Date
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
Daan
a080e3263a Merge remote-tracking branch 'T9/dev' into dev 2025-05-02 16:34:51 -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
aad0bc2ae3 fix cast on msvc 2025-05-02 08:09:40 -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
a78374d816 bump version to 1.9.4 for further development 2025-03-28 14:22:02 -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
632eab958b fix for atomic_yield on arm 32-bit, issue #1046 2025-03-25 16:02:29 -07:00
Daan
a077311a5e improve tracking of malloc_requested count 2025-03-21 19:40: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
daanx
4aae566191 fix link error with msvc in C mode (issue #1030) 2025-03-10 12:17:46 -07:00
Daan
2fc6b14bab bump version to 1.9.3 for further development 2025-03-06 21:03:51 -08:00
Daan
9eac969ea5 improve atomic stat merging 2025-03-06 20:14:33 -08:00
Daan
71c61c4b91 fix multi-threaded access in stats merging 2025-03-06 19:52:06 -08:00
Daan
db831d4cf4 make mi_options_print, mi_arenas_print, and mi_stats_print independent of the vebosity setting 2025-03-03 16:23:28 -08:00
Daan Leijen
58d13f6a4f collect every N generic calls 2025-03-02 17:06:25 -08:00
Daan Leijen
4f1edad4fe add arena_purges stat 2025-03-02 16:36:16 -08:00
Daan Leijen
c910750bbe fix mi_stat_get_json signature 2025-03-02 15:39:08 -08:00
Daan Leijen
09ad6d2819 initial statistics api 2025-03-02 15:34:37 -08:00
Daan Leijen
1b749ea7d8 clean up statistics 2025-03-01 20:51:44 -08:00
Daan Leijen
56aba086ea remove superfluous stat fields (count and freed) 2025-03-01 16:52:48 -08:00
Daan Leijen
bdaeb1d469 remove stat_adjust 2025-03-01 16:29:28 -08:00
daanx
5f6ebb70fa add mi_options_print and mi_arenas_print 2025-02-28 17:30:41 -08:00
daanx
ece1defe5b parameter of clz/ctz is size_t 2025-02-11 14:35:21 -08:00
daanx
ec4aa62b65 use physical memory in kib to avoid overflow of size_t (issue #1010) 2025-02-11 09:12:29 -08:00
Daan
156687ac8b rename to mi_thread_set_in_threadpool 2025-02-10 20:26:19 -08:00
daanx
08ebe070a4 add mi_heap_set_in_threadpool 2025-02-10 20:11:52 -08:00
Daan Leijen
7fa3b41fc9 limit object size in pages to 1/8th 2025-01-07 19:30:52 -08:00
Daan Leijen
5764845c4d fix build on msvc in C compilation; fix build with clang-cl on Windows 2025-01-06 10:27:46 -08:00
Daan Leijen
9ec5da08b2 bump version for further development 2025-01-05 15:45:04 -08:00
daanx
aa8e8ab58d remove mi_debug_show_arenas parameter 2025-01-05 11:42:17 -08:00
daanx
de0324e1a7 return length from _mi_snprintf 2025-01-04 22:01:28 -08:00
Daan Leijen
27687718bc bump version to 1.8.9 for further development 2025-01-03 18:44:23 -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
b5251a7488
Merge pull request #905 from fd00/cygwin
Build on cygwin
2024-12-30 12:31:11 -08:00
Daan
f33aa58d88
Merge branch 'dev' into dev 2024-12-30 12:27:46 -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
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
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