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
signature.asc
Description: Digital signature
_______________________________________________ Chicken-hackers mailing list Chicken-hackers@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-hackers