Gigue: A JIT Code Binary Generator for Hardware Testing
summary
Gigue generates bare-metal JIT snapshots — self-contained RISC‑V binaries that mimic JIT code regions and exercise custom ISA extensions. It builds random methods, polymorphic inline-cache models and trampolines, emits RISC‑V assembly via the RISC‑V test framework, and validates execution with a Unicorn-based validation harness that catches exceptions and emulates custom ops. The paper adds three extensions (simple rotations, shadow-stack CFI_call/CFI_return, and domain‑tagged duplicate loads/stores), reports ~12–54 LOC to integrate each, and runs on a cycle‑accurate core simulator.
AI-written summary · about
chapters (15)
- 0:00Gigue introduction
- 1:26JIT code security challenges
- 2:51Hardware security for JIT
- 3:54RISC-V ISA for JIT
- 5:41Custom JIT instruction design
- 7:06Gigue workload motivation
- 8:10Gigue architecture
- 9:37Generating binaries with Gigue
- 11:43Sanity checks framework
- 12:46Adding custom instructions
- 13:50Testing with Unicorn
- 14:57Hardware workflow with Gigue
- 16:21Gigue use cases
- 17:04Conclusion and future work
- 18:31Q&A
related talks
36mAccelerate RISC-V Instruction Set Simulation by Tiered JIT Compilation
54mGNU CGEN for RISC V Tool Chain Customization
20mBYOJ: Build your own JIT with Ruby
29mTowards Formally Verified Just-In-Time Compilation
44mBuild Your Own VM with JIT Compilation for Dummies
13mDemo: RISC-V as an Enabler of Heterogeneous Compute
13mEarly RISC-V Software Verification with SIM-V
27mCachet: A Domain-Specific Language for Trustworthy Just-In-Time Compilers
