[Mono-dev] GC precision

Miguel de Icaza miguel at xamarin.com
Thu Aug 7 18:26:06 UTC 2014


This is now controlled with MONO_GC_PARAMS, you can set the variable to

stack-mark=precise

To use precise stack marking.   There are a few reasons that this is not
the default:

   - Legacy: many applications embedding Mono assumed that icalls/pinvokes
   that manipulated managed objects did not require pinning, so we would break
   those apps.

   - Keeping the stack maps requires more memory.

Miguel


On Thu, Aug 7, 2014 at 2:10 PM, Zoltán Tóth <zo1980 at gmail.com> wrote:

> Hi, I am new here and to Mono. I am considering adopting Mono as my main
> platform of programming. I am interested in the precision of the Mono
> garbage collector.
>
> A few months ago I already wrote to the mono-gc list, but have not got
> answer, looks like that list is inactive.
>
> Mono seems to have an exceptionally good description [1] of its GC. From
> that I could learn that even the "precise" GC "still scans some parts of
> the stack conservatively, these include the native frames below the last
> managed frame, the last managed frame, frames belonging to managed->native
> transitions, and all native frames above the first managed frame."
>
> I suspect that that description is several years old. As being
> [admittedly] paranoid of imprecise garbage collection, I hope that Mono may
> have got a totally precise GC already and it is just not documented,
> advertised. Is this the case? Or the documentation is still correct and the
> GC is still imprecise?
>
>
> [1] - http://www.mono-project.com/Generational_GC#Precise_Stack_Marking
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20140807/c2a17dd1/attachment.html>


More information about the Mono-devel-list mailing list