[Mono-list] Announce: A .NET assembly -> native code generationtool (ala ngen for MONO)

Fergus Henderson fjh@cs.mu.oz.au
Fri, 2 Aug 2002 01:47:05 +1000

On 01-Aug-2002, Dietmar Maurer <dietmar@ximian.com> wrote:
> We consider the Boehm GC only as temporary solution, so our final ngen
> solution must be able to work with non-conservative collectors.

For one possible approach to accurate collection while compiling to C,
see my recent paper at ISMM'02 [1], which describes how to keep track
of all pointers on the C stack by linking them into a "shadow stack".
However, note that this approach has a fairly significant overhead,
due to pointers not being stored in registers.  (The results for toy
benchmarks in the benchmarks section of this paper are not representative
of the likely results for real programs with larger working sets and
higher register pressure.)  So the overheads might very well outweigh any
gains from using GCC's better optimization.

In the very long run, I would like to see proper support for accurate
GC in GCC, but of course that is a very very difficult task.

[1] Fergus Henderson,
    "Accurate garbage collection in an uncooperative environment".
    In Proceedings of the 2002 International Symposium on Memory Management,
    Berlin, Germany, June 2002, pages 150-156.

Fergus Henderson <fjh@cs.mu.oz.au>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.