[Mono-list] Garbage collector in incremental mode?

Michel Dagenais michel.dagenais@polymtl.ca
10 Oct 2002 09:44:03 -0400


> In other words, turning on incremental collection would require
> carefully vetting the mono source code to make sure that there are no
> calls to system calls that might write directly to memory allocated
> with GC_malloc() and friends.  There might also be some nasty
> interactions with the C interface (PlatformInvoke etc.)

We had a mostly copying VM synchronised incremental GC in the Modula-3
world based on the same principle, write protecting gc heap pages to
detect modified pages. This and other incremental mechanisms helped a
lot the responsiveness of interacte applications. However, each system
call needed a wrapper to test (write) all the writable arguments while
still in userland, thus taking the write protection fault there instead
of having the system call failing. It was the most problematic section
in terms of maintenance. Glibc, at least at the time, did change
regularly.