This page is part of the web mail archives of SRFI 50 from before July 7th, 2015. The new archives for SRFI 50 are here. Eventually, the entire history will be moved there, including any new messages.
>>>>> "Ray" == Ray Dillinger <bear@xxxxxxxxx> writes: Ray> When you say that SCHEME_GC_PROTECT "registers the <n> variables Ray> (lvalues) with the garbage collector" you mean, I believe, to say that Ray> it adds them to its root set? This would protect the variables, and Ray> anything reachable from them, from GC, regardless of whether they are Ray> reachable from any other scheme variable. Ray> When you say that SCHEME_GC_UNPROTECT "removes the block's protected Ray> values from the garbage collector's list" you mean, I believe, to say Ray> that it removes them from its root set? They would still be protected Ray> from GC if they are still reachable from anything in the remaining Ray> root set. Yes. Ray> If this is what you mean, then I don't think there is a problem with Ray> it except that maybe the wording should be clearer abut the visible Ray> consequences. Good point. Will do. Ray> Is there a rationale for the number 12 in the definition of Ray> SCHEME_DECLARE_GC_PROTECT? It seems an odd choice when it's just as Ray> easy to protect a single freshly-allocated scheme vector of arbitrary Ray> length. No particular one, except that we found that there was a significant number of functions with >10 arguments that were <=12, and very, very few, above 12. -- Cheers =8-} Mike Friede, Völkerverständigung und überhaupt blabla