For practical implications see Truffle & Graal:
> Truffle works by taking your interpreter and generating a compiler by partial evaluation. So I believe they have written a JVM bytecode interpreter and Truffle makes the JIT.
> I'm super impressed by how the Truffle/GraalVM team has been able to turn this theoretical concept into a system that yields production grade compilers