libgcroots project is a library that abstracts the architecture-dependent parts of garbage collector roots acquisition such as register windows of SPARC and register stack backing store of IA-64.
The main part of the code is based on Boehm GC 7.0. With this library, you can easily write your own garbage collector for small footprint, some application-specific optimizations, just learning, or testing experimental ideas.
Implementation Status
This version only supports non-threaded execution contexts started with GCROOTS_call_with_gc_ready_stack(). i.e. Entire stack is not scanned at mark phase.
Since SigScheme the main application of this library does not need both threading and scanning entire stack based on system-dependent absolute stack bottom, I don't have a plan to support these features. If you need them, please port the appropriate codes from Boehm GC. I would like to merge it.
What's New in This Release:
· The base code was updated to Boehm GC 7.0.
· A new API for checking GC protection status was added.
Product's homepage