GC (was: kaffe-0.8.x garbage collection problem (at least on m68k))

forsyth at plan9.cs.york.ac.uk forsyth at plan9.cs.york.ac.uk
Thu Mar 13 12:31:04 PST 1997

>>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.

no, the algorithms used don't rely on it.  here's an extract from the inferno list:

	So the cyclic keyword does not inform the collector anything; the
	collector discovers circular, unreferenced structures with no help
	from the language.  Instead, the notion of 'cyclic' in the language is
	a way of making intentions clear and honoring guarantees about
	storage allocation and, particularly, freeing properties.


in my previous post about gc algorithms i didn't go into this because a discussion
about the merits of this approach didn't seem appropriate for a list devoted to kaffe.
(on a list devoted to Java, i'd go for it, just on principle!)

i once bought a copy of the Java VM Spec and set out to write an implementation.
(i'd found that the JDK was ludicrously messy to port.)
i soon got completely disgusted, made a search of the net, and was relieved to
find Kaffe, which was reasonably easy to port.  tim w. gets my vote of thanks.

More information about the kaffe mailing list