Commit Graph

92 Commits

Author SHA1 Message Date
daanx
9c24c428cb add more decl_hidden specifiers on extern variables to improve access on arm64 2025-05-04 19:51:13 -07:00
Daan
aad0bc2ae3 fix cast on msvc 2025-05-02 08:09:40 -07:00
daanx
235a0390ee refactor numa_node_count 2025-04-02 10:34:00 -07:00
Daan
26fa8be427 improved accounting of committed bytes (issue #1035) 2025-03-19 18:50:53 -07: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
1b749ea7d8 clean up statistics 2025-03-01 20:51:44 -08:00
daanx
ece1defe5b parameter of clz/ctz is size_t 2025-02-11 14:35:21 -08:00
daanx
de0324e1a7 return length from _mi_snprintf 2025-01-04 22:01:28 -08:00
Daan Leijen
a0a6ad3cf9 add thread_local for c++ 2025-01-03 08:17:32 -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
daanx
e10d0d2dee add declspec hidden to improve codegen on arm64 2024-12-26 10:33:25 -08:00
daanx
47b5f48b29 renamed vcxproj 2024-12-26 10:08:19 -08:00
daanx
587e08ccd4 improve commit stats 2024-12-25 11:12:26 -08:00
Javier Blazquez
83dacd190e free segment map when destroy_on_exit is set 2024-12-22 22:24:13 -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
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
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
daanx
71fec8caf5 add target_segments_per_thread option 2024-11-18 15:05:22 -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
David Carlier
9f0a7ac0be _mi_memcpy/_mi_memzero: tighten criteria for intrinsics for windows.
FSRM is better used for buffer <= 128 bytes and ERMS, if supported for larger
chunks.
2024-11-16 10:05:14 +00:00
Daan
5f35933331 add 0 byte to canary to prevent spurious read overflow to read the canary (issue #951, pr #953) 2024-10-27 21:39:07 -07:00
Daan
aa881733d7 reorganize primitives for process initialization; use special data segment on Windows for thread termination by default on Windows now (issue #869) 2024-10-21 22:56:59 -07:00
Daan Leijen
4234a9bd9d Merge branch 'dev-guarded' into dev 2024-08-21 11:30:33 -07:00
Daan Leijen
b9b529de28 shuffle for 128 bit 2024-08-21 10:45:19 -07:00
daanx
0c19eb60cf initial working guarded pages 2024-08-19 21:21:40 -07:00
Daan
7b5df14bea initial work on guarded objects 2024-07-16 09:15:59 -07:00
QuarticCat
632421da3a fix typos 2024-06-19 10:49:03 +08:00
daanx
96b69d7ef6 fix leak where OS abandoned blocks were not always reclaimed 2024-06-03 17:28:14 -07:00
Daan
7e23576efa remove old mi_abandoned_await_readers 2024-06-03 09:57:03 -07:00
daanx
5501f59f6c only reclaim for exclusive heaps in their associated arena 2024-06-02 13:16:20 -07:00
daanx
8f874555d5 add initial support for visiting abandoned segments per subprocess, upstream for python/cpython#114133 2024-06-02 07:47:08 -07:00
Daan Leijen
0b3cd51249 add initial primitive api for locks 2024-06-01 16:45:20 -07:00
daanx
d9aa19a763 add support for sub-processes (to supportpython/cpython#113717) 2024-06-01 15:57:18 -07:00
daanx
616db104a9 prevent UB in arena reservation 2024-06-01 12:29:48 -07:00
Daan
0c4041fa53 add support for custom heap and page tags, upstream of python/cpython#113742 2024-05-19 08:06:32 -07:00
Daan
710d6138c7 refactor thread meta-data initilazation, upstream of python/cpython#113263 2024-05-18 17:42:47 -07:00
daanx
381da05d8a make mimalloc includes relative to the current file, upstream of python/cpython#113141 2024-05-18 16:48:58 -07:00
daanx
1b21415dfa make retry on oom an option; revise size options to not overflow the long 2024-05-18 09:56:02 -07:00
Daan
7128db7bba simplified aligned allocation; improved codegen; fix mi_good_size with padding included; add MI_MAX_ALIGN_GUARANTEE 2024-05-11 06:43:52 -07:00
Daan
bf5932c3c6 use better purging for segments_collect 2024-04-19 12:43:05 -07:00
Daan
2b7530e183 add segment_collect for forced heap_collect 2024-04-19 12:33:17 -07:00
Daan
32e065bb32 rename segment_thread_collect to segment_collect 2024-04-19 12:11:58 -07:00