Commit graph

366 commits

Author SHA1 Message Date
Daan Leijen
7ebdfac18b merge from dev 2024-12-31 14:20:00 -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
Javier Blazquez
83dacd190e free segment map when destroy_on_exit is set 2024-12-22 22:24:13 -08:00
daanx
2d01c22cd8 Merge branch 'dev' into dev-slice 2024-12-21 15:33:47 -08:00
daanx
e3ebebb990 update lock primitive; fix arena exclusive allocation 2024-12-21 14:39:17 -08:00
Daan Leijen
806bf8ea7e merge from dev 2024-12-16 23:44:56 -08:00
daanx
c8607a8d01 remove os_tld and stats parameters to os interface 2024-12-08 17:56:13 -08:00
Daan
577246d9ed Merge branch 'dev' into dev-slice 2024-11-25 19:29:49 -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
54ee4e7632 merge from dev 2024-11-17 23:29:21 -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
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
d3455ea29e Merge branch 'dev' into dev-slice 2024-10-27 18:17:38 -07:00
Daan
d951b4dd23 add missing mi_thread_done definition 2024-10-23 00:53:17 -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
daanx
f79ea2461a merge from dev 2024-06-03 21:01:23 -07:00
daanx
b1188ea336 fix potential race on subproc field in the segment 2024-06-03 20:57:00 -07:00
Daan Leijen
7c67114fd4 merge from dev 2024-06-03 18:14:44 -07:00
daanx
96b69d7ef6 fix leak where OS abandoned blocks were not always reclaimed 2024-06-03 17:28:14 -07:00
Daan
3f2b6e6df9 merge from dev 2024-06-03 11:34:54 -07:00
Daan
f17ddc3395 increase thread data cache to32 entries 2024-06-03 09:55:02 -07:00
Daan
f77adf4a18 merge from dev (visit abandoned, upstream of python/cpython#114133) 2024-06-02 17:03:13 -07:00
daanx
855e3b2549 add support to visit _all_ abandoned segment blocks per sub-process, upstream for python/cpython#114133 2024-06-02 09:41:12 -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
f93fb900b7 move lock code to atomic.h 2024-06-01 17:25:45 -07:00
daanx
d9aa19a763 add support for sub-processes (to supportpython/cpython#113717) 2024-06-01 15:57:18 -07:00
Daan
65a0c82ac9 merge from dev (support for heap tag, upstream of python/cpython#113742 2024-05-19 08:10:35 -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
b822a44cfe merge from dev, upstream of python/cpython#113263 2024-05-18 17:47:07 -07:00
Daan
710d6138c7 refactor thread meta-data initilazation, upstream of python/cpython#113263 2024-05-18 17:42:47 -07:00
Daan
69f81732f8 merge from dev, bump version to v2.1.7 2024-05-16 19:07:14 -07:00
Daan
e7f2ffe26c fix build warning on alpine 32-bit 2024-05-16 18:53:50 -07:00
Daan Leijen
0022802177 commend and make at least 8 tries for reclaim 2024-03-25 15:25:04 -07:00
Daan Leijen
7c17c3d33e optimize page struct layout 2024-03-24 22:41:33 -07:00
Daan Leijen
3c85983a35 merge from dev with new page fields (block_size and is_huge) 2024-03-24 22:12:33 -07:00
daanx
006ae2d055 add is_huge page flag to ensure the right page queue is returned (see #868) 2024-03-24 17:07:28 -07:00
Daan Leijen
b5665f0eec add full block_size and page_start to page info 2024-03-24 14:17:17 -07:00
Daan Leijen
6399dbdc30 merge from dev (new free.c) 2024-03-24 09:56:26 -07:00
Daan Leijen
60c4a0fe56 fix compilation warnings for new uint16_t size for used field 2024-03-24 08:10:35 -07:00
Daan
cc809b0cd4 take 16 bits from used field to create a fast unalign path 2024-03-18 01:40:03 -07:00
daanx
abb8eab9b2 merge from dev 2024-03-03 17:43:52 -08:00
daanx
5fe83bf327 limit reclaim from free to half the segments to prevent a pure freeing thread to reclaim too many segments 2024-03-03 17:38:50 -08:00
Daan
bcb8ce94f1 merge from dev-abandon 2024-03-03 14:17:07 -08:00
Daan
027b22aaf2 add arena stats 2024-03-03 09:37:46 -08:00
Daan
7ff4607f6c merge from dev 2024-03-02 17:26:38 -08:00
Daan
16c3f1292c Fix compile error on OpenBSD #773, by @sundb 2024-03-02 16:57:10 -08:00
daanx
2f8fb6aade Merge branch 'dev' into dev-slice 2023-05-19 09:12:59 -07:00
daanx
d7a72c4912 fix thread data leak; issue #748 2023-05-19 09:12:46 -07:00