[llvm-dev] JLang, a Java-to-LLVM compiler

Andrew Myers via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 25 06:18:08 PST 2019


We are happy to announce an initial 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 current JLang release can be used to compile and run a variety of 
Java programs, but it has a number of significant limitations that are 
in the process of being addressed:


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


    Java concurrency is not supported.


    Some corners of the reflection API need more work.

We welcome the involvement of external contributors. Interested parties 
can subscribe to the users mailing list from the JLang web site.

JLang has been implemented by Daniel Donenfeld, Matt Gharrity, Daniel 
Weber, Drew Zagieboylo, and Yizhou Zhang.


Andrew Myers

**Department of Computer Science
**Cornell University

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190225/572a6517/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: andru.vcf
Type: text/x-vcard
Size: 199 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190225/572a6517/attachment.vcf>

More information about the llvm-dev mailing list