Tail recursion elimination is a special case of
tail call elimination in which the tail call is a call to the function itself. In that case the call can be replaced by a jump to the start of the function after moving the new arguments to the appropriate registers or stack locations.
This
ProgramOptimization changes linear stack usage into constant stack usage and is especially important in the compilation of functional programming languages in which recursive functions are used instead of loops.
--
EelcoVisser - 06 Dec 2001
CategoryOptimization