This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: robustness vs. conservative GC
- To: dewar at gnat dot com, fjh at cs dot mu dot oz dot au
- Subject: Re: robustness vs. conservative GC
- From: dewar at gnat dot com
- Date: Mon, 30 Jul 2001 19:11:48 -0400 (EDT)
- Cc: gcc at gcc dot gnu dot org, lord at regexps dot com
<<Just using a fully-tagged data representation like that is not
sufficient for accurate GC in an uncooperative environment. Relying on
a fully-tagged data representation also requires cooperation from the
compiler back-end. An uncooperative compiler might (a) store arbitrary
values in registers and on the stack, which the GC might mistake for
pointers, or (b) store pointers with the wrong tag in registers or on
the stack, as a result of compiler optimizations.
>>
The tagging must also be present in all values stored in registers (that's
the way the CDC 6600 implementation of Algol-68 worked).