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