[Mono-dev] Issues with GC due to libgc

Dick Porter dporter at codicesoftware.com
Tue Sep 29 12:08:02 EDT 2009


On Mon, 2009-09-28 at 17:41 -0400, Miguel de Icaza wrote:
> Hello,
> 
> > Libgc supports this kind of descriptors and mono already generates
> > them
> > for the sgen gc, so it's just a matter of joining those together
> > (which
> > should beeasy to do). This should improve a great number of scans in
> > the
> > arking process, leaving only stacks and several minor objects without
> > precise marking. (Should become similar to the current sgen idea,
> > where
> > stacks and other roots are scanned conservatively, although not
> > compacting).
> 
> Mono already uses those descriptors for the heap;   There are only two
> cases when it does not use that:
> 
> 	* Scanning the stack, this is done with the conservative 
> 	  collector.
> 
> 	* Any AppDomains that are not the root appdomain.    

I've been looking through the code in svn head.  The only place I can
see an object allocated with mono_gc_alloc_fixed () with the descr
parameter not NULL (which is the only place in boehm-gc mode that calls
GC_MALLOC_EXPLICITLY_TYPED ()) is in object.c,
mono_class_create_runtime_vtable() when class->has_static_refs is true.

Am I missing something here?

- Dick




More information about the Mono-devel-list mailing list