Joeq: a Java virtual machine
Joeq is a virtual machine that can execute, analyze, and optimize Java class files, x86 ELF object (.o) files, and files in the SUIF intermediate representation. It is implemented in Java, and runs both in a hosted mode (on another JVM) and self-hosted (compiling itself).