tail call elimination on the java virtual machine .
The Java Virtual Machine Specification