[LLVMdev] GSoC applications for vmkit

Nicolas Geoffray nicolas.geoffray at lip6.fr
Thu Mar 27 03:17:26 PDT 2008


Following Chris reminder, here is a list of projects that VMKit (hence 
JnJVM and N3) would profit off.

Projects I can mentor: (no preferences)
1) Generating shared libraries in LLVM bitcode or in the ELF/MachO 
format. This will enable many features such as not recompiling Java or 
CLI bytecode, optimize memory footprint. We could also generate 
executables and do a whole program analysis and transformation.
2) Hotspot like llvm: being able to switch between interpreter and 
compiler, choosing which optimizations to perform on the code, doing 
on-stack replacement
3) Virtual-machine optimizations: removal of null checks, implement 
optimizations for the Isolate API (many apps executing on the same JVM), 
removal of array bounds checks, implement thin locks
4) Port VMKit to different platforms: currently, it compiles and runs on 
gentoo linux/x86 and linux/ppc . At least, it would be nice to have a 
port of vmkit to darwin/ppc, darwin/x86, linux/x86_64, darwin/arm and 
linux/arm.
5) Do a test-suite for VMKit.
6) Make VMKit more robust: a better build system, code review and 
cleanup, integrate LLVM patch in LLVM svn.
7) Implement generics in N3
8) Interface VMKit with LLVM's GC facilities
9) Interface VMKit with another classpath library: currently only 
gnu-classpath is supported. One could add the open-sourced Sun library.

Projects I could mentor, but an other mentor would be best:
10) Implement a type-based alias analysis in LLVM
11) Implement non-call exception handling in LLVM
12) Implement a generational and accurate garbage collector with LLVM GC 
intrinsics

Projects I can not mentor:
13) Implement arithmetic overflow detection in LLVM

Nicolas



More information about the llvm-dev mailing list