Hasty Briefsbeta

Bilingual

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.