Daan Leijen
4234a9bd9d
Merge branch 'dev-guarded' into dev
2024-08-21 11:30:33 -07:00
Daan Leijen
58e743b83f
fix use_guarded signature
2024-08-21 11:30:00 -07:00
Daan Leijen
cc4dc1bb53
add comments
2024-08-21 11:26:12 -07:00
Daan Leijen
96f7cc4ef2
clean up guarded allocation
2024-08-21 11:21:25 -07:00
daanx
b5c6495f69
don't consider memory as large OS pages if only madvise'd
2024-08-20 15:58:36 -07:00
Daan Leijen
9731941c7b
merge from dev-guarded
2024-08-20 13:11:54 -07:00
Daan Leijen
f130808b5c
fix warnings
2024-08-20 12:58:49 -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
5eb8c752f7
fix UINT32_MAX constant (see issue #913 )
2024-08-13 16:36:53 -07:00
Daan
01503df7f3
move declaration to avoid gcc warning, see issue #919
2024-08-12 13:51:39 -07:00
Michael Neumann
9c9efc417d
Fix build on FreeBSD-derivate DragonFly
2024-07-26 12:11:21 +02:00
Rui Ueyama
566b2c51fc
Add a missing #include
...
This change fixes the "implicit declaration of function 'getenv'" warning.
Since stdlib.h is completely portable, as it is defined by the C standard,
we can safely include it unconditionally.
2024-07-22 09:43:43 +09: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
265767766b
fix alignment test
2024-06-17 16:22:07 -07:00
daanx
3c5e480ce7
fix alignment test
2024-06-17 16:21:46 -07:00
daanx
3726cf94ba
merge from dev
2024-06-17 16:18:03 -07:00
daanx
b7dd5d6564
add extra assertions to check that blocks are always aligned to MI_MAX_ALIGN_SIZE
2024-06-17 16:17:03 -07:00
Danny Lin
e8b5e51b00
Change macOS mmap tag to fix conflict with IOAccelerator
...
Tag 100 is assigned to "IOAccelerator" (the GPU driver stack on Apple silicon), which makes for confusing output when debugging.
To avoid conflicts, use a tag in the reserved application-specific range from 240–255 (inclusive).
All assigned tags: 94d3b45284/osfmk/mach/vm_statistics.h (L773-L775)
2024-06-10 15:06:39 -07:00
Daan
03020fbf81
fix count/size order in mi_heap_alloc_new_n, issue #906
2024-06-04 17:28:04 -07:00
Daan
98058eed14
add heap tag to area descriptor
2024-06-04 16:54:06 -07:00
Daan
64f3afdda4
merge from dev
2024-06-03 21:31:36 -07:00
Daan
08fa864605
rename arena-abandoned to arena-abandon
2024-06-03 21:30:02 -07:00
Daan
0c322c5566
add reference to page_malloc_zero in C++ build
2024-06-03 21:10:05 -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
daanx
76b0873ce2
fix asan tracking by explicitly setting memory to undefined before a free
2024-06-03 20:28:47 -07:00
daanx
614c4944e5
merge from dev
2024-06-03 18:27:33 -07:00
daanx
3f69119936
don't reset a segment thread id when iterating
2024-06-03 18:25:22 -07:00
daanx
065f46cefb
don't reset a segment thread id when iterating
2024-06-03 18:19:45 -07:00
Daan Leijen
7c67114fd4
merge from dev
2024-06-03 18:14:44 -07:00
daanx
f7ba9d9da0
refactor arena-abandoned to be an include for backward compat with existing build scripts
2024-06-03 18:04:59 -07:00
daanx
800034cb99
refactor arena abandonment in a separate file
2024-06-03 17:58:34 -07:00
daanx
96b69d7ef6
fix leak where OS abandoned blocks were not always reclaimed
2024-06-03 17:28:14 -07:00
daanx
00dacba91f
maintain count of the abandoned os list
2024-06-03 15:44:25 -07:00
daanx
3333f776f9
push os abandoned blocks at the tail end
2024-06-03 15:37:05 -07:00
daanx
a04905c88b
revisit atomic reclaim for abandoned segments
2024-06-03 15:20:35 -07:00
daanx
f02a0b3541
more aggressive reclaim from free for OS blocks
2024-06-03 14:05:57 -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
f17ddc3395
increase thread data cache to32 entries
2024-06-03 09:55:02 -07:00
Daan
84334e480a
decrease meta allocation zone to 4k (to reduce .bss)
2024-06-03 09:54:41 -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
e4c8f42bb6
always include sys/prctl.h on linux to disable THP if large_os_pages are not enabled
2024-06-02 16:10:08 -07:00
daanx
f9076a5cf8
use EFAULT if a target heap tag cannot be found on reclaim
2024-06-02 15:54:49 -07:00
daanx
f87ec74bb3
reduce delayed output from redirection to 16KiB to reduce the .bss size
2024-06-02 15:10:17 -07:00