Guile Lab Notebook: On the Move
10 months ago
- #Guile
- #garbage-collection
- #performance
- Guile has been connected to a mostly-moving garbage collector with conservative stack scanning.
- The collector marks objects in place by default but can evacuate objects to reserved blocks when compacting.
- Objects can be pinned in place, which is useful for handling ambiguous references and identity hashes.
- Significant refactoring was done in Guile to centralize object tracing without exposing internal details.
- Several bugs were found, mostly in Guile rather than the garbage collector (Whippet).
- A notable bug involves race conditions during object evacuation and marking, leading to potential corruption.
- Performance improvements are observed but require further testing and heuristic adjustments.