[Mono-devel-list] Garbage Collection problem

Marcus mathpup at mylinuxisp.com
Wed Oct 1 15:23:13 EDT 2003


Just because a GC in conservative does not mean that it cannot compact the 
heap. In fact, the Modula-3 garbage collector is conservative (and runs in 
incremental mode by default on many platforms), yet it is able to compact the 
heap. The Modula-3 collector is based on Barlett's work:

http://www.research.compaq.com/wrl/techreports/abstracts/88.2.html

Also, some documentation is found in the Modula-3 interface RTCollector.i3:

http://research.compaq.com/SRC/m3sources/html/runtime/src/common/
RTCollector.i3.html


On Wednesday 01 October 2003 5:51 am, Michal Moskal wrote:

> Mono uses Boehm GC, that is *conservative*, i.e. it can never tell if
> given data is integer or a pointer. Which means it cannot touch pointers
> (since they could be integers). And hence it cannot move data around.
> On the plus side -- it can be used to garbage collect C, or any other
> machine code, as long as it doesn't store pointers in external memory.
> OTOH it is possible to have precise garbage collection in .NET, but it's
> a lot harder.



More information about the Mono-devel-list mailing list