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

9 commits

Author SHA1 Message Date
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
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
deed415a06 Whippet captures stack when stopping mutators
This is part of work to enable conservative GC.
2022-10-03 16:09:21 +02:00
Andy Wingo
8a51117763 Rework pinning, prepare for conservative tracing
We don't need a pin bit: we just need to mark pinned objects before
evacuation starts.  This way we can remove the stopping / marking race
so that we can always mark while stopping.
2022-08-22 21:11:30 +02:00
Andy Wingo
6ecf226570 More typesafety, more gc_ref 2022-08-16 22:48:46 +02:00
Andy Wingo
b082f5f50d Separate compilation!!!!! 2022-08-16 17:54:15 +02:00
Andy Wingo
9e8940e59f Get handles out of collectors 2022-08-16 11:53:32 +02:00
Andy Wingo
fb71c4c363 Separate tagging from collector
The collector now has an abstract interface onto the embedder.  The
embedder has to supply some functionality, such as tracing and
forwarding.  This is a pretty big change in terms of lines but it's
supposed to have no functional or performance change.
2022-08-12 16:44:38 +02:00