chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re[2]: [Chicken-users] Questions on changing Chicken runtime and som


From: felix winkelmann
Subject: Re: Re[2]: [Chicken-users] Questions on changing Chicken runtime and some other stuff
Date: Wed, 21 Dec 2005 09:19:34 +0100

On 12/20/05, John Cowan <address@hidden> wrote:
> felix winkelmann scripsit:
>
> > The secondary
> > heap follows a normal stop-and-copy GC strategy. That's really all
> > there is to it.
>
> Tell us the details!  A single generation, or multiple generations?  Do 
> objects
> get tenured eventually?

The stack and the heap represent the first and second generation (there are no
other generations). The stack grows and grows (due to the CPS into which
the code is translated) and fills with data. Once a limit is reached,
live data,
that is, references directly or indirectly via roots or the current
continuation,
is copied into the heap (second generation). Once data is in the heap,
it is handled in a standard stop-and-copy manner with two semispaces between
which data is copied back and forth on every major collection.
One point that makes things a bit complicated is dynamic resizing of the
heap (second generation), but basically everything is just stop-and-copy.


cheers,
felix




reply via email to

[Prev in Thread] Current Thread [Next in Thread]