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