From: Sam S. <sd...@gn...> - 2004-04-28 07:30:57
|
> * Bruno Haible <oe...@py...t> [2004-04-27 14:31:54 +0200]: > > Sam wrote: >> Some smart-ass will use it in his HT and will be stunned with >> >> (setf (gethash 'foo ht) 'bar) >> (gc) >> (gethash 'foo ht) ==> NIL >> >> are we willing to live with this? > > No, we can give an error during (setf gethash). Alternatively, just mark the table as requiring a rehash. Actually, just create all HTs as GC-INVARIANT and turn them into non-invariant as needed. >> if not, we can add a setfable SYS::HT-GC-INVARIANT-P. > > We can verify for the simple cases (EQ, EQL and CLASS-HASHCODE) that all > keys in the hash table are GC-invariant. yes, before marking the HT as GC-INVARIANT, a check should be required. BTW, how about the tree hash code? I sent you my patch a couple of times... -- Sam Steingold (http://www.podval.org/~sds) running w2k <http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/> <http://www.mideasttruth.com/> <http://www.honestreporting.com> We're too busy mopping the floor to turn off the faucet. |