[LLVMdev] Proposal for a Google summer of code project for the Java frontend.

Nicolas Geoffray nicolas.geoffray at lip6.fr
Tue Mar 18 01:42:15 PDT 2008

Ramón García wrote:
> I would like to see the code of your front end.

It should be available in a week or two. I'm currently dealing with 
licensing issues.

> I started working with llvm-java, since it was what was available. It
> does not run yet (small compilation issues, almost done),
> but the design seems fine. It can run (when setup complete) small
> pieces of Java code, but no real application, since it does
> not support exception handling (jsr/ret bytecodes) yet,nor garbage
> collection. Implementing these pieces would be the purpose
> of this summer grant request.
> A Java and CLI front end would be really interesting. What missing
> features could I implement? I can start preparing a proposal.

There is no real missing feature. The VMs can execute standard 
applications (last time I checked, the JVM can run tomcat), and the 
implementations follow the VM specifications. The CLI implementation 
lacks generics and overflow detection, but this is not top priority in 
my mind.

Among many features, here are the ones that I'd _love_ to see implemented:
1) Compilation optimizations for type-safe languages (including 
type-based alias analysis)
2) Hotspot-like vm: switching between interpreter and compiler, applying 
different optimizations depending on a method's hotness, doing on-stack 
3) Implementing a garbage collector with llvm facilities: currently my 
GC is not related to the compiler (consider it like Boehm's). It would 
be nice to see how do the LLVM intrinsics fit with Java/CLI and JIT.


> Ramon
> On Mon, Mar 17, 2008 at 9:48 PM, Nicolas Geoffray
> <nicolas.geoffray at lip6.fr> wrote:
>>  I'm in the process of checking in a Java and a CLI FE to the llvm
>>  repository. I'm not sure what's the shape of llvm-java. Do your changes
>>  make it run some applications?
>>  Is the grant already provided? I'd be happy to mentor your work if the
>>  project can also concern improving my existing implementation ;-)
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

More information about the llvm-dev mailing list