$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Larry Evans (cppljevans_at_[hidden])
Date: 2007-09-18 08:48:56
On 09/17/07 13:31, Achilleas Margaritis wrote:
> O/H Larry Evans ÎγÏαÏε:
>> On 09/17/07 03:30, Achilleas Margaritis wrote:
>>> Larry Evans wrote:
>>>> On 09/16/07 16:56, Achilleas Margaritis wrote:
>> [snip]
>>>> How does this collector determine the location of pointers on the stack
>>>> and within the heap?
>>> An internal bit map is used as a pointer database. Each bit represents 
>>> one pointer location in memory.
[snip]
I'm still fuzzy about how this collector works.  On:
   http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html
there's:
A mark-sweep garbage collector traverses all reachable objects in the 
heap by following pointers beginning with the "roots", i.e. pointers 
stored in statically allocated or stack allocated program variables. All 
such reachable objects are marked. A sweep over the entire heap is the 
performed to restore unmarked objects to a free list, so they can be 
reallocated.
How does this collector determine whether a pointer in the database
is a root pointer?  Wouldn't that method have to be non-portable
or at least dispatch on the OS type to the appropriate method?