robustness vs. conservative GC

Fergus Henderson fjh@cs.mu.oz.au
Tue Aug 14 23:18:00 GMT 2001


On 15-Aug-2001, Joern Rennecke <amylaar@redhat.com> wrote:
> [someone, I think it was Hans Boehm, wrote:]
> > For one, you basically can no longer use callee-save registers or stacked
> > registers for pointers across procedure calls.  You need to spill everything
> 
> It should be safe if the GC uses setjmp to get a copy of the calee-saved
> registers.

I don't understand what you're talking about here.  What should be safe? 

We were talking about doing (type-)accurate GC, not conservative GC.  With the
scheme for doing accurate GC that I was describing, the GC *doesn't need* to
use setjmp to get a copy of the callee-saved registers, since the back-end
will never store any pointers in callee-saved registers across calls.

If you have some other scheme for doing type-accurate GC, which uses setjmp
to get a copy of the callee-saved registers, then you'd need to explain it
in more detail -- I haven't the foggiest idea of what you have in mind.
But I doubt that any such scheme could work without a high degree
of back-end cooperation.

-- 
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.



More information about the Gcc mailing list