garbage collector

Sanjiv Kumar Gupta sanjivg at
Wed Feb 20 23:18:59 PST 2002

in kaffe garbage collectore, in startGC(), while marking the rootObjects, a
block may get attached to a grey list or black list multiple times. Thus,
after coming out from startGC() in gcMan(), while we are calling walkBlock()
on each block in grey list we may be actually walking a single block again
and again. Am I correct?


-----Original Message-----
From: Chia-Tien Dan Lo [mailto:dan at]
Sent: Wednesday, February 20, 2002 12:43 PM
To: kaffe at
Subject: RE: garbage collector

Root set is a set that contains object pointers from stacks, registers
and global (static) variables. The root set is the collection of roots in
a object reference graph (may be a forest of trees). All objects reachable
from the root set are marked as live. 

Dan Lo
 On Wed, 20 Feb 2002, Sanjiv Kumar Gupta wrote:

> I am trying to understand the implementation of the Kaffe garbage
> The first step of the Mark phase there is to wall all root Objects and
> them as grey. Could anybody tell me what do we mean by root Objects or
> set etc. and why do we start marking from them.
> Regards
> Sanjiv
> -----Original Message-----
> From: wang wenzhong [mailto:mypigeon at]
> Sent: Wednesday, October 31, 2001 2:14 PM
> To: kaffe at
> Subject: garbage collector
> The garbage collector begin its mark phase from scaning and marking
> registered root references object,then walk and mark other reachable
> objects.
> The file gcRefs.c defines two functions:gc_add_ref and gc_rm_ref,the first
> one add a persistent reference to an object (stored in a hashtable ),the
> next function remove a persistent reference to an object. 
> I know many functions invoke gc_add_ref to add a references to an
> I hardly find corresponding invoking about gc_rm_ref .
> I want to know,how garbage collector (or kaffe ?) maintain it's hashtable
> root references object(not only add,but also delete) ?
> thanks

More information about the kaffe mailing list