>>>>> "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 as Michael> 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. Tom