This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: robustness vs. conservative GC


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]