[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-hackers] [PATCH] [5] Simplify weak symbol GC and make it th
From: |
felix . winkelmann |
Subject: |
Re: [Chicken-hackers] [PATCH] [5] Simplify weak symbol GC and make it the default |
Date: |
Thu, 29 Sep 2016 15:12:34 +0200 |
> On Thu, Sep 29, 2016 at 01:49:47PM +0200, address@hidden wrote:
> > Hello!
> >
> > I'm currently trying to evaluate these patches and have a few questions:
> >
> > - If I understand correctly, a symbol must be explicitly persisted by
> > marking it using
> > "C_i_persist_symbol", but that only seems to happen when assigning to a
> > global in
> > the evaluator, or when using "C_putprop", "remprop!" or "(set!
> > (symbol-plist ...) ...)". What about
> > assignments in compiled code (which uses ##sys#setslot)?
>
> It's quite possible that I overlooked that. But from what I recall those
> symbols are statically allocated and always marked by the GC through the
> literal frames, so they should not need to be explicitly marked as
> persisted. Remember, symbols are kept alive by any reference to them,
> so even if they're not marked as persisted, as long as something refers
> to them they will stick around.
>
> > - Shouldn't C_COLLECT_ALL_SYMBOLS defined in chicken.h instead of all
> > makefiles?
> > Or do you anticipate that this may be undesirable on some platforms?
>
> I think the patch was _removing_ the option, because it is no longer
> optional.
Never mind. I was confused.
felix