Commit graph

253 commits

Author SHA1 Message Date
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
471bc768e3 Merge branch 'dev-slice' into dev-slice-steal 2024-10-27 22:20:19 -07:00
Daan
c0e1132674 merge from dev 2024-10-27 22:17:23 -07: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
d3455ea29e Merge branch 'dev' into dev-slice 2024-10-27 18:17:38 -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
723869014f add ability to abandon segments after a threshold 2024-10-09 21:24:20 -07:00
Daan
ad02086d3b remove default MI_DEBUG_GUARDED 2024-08-21 17:07:01 -07:00
Daan Leijen
3ec3aaf858 merge from dev 2024-08-21 11:33:11 -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
Daan Leijen
9731941c7b merge from dev-guarded 2024-08-20 13:11:54 -07:00
Daan Leijen
1ab67d44c8 merge from dev-guarded 2024-08-20 12:57:20 -07:00
daanx
8899a11c70 clean up guarded pages code 2024-08-20 11:09:17 -07:00
daanx
635cf7af6a fix multi-threaded free to unprotect guarded blocks 2024-08-20 09:55:57 -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
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
daanx
3333f776f9 push os abandoned blocks at the tail end 2024-06-03 15:37:05 -07:00
Daan
3f2b6e6df9 merge from dev 2024-06-03 11:34:54 -07:00
Daan
7e23576efa remove old mi_abandoned_await_readers 2024-06-03 09:57:03 -07:00
Daan
f77adf4a18 merge from dev (visit abandoned, upstream of python/cpython#114133) 2024-06-02 17:03:13 -07:00
Daan
6b15342709 fix pthread initalization of mutexes 2024-06-02 16:41:07 -07:00
daanx
5501f59f6c only reclaim for exclusive heaps in their associated arena 2024-06-02 13:16:20 -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
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
Daisuke Fujimura (fd0)
78fa139a1c Build on cygwin 2024-05-30 19:38:06 +09:00
Daan
998401b6d7 Merge branch 'dev' into dev-slice 2024-05-21 11:58:10 -07:00
daanx
b9b321d328 use _builtin_thread_pointer also on gcc 11-x64 and clang-14-x64 2024-05-19 20:42:28 -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
66052f135f allow custom thread id, upstream of python/cpython#115488) 2024-05-18 17:05:13 -07:00
Daan
d4a7c0ffcc merge from dev 2024-05-18 16:57:35 -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
c48a21215b fix arm64 windows compilation, upstream of python/cpython#111527 2024-05-18 16:41:39 -07:00
daanx
937fd19338 comment 2024-05-18 16:32:10 -07:00
Daan
1daa4ea627 Merge branch 'dev' into dev-slice 2024-05-18 10:01:31 -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
c27b7c4fae Merge branch 'dev' into dev-slice 2024-05-16 14:41:21 -07:00
Daan
a38c8dd0f9 rename must_free_whole -> has_partial_free 2024-05-16 14:41:10 -07:00