[Gc] Re: integrating collection strategies

skaller skaller at users.sourceforge.net
Thu Nov 24 09:59:34 PST 2005


On Thu, 2005-11-24 at 10:17 -0600, Larry Evans wrote:

> 
> There's also the newgroup:
> 
>    gmane.comp.programming.garbage-collection.general

Found, thanks! (however doesn't look used much ..)

> Why not adapt the Customizable Memory Management code:
> 
>    http://www.di.unipi.it/~attardi/software.html

Ftp site seems dead (not sure if that is my ISP or not).
Web site is ok though.

> OOPS.  I guess the "only known symbolically" phrase means the above
> suggestion Felix and CmmObject::traverse is not right.

The tables consist of code like:

	... offsetof(S,m) ...

since the Felix compiler does not know the size or layout
of C structures or types. I would say that is is much
faster than a bitmap (but uses up to 64 times more memory on
a 64 bit machine so maybe not .. :)

> The "once at startup" question is one that's bothered me about

> which contains:
> 
>    SELECTED_FIELDS_DESCRIPTION_OF_RECORD(desc_one_type)
> 
> which is where the "once at startup" occurs.  Actually, it
> occurs the first time the pointer descriptor, similar to
> GC_descr in:
> 
> http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc_typedh.txt
> 
> is accessed.

.. thread safe?

>   This is because the pointer descriptor is stored as a
> static variable, the_builder, inside a static function:
> 
>    descriptor_builder<FieldsVisitor,Record>::ptr

Yup, that's a standard technique, but it worries me.
Both thread safety and dynamic loading are issues.
I definitely do NOT trust dynamic loaders to do
initialisation or access shared variables.

> Please let me know if there's some way I could help
> in this endeavor.

Well sure, it is not only Open Source, liberal licence
(like boost), but very open for developers to contribute :)

So anything from advice to code is welcome!

-- 
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net



More information about the Gc mailing list