GCC-Bridge: A Gimple Compiler targeting the JVM

Manuel López-Ibáñez lopezibanez@gmail.com
Mon Feb 1 21:25:00 GMT 2016


On 01/02/16 12:34, Bertram, Alexander wrote:
> I wanted to share a project we've been working on for sometime within
> the context of Renjin,
> a new interpreter for the R language running on the JVM.
>
> We basically needed a way to compile C and Fortran code to JVM
> classes, and for the last year or two we've been working on tool chain
> that's composed of a GCC plugin which dumps Gimple trees out to a JSON
> file, and a Java program which reads the JSON and compiles it to Java
> classfiles.

This sounds interesting! (R is so slow)

1) Wouldn't it be better to directly compile to Java bytecode? I think GJC was 
able to do that in the past, but I'm not sure how bit-rotted that code is by 
now. https://gcc.gnu.org/ml/gcc/2000-02/msg00161.html It may be a more robust 
solution in the long run.

2) The reason that R uses so much C and Fortran code is because when compiled, 
that code is much faster than R. How much is lost by compiling and running in JVM?

3) Gimple is not completely target independent, but I think we would like to 
move towards that direction, so reporting bugs about that with specific 
testcases may be helpful. Of course, a JVM target would make this concern 
irrelevant.

> Anyway, using the GCC plugin interface has been terrific, and the
> gimple trees have been great to work with!

Please, note that the plugin API is mainly driven by its users. If you want to 
see improvements, don't hesitate to propose patches.

Cheers,

Manuel.



More information about the Gcc mailing list