[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Dynamic loading progress
From: |
Aurélien Aptel |
Subject: |
Re: Dynamic loading progress |
Date: |
Thu, 10 Jul 2014 19:21:16 +0200 |
On Thu, Jul 10, 2014 at 12:18 AM, Stefan Monnier
<address@hidden> wrote:
> You could change its handling of PVEC_SUBR such that it calls itself
> recursively on the `doc' field and then make sure the VECTOR_MARKED_P bit
> gets reset to false in gc_sweep.
I understand that marking a symbol which is bound to a subr means we
have to mark the subr i.e. the doc field since we can't free a subr.
But why do we need to do something else? The doc string being either a
cons, an int or a string it will be automatically handled in the
respective sweep_xxx functions. There are no global list of subr that
can be swept AFAIK.
I've only made the mark_object() recursive call. Getting a module
documentation still doesn't work but at least the conses are valid
now.
> Or maybe force those `doc' references to be kept alive by adding
> globally reachable references to them (e.g. have a global list of all
> the cons cells you ever added to such a `doc' field, and then
> `staticpro' that list).
The first solution is better IMHO, it's more intrusive but it limits
the scope of the problem to the GC.
- Dynamic loading progress, Aurélien Aptel, 2014/07/02
- Re: Dynamic loading progress, Stefan Monnier, 2014/07/03
- Re: Dynamic loading progress, Aurélien Aptel, 2014/07/06
- Re: Dynamic loading progress, Stefan Monnier, 2014/07/06
- Re: Dynamic loading progress, Aurélien Aptel, 2014/07/09
- Re: Dynamic loading progress, Stefan Monnier, 2014/07/10
- Re: Dynamic loading progress,
Aurélien Aptel <=
- Re: Dynamic loading progress, Stefan Monnier, 2014/07/10
- Re: Dynamic loading progress, Aurélien Aptel, 2014/07/11
- Re: Dynamic loading progress, Stefan Monnier, 2014/07/11