[Mono-devel-list] Precise allocation / leaking vtables

Ben Maurer bmaurer at ximian.com
Tue Jul 19 20:14:06 EDT 2005


Hey guys,

Miguel wanted a patch that would give us precise (ie, gcj style)
allocation in all domains, even if it means that we need to leak
vtables.

The attach patch makes this tradeoff. Miguel's logic is that the use of
unloading is relatively rare compared to the use of xsp, etc, which make
large amounts of allocations outside of the root domain.

I realize that by leaking the entire domain mempool is not necessary.
However, I didn't want to move vtables into their own mempool as that
would hurt performance on some things (for example, having the vtables
and the interface offset data next to each other in memory can be a
large win).

One other option would be to do a full gc during app domain unloading
and then install some sort of in libgc that would remove objects in the
doomed domain. This is basically what msft does (according to one of
cbrumme's logs). However, because they have a precise gc, they *know*
that all objects in the doomed domain will die and don't have to add any
extra code to enforce that.

-- Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: metadata-precise-allocation-all-domains.patch
Type: text/x-patch
Size: 2196 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20050719/1e83ed89/attachment.bin 


More information about the Mono-devel-list mailing list