On Thu, Sep 29, 2016 at 01:49:47PM +0200, felix.winkelm...@bevuta.com 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.

Cheers,
Peter

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to