VMKit User's Manual
+ +-
+
- Java Ahead of Time (AOT) Compilation + + Modified: vmkit/trunk/www/menu.html.incl URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/menu.html.incl?rev=91328&r1=91327&r2=91328&view=diff ============================================================================== --- vmkit/trunk/www/menu.html.incl (original) +++ vmkit/trunk/www/menu.html.incl Mon Dec 14 15:18:34 2009 @@ -8,6 +8,7 @@ About Get Started Get Involved + Users Manual Open Projects Publications Releases Added: vmkit/trunk/www/use_aot.html URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/use_aot.html?rev=91328&view=auto ============================================================================== --- vmkit/trunk/www/use_aot.html (added) +++ vmkit/trunk/www/use_aot.html Mon Dec 14 15:18:34 2009 @@ -0,0 +1,61 @@ + + + + +
- Checkout + and build VMKit from SVN head. + +
- Compile into a dynamic library the core Java libs (e.g. GNU Classpath): + + +
- cd tools/vmjc/libvmjc +
- make ENABLE_OPTIMIZED=1 REQUIRES_FRAME_POINTER=1 + (go get coffee) +
- Update PATH to include LLVM and VMKit binaries (replace *_OBJ with your + directory): +
- export PATH=$(LLVM_OBJ)/Release/bin:$(VMKIT_OBJ)/Release/bin + +
- Update LD_LIBRARY_PATH to include the dynamic library previously + compiled (replace VMKIT_OBJ with your directory): +
- export LD_LIBRARY_PATH=$(VMKIT_OBJ)/Release/lib + +
- Use the llcj tool on a class or a jar file: +
- llcj -S Foo.class (emit bytecode) +
- llcj --main=Foo Foo.class (generate an executable) +
- llcj -c Foo.class (generate an object file) +
- Java Ahead of Time (AOT) Compilation +
- VMKit and MMTk Added: vmkit/trunk/www/use_mmtk.html URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/www/use_mmtk.html?rev=91332&view=auto ============================================================================== --- vmkit/trunk/www/use_mmtk.html (added) +++ vmkit/trunk/www/use_mmtk.html Mon Dec 14 15:32:21 2009 @@ -0,0 +1,47 @@ + + + + +
- Checkout + and build LLVM-GCC from SVN head. +
- Update PATH to include the llvm-gcc binary. +
- Re-configure LLVM. +
- Make sure to build LLVM with REQUIRES_FRAME_POINTER=1. +
- Configure VMKit with two additional options: --with-gc=mmtk and --with-llvmgcc. +
- Clean and make VMKit (do that each time you change the source code of VMKit): + +
- make ENABLE_OPTIMIZED=1 REQUIRES_FRAME_POINTER=1 clean +
- make ENABLE_OPTIMIZED=1 REQUIRES_FRAME_POINTER=1 +
- Run VMKit with MMTk: +
- Release/bin/vmkit -std-compile-opts --load-bc=Release/lib/FinalMMTk.bc + -load-bc=lib/JnJVM/LLVMRuntime/LLVMRuntime.gen.ll -java Foo +
- Try it out: (assuming vmkit/Debug/bin is in your path)
- jnjvm --help -
- jnjvm HelloWorld +
- j3 --help +
- j3 HelloWorld
- n3-pnetlib --help
- n3-pnetlib HelloWorld.exe
- Run VMKit with MMTk:
- Release/bin/vmkit -std-compile-opts --load-bc=Release/lib/FinalMMTk.bc - -load-bc=lib/JnJVM/LLVMRuntime/LLVMRuntime.gen.ll -java Foo + -load-bc=lib/J3/LLVMRuntime/LLVMRuntime.gen.ll -java Foo
Getting Started: Java Ahead of Time compilation with VMKit
+ + +This page gives you the instructions on how to use the Java ahead of time +compiler of VMKit.
+ + +-
+
-
+
-
+
-
+
-
+
Getting Started: VMKit and MMTk
+ + +This page gives you the instructions on how to build VMKit with MMTk's Mark and +Sweep Garbage Collector.
+ + +-
+
-
+
-
+
-
-