Value reference counting

Daniel Jacobowitz drow@false.org
Mon Jul 20 13:40:00 GMT 2009


On Mon, Jul 20, 2009 at 10:13:35AM +0400, Vladimir Prus wrote:
> > +  /* The number of references to this value.  This initially includes
> > +     one reference from the value chain; if release_value is called,
> > +     it converts that into a normal reference.  */
> > +  int reference_count;
> >  };
> 
> I do not fully understand this comment, specifically the "it converts 
> that into a normal reference". What is "it", what is "that" and what
> is "normal reference" and where the convention happens? From your email,
> I gather it's intentional that release_value does not have to be changed,
> but I don't understand anything else :-( I am sure it's just me, but
> a better comment would be good.

"It" is release_value, and "that" is the one reference.  Is this
clearer?

  /* The number of references to this value.  When a value is created,
     the value chain holds a reference, so REFERENCE_COUNT is 1.  If
     release_value is called, this value is removed from the chain but
     the caller of release_value now has a reference to this value.
     The caller must arrange for a call to value_free later.  */


-- 
Daniel Jacobowitz
CodeSourcery



More information about the Gdb-patches mailing list