(no title)
nekevss | 3 months ago
I don't think I've actually heard of rsgc before. It's definitely interesting to see playXE put it together. I know that they'd been working on starlight at one point, so it'd be interesting to see takeaways from it.
To get to your question on the existing GCs, so far the answer is we don't truly know. We really need to do some GC experiments and test different options in Boa with JavaScript. There are not really that many GC crates out there of which I'm aware. There rust-gc's `gc` crate, dumpster, and `arena-gc` (tack on rsgc). But of those, the `gc` crate truly has the best API that we've used in Boa, but the performance is not ideal amongst other optimizations. It would be nice to preserve that API while improving the performance as well. But that remains to be seen.
amelius|3 months ago
https://docs.rs/rsgc/latest/rsgc/
https://docs.rs/ristretto_gc/latest/ristretto_gc/
https://docs.rs/dumpster/latest/dumpster/
https://docs.rs/shredder/latest/shredder/
I have no experience with them. In any case, it would be advisable to make the GC implementation swappable so that the language is gc-implementation-agnostic.
nekevss|3 months ago
We really have to dig into the experimentation and rewrite before knowing for certain.