> On Thu, Sep 29, 2016 at 01:49:47PM +0200, [email protected] 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


_______________________________________________
Chicken-hackers mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to