+1
−0
+7
−5
+37
−23
+1
−1
Loading
The implementation is based on cmucl's weak hash table code.
* scav_vector defers scavenging of weak hash tables until ...
* ... newspace scavenging at which time the deferred weak hash
tables are scavenged according to their WEAKNESS type (this
happens after each scan of newspace)
* finally just before weak pointers are scanned (i.e. with the
purpose of breaking them) the weak hash tables are scanned (i.e.
the appropriate entries are removed) too.