Jeff Clites <[EMAIL PROTECTED]> wrote: > On Oct 9, 2003, at 8:43 AM, Dan Sugalski wrote:
>... >> Not a huge task, we just need to order PMCs before destroying them, > ..., but there isn't a way to > ask a mark() method to set another flag. This leaves me stuck with > regard to PMCs with custom mark methods (but it's working for the other > PMC flavors of referring). This sounds exactly as it needs the general PMC traverse/iterator too, discussed in the thread "[RfC] vtable->dump". ,--[ /me ]--------------------------------------------------------------- | So I'm speaking of a framework, which calls a vtable->traverse() method | that calls vtable methods (freeze, clone, dump, or whatever) on SELF | and then puts aggregate items (if any) on a TODO list. This | functionality is IMHO that of an iterator. This does address stack | blowing and self-referential structures. `------------------------------------------------------------------------ Using mark() for everything doesn't work as soon as Luke Palmers scheme Subject: "PATCH] Re: Timely Destruction: An efficient, complete solution" is merged (BTW where are the benchmarks). > So, I wanted to see if I'm missing something obvious, or if we need for > mark() to take a parameter to indicate the flag to set. An extra parameter (and check in pobject_lives) would slow down DOD, so rather not. > Thoughts? Yep: vtable->traverse() > JEff leo