Self-optimizing AST interpreters
The Java Virtual Machine Specification