The VMKit project is an implementation of a JVM and CLI virtual machine (.Net is an implementation of the CLI). It translates Java bytecode and MSIL in the LLVM IR and uses the LLVM framework for optimizations and compilation. For garbage collection, it uses MMTk. You can get and build the source today.
FeaturesVMKit 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 developmentWhy?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
FeaturesVMKit 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 developmentWhy?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