VMKit2 Project

Laboratoire d'Informatique de Paris6

Get Started


Get Started


Mailing Lists


If you would like to check out and build the project, the current scheme is:

You will have to install a C++ compiler and Java 1.5 or more in order to compile vmkit2

  1. Download LLVM 3.2 and Clang 3.2 source code.
    • tar zxvf llvm-3.2.src.tar.gz
    • cd llvm-3.2.src/tools
    • tar zxvf ../../clang-3.2.src.tar.gz
    • mv clang-3.2.src clang
    • cd ..
    • ./configure --enable-optimized; make
  2. Download GNU Classpath 0.99:
    • tar zxvf classpath-0.99.tar.gz
    • cd classpath-0.99
    • ./configure --disable-plugin --disable-examples --disable-Werror; make
    • cd lib
    • If you are running on Linux:
      • ln -s ../native/jni/gtk-peer/.libs/;
      • ln -s ../native/jni/gconf-peer/.libs/;
      • ln -s ../native/jni/java-io/.libs/;
      • ln -s ../native/jni/java-lang/.libs/;
      • ln -s ../native/jni/java-lang/.libs/;
      • ln -s ../native/jni/java-net/.libs/;
      • ln -s ../native/jni/java-nio/.libs/;
      • ln -s ../native/jni/java-util/.libs/;
    • If you are running on MacOS:
      • ln -s ../native/jni/gtk-peer/.libs/libgtkpeer.dylib;
      • ln -s ../native/jni/gconf-peer/.libs/libgconfpeer.dylib;
      • ln -s ../native/jni/java-io/.libs/libjavaio.dylib;
      • ln -s ../native/jni/java-lang/.libs/libjavalangreflect.dylib;
      • ln -s ../native/jni/java-lang/.libs/libjavalang.dylib;
      • ln -s ../native/jni/java-net/.libs/libjavanet.dylib;
      • ln -s ../native/jni/java-nio/.libs/libjavanio.dylib;
      • ln -s ../native/jni/java-util/.libs/libjavautil.dylib;
  3. Checkout vmkit2:
    • git clone git://
  4. Configure vmkit2:
    • ./configure
    • --with-llvm-config-path=<path/to/llvm-config>
      Tell vmkit where the llvm-config binary is located.

      • 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
      • you can use GNU Classpath by configuring the following :

        Tell vmkit where GNU Classpath is located.

        Tell vmkit where GNU Classpath libs are located.
      • or OpenJDK by configuring :

        Tell vmkit to use OpenJDK classpath implementation.

        Tell vmkit where OpenJDK is located.
  5. Build vmkit:
    • make (this will give you a release build)
  6. Try it out: (assuming vmkit/Release+Asserts/bin is in your path)
    • j3 --help
    • j3 HelloWorld
Last update: January 17 2013 17:28:13.