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