C++ Garbage Collecter
Jamie Lokier
jamie.lokier@cern.ch
Fri Aug 27 17:26:00 GMT 1999
Is there a possibility to have GCC emit fixup tables so that GC roots
can be found unambiguously? Something that's independent of any
particular GC implementation.
I'm thinking PC-based tables a bit like the .eh_frame tables, but
different. Like .eh_frame, the efficiency hit on main line code should
be minimal.
It would be a matter of mapping certain PC values to register & stack
maps, where the maps indicate which registers & stack slots contain live
GC roots, and (perhaps) the types of the GC roots.
If it's done by code fragments like exceptions (but the stack isn't
actually unwound for GC), even the more aggressive pointer optimisations
can be permitted provided there's enough information to regenerate the
GC roots in fixup code.
-- Jamie
More information about the Gcc
mailing list