LLJVM

  • This is a massive improvement over the old way of doing this -- use a $LANG compiler targeting 32-bit MIPS and then emulate that processor in Java (not too hard as the memory models match up).

  • One of the big challenges facing the JRuby community today is the prevalence of gems with C extensions. For gems where the C source is available, this might be a viable route to compatibility.

    For anyone trying to crack that problem, this is definitely worth deeper investigation.

  • There's also NestedVM, http://nestedvm.ibex.org/, which works my using gcc to cross compile to MIPS and then convert the MIPS machine code into a Java class file.

  • Someone actually just posted the llvm development mailing list with a backend they wrote for LLVM so that it can generate JVM bytecode (in the same way in generates x86, PPC, etc.) and it uses this lib, cool stuff.

  • Is this an alternative to JNI?

  • C on the JVM? Dear me!