[llvm-dev] New release of JLang, a Java-to-LLVM ahead-of-time compiler

Andrew Myers via llvm-dev llvm-dev at lists.llvm.org
Tue Mar 31 09:18:33 PDT 2020

We are pleased to announce a new release of JLang, a Java-to-LLVM 
ahead-of-time compiler, on Github at 
https://polyglot-compiler.github.io/JLang/. JLang compiles Java source 
code directly to LLVM, allowing a variety of LLVM back ends to be used 
to target various architectures. The JVM and JNI interfaces are 
supported with a shared library whose source code is also distributed as 
part of JLang. Support for Java libraries is provided by compiling the 
OpenJDK Java source into a shared library with JLang and then linking 
the OpenJDK native libraries. JLang is built on top of the Polyglot 
extensible compiler framework, so it supports experimentation with new 
language features and with new implementation techniques.

The new release adds support for basic Java concurrency mechanisms, 
including threads, mutexes (synchronized), and condition variables 
(wait/notify/notifyAll). Support for the java.util.concurrency package 
has not been added yet.

Note that JLang implements Java 7, so it does not yet support some newer 
Java features such as lambdas, default methods, and modules.

This release was primarily the work of Yiteng Guo and Drew Zagieboylo. 
Community involvement in further development of JLang is welcome.

More information about the llvm-dev mailing list