Juergen Boemmels wrote:
> 
> Benjamin Goldberg <[EMAIL PROTECTED]> writes:
[snip]
> > Except that generational_dod_helper is much simpler and faster -- it
> > doesn't mark anything as alive or free, it only adjusts the generation
> > of those pmcs that were created in C functions which we have since
> > returned from.
> 
> Its still one full sweep.

Did you read my other message in this thread?

It could/should be much simpler: only a sweep of the stack of newly
allocated pmcs; and since the stack only grows at one end, it's *only*
those newly allocated pmcs whose depths are greater than our current
depth.

> > The generation count doesn't *force* intermediate DOD-runs... or at
> > least, not a *full* DOD, anyway.
> 
> But it needs intermediate sweeps.

But with the generation-number kept seperate from the pmc in a stack,
these intermediate sweeps can be very fast.

-- 
$a=24;split//,240513;s/\B/ => /for@@=qw(ac ab bc ba cb ca
);{push(@b,$a),($a-=6)^=1 for 2..$a/6x--$|;print "[EMAIL PROTECTED]
]\n";((6<=($a-=6))?$a+=$_[$a%6]-$a%6:($a=pop @b))&&redo;}

Reply via email to