I am trying to work on a project regarding garbage collection, where we want to use LLVM to identify the GC roots. While the Shadow Stack GC seems to be well documented, it does not work for our purpose (we need thread-safe collection of roots).
The documentation also describes other root set tracking strategies The ‘Erlang’ and ‘Ocaml’ GCs , and I wanted to examine if they would work for the project. Is there any further documentation on them? In case not, even a link to the implementation would be helpful.