garbage collector

Chia-Tien Dan Lo dan at csl.csam.iit.edu
Thu Feb 21 09:18:16 PST 2002


Nope! It is unlikely to have a block marked multiple times because each
object is associated with colors, i.e., tri-color marking. The coloring
mechanism forces the marker not to visit a node recursively.

Dan Lo

 On Thu, 21
Feb 2002, Sanjiv Kumar Gupta wrote:

> 
> 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?
> 
> Thanks
> sanjiv
> 
> -----Original Message-----
> From: Chia-Tien Dan Lo [mailto:dan at csl.csam.iit.edu]
> Sent: Wednesday, February 20, 2002 12:43 PM
> To: kaffe at rufus.w3.org
> 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
> collector.
> > The first step of the Mark phase there is to wall all root Objects and
> mark
> > them as grey. Could anybody tell me what do we mean by root Objects or
> root
> > set etc. and why do we start marking from them.
> > 
> > Regards
> > Sanjiv
> > 
> > -----Original Message-----
> > From: wang wenzhong [mailto:mypigeon at 263.net]
> > Sent: Wednesday, October 31, 2001 2:14 PM
> > To: kaffe at rufus.w3.org
> > 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
> object,but
> > I hardly find corresponding invoking about gc_rm_ref .
> > 
> > I want to know,how garbage collector (or kaffe ?) maintain it's hashtable
> of
> > root references object(not only add,but also delete) ?
> > 
> > thanks
> > 
> 



More information about the kaffe mailing list