Features
VMKit provides the following features:
End-User Features:
* Runs any Java and .Net applications on MacOSX and Unix-based systems.
* Precise garbage collection.
* Just-in-Time and Ahead-of-Time compilation.
* Portable on many architectures (x86, x64, ppc32, ppc64, arm).
Developer Features:
* Relatively small code base (~ 20k loc per VM)
* Infrastructure for running multiple VM/applications in a single process
* Infrastructure for virtual machine research and development
Why?
The development of VMKit was started out of a need to factorize virtual machine development. The JVM and CLI virtual machine have many similarities, but are too high-level to be the basis of a "universal" virtual machine. The LLVM IR on the opposite is low-level enough to be able to execute these VMs. VMKit is a proof of concept implementation towards that direction.
Read more: LLVM Home