On Mon, 11 Jan 2016 13:51:25 -0700 Tom Tromey <t...@tromey.com> wrote:
> >>>>> "Michael" == Michael Matz <m...@suse.de> writes: > > Michael> Well, that's a hack. A solution is to design something that > Michael> works generally for garbage collected languages with such > Michael> requirements instead of arbitrarily limiting transformations > Michael> here and there. It could be something like the notion of > Michael> derived pointers, where the base pointer needs to stay alive > Michael> as long as the derived pointers are. > > This was done once in GCC, for the Modula 3 compiler. > There was a paper about it, but I can't find it any more. > > The basic idea was to emit a description of the stack frame that their > GC could read. They had a moving GC that could use this information > to rewrite the frame when moving objects. This one perhaps? https://www.cs.purdue.edu/homes/hosking/papers/ismm06.pdf Julian