Commit graph

181 commits

Author SHA1 Message Date
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
Javier Blazquez
83dacd190e free segment map when destroy_on_exit is set 2024-12-22 22:24:13 -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
516e644359 rename option pagemap_commit; always commit the page map on macos (for now) 2024-12-22 16:06:49 -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
89b0d5a357 allocate heaps associated with an arena in that arena 2024-12-21 11:53:29 -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
a5b7d7f264 subprocesses own arena's 2024-12-20 21:38:31 -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
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
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
Daan
f37aff6ee2 fix for macOS 14 and earlier 2024-12-09 22:27:40 -08:00
daanx
ed31847112 fix generic ctz/clz 2024-12-09 20:45:22 -08:00
daanx
c5a2d11193 add extra checks for valid pointers in the pagemap, add max_vabits and debug_commit_full_pagemap options 2024-12-09 20:40:26 -08:00
daanx
bbcbd3cd1f add cast to avoid errors on clang 7 2024-12-09 19:06:06 -08:00
Daan
351cb0c740 small fixes for macOS 2024-12-09 15:16:36 -08:00
daanx
c8607a8d01 remove os_tld and stats parameters to os interface 2024-12-08 17:56:13 -08:00
daanx
2084df3dde add dedicated meta data allocation for threads and tld 2024-12-08 12:20:54 -08:00
daanx
70115d8b8c small fixes 2024-12-06 23:25:53 -08:00
daanx
659a9dd51d fix page info size and order; atomic page flags 2024-12-06 22:37:59 -08:00
daanx
ec9c61c066 initial no more pairmap 2024-12-06 14:53:24 -08:00
daanx
7443ee317e tune free-ing and abandoning 2024-12-05 17:00:23 -08:00
daanx
45f7fb559a small fixes 2024-12-04 00:14:56 -08:00
daanx
bc7fe399b1 large bitmaps working; lock on arena_reserve 2024-12-03 23:35:33 -08:00
daanx
8d9c725482 increase MAX_OBJ_SLICES to a full chunk (32MiB) 2024-12-03 17:27:43 -08:00
daanx
3fc2c8e279 fix assertions 2024-12-03 11:06:07 -08:00
daanx
666c089fc8 revise free reclaim; ensure unown cannot race with a free 2024-12-03 10:51:13 -08:00
daanx
833b091ff9 can run the full test suite 2024-12-02 20:25:44 -08:00
daanx
fe5a314114 add base and size to OS memid 2024-12-02 19:31:36 -08:00
daanx
5e95ebc7a0 fix free stats 2024-12-02 17:46:41 -08:00
daanx
d96c134566 wip: initial version with eager abandonment 2024-12-02 16:01:45 -08:00
daanx
2f789aae9a wip: cannot compile 2024-12-01 16:26:59 -08:00
daanx
1d7a9f62a5 bug fixes 2024-12-01 12:54:16 -08:00
daanx
8f2a5864b8 pass all debug tests 2024-11-30 22:54:57 -08:00
daanx
9ebe941ce0 first version that passes the make test 2024-11-30 20:21:32 -08:00
daanx
55b70f1588 wip 2024-11-30 14:00:07 -08:00
daanx
f8d04dc2bc compile with clang and gcc 2024-11-30 12:41:11 -08:00