[Gc] custom marking

MenTaLguY mental at rydia.net
Wed Aug 23 10:04:40 PDT 2006


In using libgc in large applications, I'm finding it increasingly
difficult to integrate code using libgc with other libraries, because
many create heaps, stacks or threads outside of libgc's control.

In most cases it is unrealistic to require special "libgc-ized" builds
of these libraries, and malloc-replacement mode is neither an option
(the heap is large enough to require typed allocation) nor sufficient
(in the case of threads/alternate stacks).

So far as I can tell, the only way forward at this point is to add hooks
for libgc's marking and thread manipulation operations.  I see that we
already have the beginnings of the former, in gc_mark.h, but the
limitation of marking a subset of objects visible to the conservative
marker means it is useless for my purpose.  There also don't appear to
be any useful thread hooks at this time.

Hans, and anyone else with knowledge of the collector's internals, what
is required to remedy this?

-mental
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: This is a digitally signed message part
Url : http://napali.hpl.hp.com/pipermail/gc/attachments/20060823/09881485/attachment.pgp


More information about the Gc mailing list