This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: robustness vs. conservative GC
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.