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 |
|
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 |
|
Daan Leijen
|
0022802177
|
commend and make at least 8 tries for reclaim
|
2024-03-25 15:25:04 -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
|
a8a53e3e85
|
fix double counting of free-ing for non-thread-local free calls
|
2024-03-24 14:50:15 -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
|
07ae64bd81
|
faster check for NULL in mi_free by combining with masking
|
2024-03-24 10:39:22 -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
|
70e3ce07d1
|
Merge branch 'dev' into dev-abandon
|
2024-03-02 17:34:58 -08:00 |
|
Daan
|
683332c950
|
Define reallocarr as weak to avoid symbol collision on gnu/Linux. #751 by @Romain-Geissler-1A
|
2024-03-02 17:12:58 -08:00 |
|
Daan
|
e1f6516fda
|
Fix undefined symbol errors when building for wasi #758, by @anuraaga
|
2024-03-02 17:05:29 -08:00 |
|
daanx
|
500d2ad1fd
|
ensure non-arena segments are force purged on abandonment; make non-arena reclaim atomic
|
2024-03-01 18:47:59 -08:00 |
|
daanx
|
c4f1f2e079
|
make reclaim tries a percentage of the abandoned count
|
2024-03-01 14:57:46 -08:00 |
|
daanx
|
cf8f73098e
|
start abandoned search randomized
|
2024-03-01 10:51:18 -08:00 |
|