Commit graph

764 commits

Author SHA1 Message Date
daanx
d21114b5f2 improve page commit on demand 2024-12-24 11:37:52 -08:00
daanx
ba68810333 commit page on demand 2024-12-23 18:33:37 -08:00
daanx
9a7c0d443a max obj size 1/8 of a page 2024-12-23 17:15:13 -08:00
daanx
b515a0ad4c add _mi_os_guard_page_size 2024-12-23 16:28:34 -08:00
daanx
88d8ee964f remove is_large member (and use is_pinned for this) 2024-12-23 15:04:06 -08:00
daanx
657135de36 commit 2level page-map on over-commit systems 2024-12-23 09:53:52 -08:00
daanx
04970f43e5 document way to use a TLS slot on windows 2024-12-22 21:55:40 -08:00
daanx
dd1b37c9f8 fix recursive tls access on macOS <= 14 2024-12-22 21:03:03 -08:00
daanx
db82baf1a8 cleanup, some renaming 2024-12-22 18:09:16 -08:00
daanx
773fe7ae5b support full secure build 2024-12-22 17:25:58 -08:00
daanx
516e644359 rename option pagemap_commit; always commit the page map on macos (for now) 2024-12-22 16:06:49 -08:00
daanx
c5cfc92f0c small fixes 2024-12-22 14:39:57 -08:00
daanx
a42a2a926b improving level 2 page-map 2024-12-22 14:18:33 -08:00
daanx
3c7d7e1f11 experiment with 2 level pagemap 2024-12-22 14:07:57 -08:00
daanx
93fa8d895a revert back to flat address map 2024-12-22 12:18:53 -08:00
daanx
56cbddfc7e initial work on a two-level page-map 2024-12-21 23:08:52 -08:00
daanx
da17a59bdb re-add deferred free and heap retired collect 2024-12-21 15:53:50 -08:00
daanx
1a6fbdf0b2 merge from dev 2024-12-21 15:48:49 -08:00
daanx
825dd41769 fix build error 2024-12-21 15:29:39 -08:00
daanx
476d4699ff limit purgeing to one purge cycle per purge delay 2024-12-21 15:24:46 -08:00
daanx
e3ebebb990 update lock primitive; fix arena exclusive allocation 2024-12-21 14:39:17 -08:00
daanx
7d46478a5f add initial load/unload for heaps 2024-12-21 13:19:06 -08:00
daanx
89b0d5a357 allocate heaps associated with an arena in that arena 2024-12-21 11:53:29 -08:00
daanx
4ad7fedd25 track os abandoned pages in a list 2024-12-21 11:35:30 -08:00
daanx
95aeda4cdd merge subproc stats on delete 2024-12-21 10:53:34 -08:00
daanx
dece8a587b make stats part of a subproc 2024-12-21 10:43:08 -08:00
daanx
daac75af36 fix lock recursion 2024-12-20 22:13:58 -08:00
daanx
a5b7d7f264 subprocesses own arena's 2024-12-20 21:38:31 -08:00
daanx
53857ddaa3 Merge branch 'dev' into dev3 2024-12-20 17:32:32 -08:00
daanx
93e14344c7 use srw lock on windows 2024-12-20 17:32:26 -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
8dd605099b fix arm64ec asm 2024-12-19 15:29:40 -08:00
Daan Leijen
58b726be6f better stats for commit on overcommit systems (by not counting on-demand commit upfront) 2024-12-17 18:57:00 -08:00
daanx
21c05019b7 Merge branch 'dev' into dev3 2024-12-17 17:54:24 -08:00
daanx
617190880d add ajust stats to compensate for double counting 2024-12-17 17:53:34 -08:00
daanx
216c04f8d9 clean up bitmap api 2024-12-13 18:39:03 -08:00
daanx
4c81c3cf90 enable purging of free committed slices from arenas 2024-12-13 13:17:00 -08:00
daanx
ba39e4d65b wip: start on purge 2024-12-13 09:03:17 -08:00
daanx
e43eb1f191 nicer debug output 2024-12-12 20:22:24 -08:00
daanx
623eaedf33 add debug output for page map; free tld on thread exit 2024-12-12 19:59:54 -08:00
daanx
94ce342ea9 maintain pages set for arenas; improve arena load/unload 2024-12-11 22:06:25 -08:00
daanx
aed76f2910 wip: allow arena (re)loading 2024-12-11 20:34:23 -08:00
daanx
ccf5e36e6b use frac 8 for reclaim_on_free and reabandon; halve full_page_retain if running in a threadpool 2024-12-11 16:26:39 -08:00
daanx
1c8d15abac fix build error 2024-12-11 14:30:44 -08:00
daanx
ab53a73cbd small updates 2024-12-11 14:29:06 -08:00
daanx
565656919e fix comments in types; fix guarded alignment bug 2024-12-11 13:04:37 -08:00
daanx
24d3c1bc14 heap meta data always uses mi_meta_zalloc 2024-12-11 09:16:28 -08:00
daanx
64c4181ffa better block alignment 2024-12-10 20:32:48 -08:00
daanx
7cd8f31f30 improve popcount 2024-12-10 14:50:55 -08:00
Daan
f37aff6ee2 fix for macOS 14 and earlier 2024-12-09 22:27:40 -08:00