Warning: Can't synchronize with the repository (Unsupported version control system "darcs": Can't find an appropriate component, maybe the corresponding plugin was not enabled? ). Look in the Trac log for more information.

Issues to resolve for online garbage collection:

  • The core issues is supporting online migration of objects to a different store or contiguous region
  • How would we handle generational GC to avoid moving all objects?
    • A 'gen' slot containing the generation variable?
    • A special tag in the serializer
    • A data store specific method for supporting access to the data for a given object?
  • Do we use multiple data stores and be data store agnostic, or let each data store implement its own policy? Problem is it has to interact with the metaprotocol to handle forwarding pointer - but perhaps that could be generic
  • Real-time or stop-and-copy? Transactions might help here as we could do incremental online garbage collection. Only problem is that persistent reference objects have non-protected internal slots like uid and sc.