1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-09 15:10:29 +02:00
Commit graph

11 commits

Author SHA1 Message Date
Andy Wingo
e270290242 Allow large object space to be part of remembered set 2023-03-15 09:34:12 +01:00
Andy Wingo
78da8d5811 Add ephemeron implementation
This commit adds support for ephemerons to the API and wires it into the
collectors.  It also adds a new test.
2023-01-23 20:56:25 +01:00
Andy Wingo
910b62af8f Add conservative heap tracing (not just roots)
Also accelerate mark_space_live_object_granules.
2022-10-26 10:37:55 +02:00
Andy Wingo
1944b54a19 Whippet can trace conservative roots
Next up, enabling it via the makefiles.
2022-10-03 16:09:21 +02:00
Andy Wingo
6ecf226570 More typesafety, more gc_ref 2022-08-16 22:48:46 +02:00
Andy Wingo
92b8f1e917 Add gc_ prefix to struct heap, struct mutator 2022-08-16 21:35:16 +02:00
Andy Wingo
a4e1f55f37 Implement generational collection
Not really battle-tested but it seems to work.  Need to implement
heuristics for when to do generational vs full-heap GC.
2022-08-02 15:37:02 +02:00
Andy Wingo
09d2df1626 Compute GC yield as fraction of total heap size 2022-07-20 14:40:47 +02:00
Andy Wingo
adc4a7a269 Add large object space to mark-sweep collector
This will let us partition the mark space into chunks of 32 or 64 kB, as
we won't need to allocate chunk-spanning objects.  This will improve
sweeping parallelism and is a step on the way to immix.
2022-04-18 21:20:00 +02:00
Andy Wingo
3315fc7477 Add large object space to semi-space collector 2022-04-14 22:20:27 +02:00
Andy Wingo
619a49ba41 Add large object space
Not wired up yet.
2022-04-13 21:43:18 +02:00