[webkit-dev] JavaScriptCore Conservative Garbage Collector

Darin Adler darin at apple.com
Thu Jun 9 20:45:07 PDT 2005

On Jun 9, 2005, at 1:35 PM, Justin Haygood wrote:

> What does mark conversatively mean? NSPR doesn't have a way to  
> access the stack objects of each thread, so I'm in a bit of a bind.  
> The NSPR threading library does have pretty much everything else a  
> threading library needs, and is very clean.

Marking conservatively means marking every object that is pointed to  
by any value on the stack (or in registers). What "conservative"  
refers to here is that a value on the stack might look like a  
pointer, but actually be a value of another type that just happens to  
look like a pointer, or even uninitialized data. Thus an object  
that's actually garbage might not get collected, hence the collector  
is "conservative" in keeping it alive.

You'll need a threading library that does give a way to find the  
stack of each thread, so you may not be able to use NSPR.

     -- Darin

More information about the webkit-dev mailing list