Andy Wingo
898f7aa935
Implement resizing of semi-space heap
...
Not yet hooked up to any demo, though.
2023-02-28 11:19:39 +01:00
Andy Wingo
c42c538aaa
gc_init takes const gc_options
2023-02-28 09:40:28 +01:00
Andy Wingo
8edfd42ca1
Rework semi-space collector to separate regions
...
This is a preparation for heap growth and shrinking.
2023-02-28 09:40:28 +01:00
Andy Wingo
4cb26e0144
Rework options interface
...
Users will want to set options from an environment variable or something
like that. Particular GC implementations will want to expose an
expanded set of options. For these reasons we make the options
interface a bit more generalized and include parsing.
2023-02-15 20:07:14 +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
44f37a373c
Add gc_collect(mutator) API
2023-01-23 11:16:45 +01:00
Andy Wingo
c614c2e40b
Refactor embedder interface for conservative GC
...
Now users don't have to #ifdef on conservative vs precise tracing; it's
just a generic embedder concern.
2022-10-26 11:59:56 +02: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
053dbf0b61
Pass heap to tracer functions
...
This will allow conservative intra-heap edges. Hopefully no overhead?
2022-10-25 14:25: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
d2bde8319f
Add conservative stack capture
...
This isn't really wired up yet anywhere, but add a precursor to
conservative stack scanning.
2022-10-03 16:09:21 +02:00
Andy Wingo
1228e346fa
Fix semi-space collector for refactor
2022-10-03 15:37:01 +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
b082f5f50d
Separate compilation!!!!!
2022-08-16 17:54:15 +02:00