[code-reflection] RFR: Example use of code reflection in translating Java to SPIR-V

Steve Dohrmann duke at openjdk.org
Tue Mar 12 22:57:53 UTC 2024


Example code showing use of code reflection in translation from Java to SPIR-V intermediate language.  For more information on SPIR-V see [https://www.khronos.org/spir](https://www.khronos.org/spir).

Translates from a Java CoreOps.FuncOp object to a SpirvOps.FuncOp object and then to an entry point in a SPIR-V binary module.  One test is included that demonstrates use and renders the Java model, SPIR-V model, and disassembled binary representations of an example Java method. 

A subsequent pull-request will provide additional test code, including the ability to test SPIR-V binaries on GPU hardware. 

Dependencies:

This code depends on a Java SPIR-V builder API (https://github.com/beehive-lab/beehive-spirv-toolkit).  The toolkit can be installed locally with:

git clone https://github.com/beehive-lab/beehive-spirv-toolkit 
cd beehive-spirv-toolkit
mvn clean install

-------------

Commit messages:
 - fix more whitespace issues
 - fix whitespace issues
 - fix README
 - fix pom header
 - spirv-example initial commit

Changes: https://git.openjdk.org/babylon/pull/38/files
  Webrev: https://webrevs.openjdk.org/?repo=babylon&pr=38&range=00
  Stats: 2448 lines in 10 files changed: 2448 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/babylon/pull/38.diff
  Fetch: git fetch https://git.openjdk.org/babylon.git pull/38/head:pull/38

PR: https://git.openjdk.org/babylon/pull/38


More information about the babylon-dev mailing list