New release of JLang, a Java-to-LLVM ahead-of-time compiler
andru at cs.cornell.edu
Tue Mar 31 16:13:28 UTC 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 discuss