What is the state of LLVM support in GraalVM? Could LLVM support in GraalVM be extended to support high level languages (eg Kotlin via Kotlin Native)? One big problem is two way interop isn’t available between a high level language that supports LLVM (eg Kotlin) and the JVM.
Some JVM based projects use Native code however that is restricted to C/C++. Increasingly there is more demand for developing Native code in a high level language like Kotlin instead of C/C++, which interacts with the JVM part in projects that primarily use the JVM. Unfortunately with the high level languages supporting LLVM that means using the C/C++ library format which forces C type restrictions (lack of essential features which make using a API much easier/more pleasant, and memory management isn’t standardised). This makes no sense in modern development when there is more interop going on between high level languages.
With LLVM some high level languages use LLVM bit code as a library format (eg Swift). Currently there is speculation that Kotlin might support LLVM bit code as a library format via KLib.
The GraalVM team needs to look at adding Kotlin Native support in GraalVM (especially the KLib library format).