The VMKit project is retired
You can still play with the last VMKit release, but the project is not more maintained. Moreover, the information on these pages may be out of date.
If you are interested in restarting the project, please contact Gaël Thomas
Getting Started: Building and Running VMKit
This page gives you the shortest path to checking out vmkit and demos a few options. This should get you up and running with the minimum of muss and fuss. If you like what you see, please consider getting involved with the vmkit community.
Building vmkit / working with the code
If you would like to check out and build the project, the current scheme is:
- Download LLVM 3.3 and Clang 3.3 source code.
- tar zxvf llvm-3.3.src.tar.gz
- cd llvm-3.3.src/tools
- tar zxvf ../../cfe-3.3.src.tar.gz
- mv cfe-3.3.src clang
- cd ..
- ./configure --enable-optimized; make
- Download, compile and install Openjdk version 6u23
- Checkout vmkit:
- svn co http://llvm.org/svn/llvm-project/vmkit/trunk vmkit
- Configure vmkit:
- ./configure
- --with-llvm-config-path=<path/to/llvm-config>
- Tell vmkit where the llvm-config binary is located.
--with-mmtk-plan=-
- org.mmtk.plan.marksweep.MS (default)
- org.mmtk.plan.copyms.CopyMS
- org.mmtk.plan.semispace.SS
- org.mmtk.plan.immix.Immix
- org.mmtk.plan.generational.marksweep.GenMS
- org.mmtk.plan.generational.copying.GenCopy
- org.mmtk.plan.generational.immix.GenImmix
- --with-classpath-impl=openjdk
- Tell vmkit to use OpenJDK classpath implementation.
- --with-openjdk-path=<directory>
- Tell vmkit where OpenJDK is located.
- Build vmkit:
- make (this will give you a release build)
- Try it out: (assuming vmkit/Release+Asserts/bin is in your path)
- j3 --help
- j3 HelloWorld
Note: To compile LLVM and VMKit with RTTI enabled, one can pass the parameter REQUIRES_RTTI=1 to llvm make. Passing this argument removes the flag -fno-rtti from the compiler options. Ex: $ make REQUIRES_RTTI=1