Tail Call Optimization is the process by which a smart compiler can make a call to a function and take no additional stack space.
The only situation in which this happens is if the last instruction executed in a function is a call to another function or the function itself.