Date: Wed, 30 Aug 1995 21:34:01 +0200 From: firstname.lastname@example.org (Rainer Blome) To: email@example.com In-Reply-To: 9508301651.AA23068@obj.Eng.Sun.COM (Mario.Wolczko@eng.sun.com) Subject: tail recursion elimination
While this optimization is invisible in a normal execution [during debugging] you will find that a large chunk of your stack is missing.
yes, the self group had written that in some place, i had forgotten.
how about deoptimization then? with tre you can't really do that dynamically, you might have to rerun a huge amount of code, it might not even work at all.
so it should be a user- (programmer-) selectable optimization. the debugger will have to explain that and why the frames are missing.
i was just looking at the implementation of the looping behavior in traits block - it boils down to the _Restart primitive which is even better visible than missing stack frame in the debugger.
btw, i tried to understand what the loopExit[Value]Continue methods do, but failed. they might have sth to do with this discussion, do they? there seem to be no senders of these messages, why are they there?