GC (was: kaffe-0.8.x garbage collection problem (at least on m68k))
Michal Cierniak
cierniak at cs.rochester.edu
Thu Mar 13 08:05:37 PST 1997
On Wed, 12 Mar 1997, Tim Wilkinson wrote:
> On Wed, 12 Mar 1997 forsyth at plan9.cs.york.ac.uk wrote:
>
> > indeed, Limbo/Inferno does use a hybrid scheme, with reference counting
> > reclaiming
> > non-circular structures immediately, and another mechanism to
> > reclaim circular structures.
>
> Yes it does and it's quite nice. However, Limbo (and Dis in particular) have
> some notable advantages here. For one, the machines is memory to memory
> rather than stack bases. This means you don't have to move references to
> and from the stack before using them (with the obvious ref++ and ref-- this
> involves). Of course you could optimise this some but I just mention it as
> a complication.
Of course another advantage that Limbo has for reference counting is the
compiler support. By default, structures (called adt's in Limbo) can't be
circular (this condition is enforced conservatively at compile-time). This
allows for very efficient implementation of reference counting.
You are allowed to declare circular data structures in Limbo (by using the
"cyclic" keyword) and then the run-time system will perform garbage
collection by other means.
Michal
P.S. I don't really know Limbo, feel free to read the Limbo manual at
http://inferno.bell-labs.com/inferno/limbo.html and correct me if
misinterpreted something.
More information about the kaffe
mailing list