1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-27 05:30:23 +02:00
Commit graph

23 commits

Author SHA1 Message Date
Andy Wingo
b517464d7f copy-space: refactor to copy_space_can_allocate 2025-01-24 16:11:11 +01:00
Andy Wingo
ba65e32b00 pcc / copy-space: Allow allocations to fail
This fixes an issue in which minor collection of a nursery full of live
data can fail because of fragmentation, whereas really it should just
fall back to promotion.
2025-01-13 17:22:43 +01:00
Andy Wingo
5fdb14cc5e Remove "ABORTED" atomic forwarding state
It was not distinguishable from "NOT_FORWARDED".
2025-01-13 16:44:12 +01:00
Andy Wingo
b37a7f3862 copy-space: Fix bug computing field logging byte location
Also re-enable survivors in generational-pcc :)
2025-01-13 09:12:34 +01:00
Andy Wingo
4ab72e92b0 gpcc: Don't mix survivors and new objects in same block 2025-01-10 16:40:19 +01:00
Andy Wingo
0b8630145a Copy space clears log bits when obtaining fresh blocks 2025-01-10 16:05:34 +01:00
Andy Wingo
e65c81518d Fix copy space compilation in debug mode
Also add copy_space_should_promote
2025-01-10 16:02:37 +01:00
Andy Wingo
095d2ff953 Copy space maintains block flag indicating which are survivors 2025-01-06 16:59:54 +01:00
Andy Wingo
4f8c7bef61 Refactor copy_space_forward to take src and dst spaces 2025-01-06 16:59:54 +01:00
Andy Wingo
b33efb2759 Copy space can reserve some blocks for field-logging bits
Useful for an oldgen
2025-01-06 16:59:54 +01:00
Andy Wingo
a74a2c129c Copy space has flags, can indicate that space is aligned
This will be useful for copy-space nurseries.
2025-01-06 16:59:54 +01:00
Andy Wingo
922c13a183 Move mmap / munmap / madvise to gc-platform 2025-01-06 16:59:54 +01:00
Andy Wingo
3955d2ad96 Factor out locking utils to separate header 2024-09-30 20:52:45 +02:00
Andy Wingo
691c777e7b Fix ABA problem in the copy space
Same concerns as the previous fix to the nofl space.
2024-09-30 12:29:35 +02:00
Andy Wingo
7984f60eae MMC and PCC defer actual page-out operations to background thread
Should avoid excessive VM traffic when allocating large objects, or when
the adaptive heap sizer is on and we see frequent expansions and
resizes.
2024-09-16 10:00:01 +02:00
Andy Wingo
2818958c59 First version of adaptive heap sizing for pcc and mcc 2024-09-16 09:59:55 +02:00
Andy Wingo
1ff082705e Remove scc
PCC with GC_PARALLEL=0 is exactly equivalent to SCC.  Also now that PCC
will dynamically avoid atomic forwarding if parallelism is disabled at
run-time, there is no need to keep SCC around.
2024-09-10 11:10:47 +02:00
Andy Wingo
6545b34073 Reorder events in event listener; refactors to mmc and pcc
In GC, request mutators to stop before doing anything else; changes the
order of the event listener interface.  Also, refactor mmc to look more
like pcc.
2024-09-10 10:55:38 +02:00
Andy Wingo
1a7d08baac Add separate extents header
Will be useful to let slab heaps grow.
2024-08-30 16:53:20 +02:00
Andy Wingo
e40b224faf Attempt to dynamically choose whether to atomically forward 2024-08-05 15:03:24 +02:00
Andy Wingo
37e57f8c8d Add serial copying collector 2024-08-05 14:41:04 +02:00
Andy Wingo
d3383ad911 Bulk-zero copy-space blocks 2024-08-05 11:48:25 +02:00
Andy Wingo
4c6889b751 Factor copy space out of pcc 2024-08-05 11:40:58 +02:00