[gclist] Need a recommendation

Larry Evans jcampbell3@prodigy.net
Thu, 03 May 2001 09:40:59 -0500


Pavel Zlenko wrote:

> I'm taking part in developing an ORB which includes valuetypes
> functionality. According to CORBA standard, ORB should support some GC
> for the valuetypes. The support for collecting garbage is to be
> implemented through smart pointers, and it is possible to store some
> information inside the objects being pointed to.  At that, there are

Would the virtual function,  subj_push::get_offsets, in:

  http://groups.yahoo.com/group/boost/files/GarbageCollectByTmplSpecializa/gc_sel_ssp.zip

qualify as such "information inside the objects"?

>
> some limitation imposed on such GC:
>
> 1. The only information about structure of references available at run
> time is list of members of each object. That is, it is impossible to

For  this "list of members" to be useful for garbage collection, wouldn't it either
1)just include the smart pointers or 2) have someway to distinguish a smart pointer
member from other members?   In other words, is this list of members used to
enumerate the "internal pointers", i.e. the smart pointers, contained in an object?
In this case, the virtual function, subj_push::push_proxies (contained in the above
mentioned zip file), in effect pushes the elements of  such a list on a stack.  Would
this be useful to you?

>
> obtain for a given reference (smart pointer) any information about the
> object which includes it. It is impossible to tell even whether the
> reference belongs to the root set or to some object.

Would the method  for locating roots described in:

   http://groups.yahoo.com/group/boost/files/GarbageCollectByTmplSpecializa
   /documentation/gcArt.bdy.html (section "Proxy Class Heirarchy", item 3)

work for you?

>
>
> 2. It is better if the algorithm is concurrent/incremental.

Unfortunately, the methods described above do not implement
these features.