This talk explores how RISC-V ISA can be effectively integrated into OpenJDK, covering the challenges of handling cross-modifying code in JIT-compiled environments, the use of trampolines and load-imm sequences for safe dynamic calls, and runtime detection of ISA extensions via the hwprobe syscall. Robbin also discusses memory model complexities, such as signed extension behavior when switching ABIs and handling canonical NaN values, as well as technical considerations like compressed instructions and the performance impact of RISC-V’s diverse extensions.

Other talks