High Level Goals
- Act as a JVM Bytecode frontend for LLVM
- Supports Java 8, 9, 10, 11, 12, 13, 14 and 15
- Work well with Debugger Toolchains and SourceMaps
- Allow integration with other UI-Frameworks such as vue.js
- Backed by OpenJDK 15 as JRE Classlib
The JVM Bytecode is parsed and transformed into an intermediate representation. This intermediate representation is passed thru optimizer stages and sent to a backend implementation for target code generation.
The WebAssembly backend transforms the intermediate representation into WebAssembly text and binary code.
The OpenCL backend is used to compile single algorithms into OpenCL and execute them on the GPU. This backend is designed to enhance existing programs running on the JVM to utilize the vast power of modern GPUs.
The Bytecoder User Manual and a full set of example applications is available here.