On Feb 4, 2008 5:53 PM, Lynn Quam quam@ai.sri.com wrote:
I word of warning:
Weak hashtables (and weak pointers in general) have significant implications for the garbage collector. Even after many attempts to fix the CMUCL garbage collector, the use of weak hashtables still causes problems.
ECL uses the bohem collector presently. Making weak hashtables basically involves adding a GC_register_disappearing_link() wipe out the cell when it finalizes and store a disguised pointer (say, xor ~0 or something) instead of the original pointer. If ECL ever got a precise collector (again) this would be a different story.