[R6RS] Hashing questions

dyb at cs.indiana.edu dyb at cs.indiana.edu
Fri Jun 16 14:52:32 EDT 2006


> If I may ask with an eye towards our own implementation: In a
> generational (or otherwise incremental) GC how do you keep track of
> what objects that are moved occur in an eq? hash table and thus may
> need rehashing there?

If your system supports guardians (or something like it) you might be able
to use the transport-guardian mechanism described in
http://www.cs.indiana.edu/~dyb/pubs/guardians-pldi93.pdf.  The basic idea
is to maintain a per-generation list of the objects in the table and
rehash them when they are moved.  The trick is to create this list without
building hash tables into the collector.

Kent



More information about the R6RS mailing list