Java Code Reflection for Targeting Foreign Programming Languages
Date:
Abstract
Project Babylon is a new OpenJDK initiative to extend Java’s reflection APIs that allow reflection of Java code. This project enables developers to reflect over Java methods and lambdas, obtain their symbolic representations (code models), and query or transform them at runtime. With code models, developers can modify code, apply optimizations, and translate Java into other programming models without relying on third‑party libraries.
A key exploration area in Babylon is GPU enablement via HAT (Heterogeneous Accelerator Toolkit), which targets CUDA and OpenCL environments. In this talk, we will dive into Babylon’s core abstractions for inspecting and manipulating Java code at runtime, then demonstrate how code reflection can be used to offload parallel workloads to GPUs and enabling more efficient and hardware-accelerated executions directly from Java.
