RISC-V RVA23 profile support
Piotr Tarsa
piotr.tarsa at hotmail.com
Fri Sep 26 17:06:37 UTC 2025
Hi,
I want to share my thoughts on the original topic (even though it's not shown as a reply, because I don't have the original email to reply to).
The original question was about the minimal RISC-V profile that OpenJDK is designed to support and the answer was that OpenJDK will dynamically adapt to CPU's features by probing available extensions at startup. That does work for code outputted by JIT compiler, but it doesn't work for C++ code that is compiled AOT as part of OpenJDK runtime. Therefore, selecting different optimization target when compiling OpenJDK from C++ to an executable, will impact the performance of various subsystems (GC threads, JIT compiler itself, any other code on the hot path).
RVA23 doesn't add much functionality that would affect typical C++ code, but RVA22 does. RVA22 mandates the bit-manipulation extension (named 'B'), basic conditional instructions, etc. Lack of these instructions, if targeting RVA20, could significantly impact performance.
What is the minimum profile level (RVA20, RVA22 or other?) and set of extensions required by OpenJDK currently?
Regards,
Piotr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/riscv-port-dev/attachments/20250926/17b23454/attachment.htm>
More information about the riscv-port-dev
mailing list