guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: module GC bug


From: Marius Vollmer
Subject: Re: module GC bug
Date: Sun, 17 Jul 2005 23:44:24 +0300
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Han-Wen Nienhuys <address@hidden> writes:

> isn't it possible to store the 'module property in a doubly weak hash
> table?

That would work, but the 'module property would then be a special
case.  If we can, we should solve the general problem, I'd say.  

The general problem being that cycles of references where at least one
of the references is weak are not broken up.  For example:

    (define w (make-weak-key-alist-vector 1))
    (vector-set! w o (let ((k "foo"))
                       (acons k k '())))

will never remove the entry from w.

> What you propose sounds very costly,

I don't think so.  With my changes, we normally do three passes over a
weak alist vector, while now we make two.

And since it (hopefully) fixes the bug above, I think it is worth
this.

> and my gut instinct says that I can punch a hole in it as well.

Maybe, but hopefully we can stuff those holes.  I will commit the
change soonish; please try to break it then.

-- 
GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3  331E FAF8 226A D5D4 E405




reply via email to

[Prev in Thread] Current Thread [Next in Thread]