RFR: 8296975: RISC-V: Enable UseRVA20U64 profile by default [v3]

Vladimir Kempik vkempik at openjdk.org
Wed Nov 16 12:50:06 UTC 2022


On Wed, 16 Nov 2022 05:21:52 GMT, Xiaolin Zheng <xlinzheng at openjdk.org> wrote:

>> The main purpose is to turn the option `UseRVC` on by default before JDK20 RDP 1. As per discussions [1], we can enable `UseRVA20U64`[2] by default to fulfill this.
>> 
>> 
>>> build/linux-riscv64-server-fastdebug/images/jdk/bin/java -XX:+PrintFlagsFinal -version | grep -E "UseRVC|UseRVA20U64"
>>      bool UseRVA20U64                              = true                                 {ARCH product} {default}
>>      bool UseRVC                                   = true                                 {ARCH product} {default}
>> openjdk version "20-internal" 2023-03-21
>> OpenJDK Runtime Environment (fastdebug build 20-internal-adhoc..jdk)
>> OpenJDK 64-Bit Server VM (fastdebug build 20-internal-adhoc..jdk, mixed mode)
>> 
>> 
>> [1] https://mail.openjdk.org/pipermail/riscv-port-dev/2022-November/000668.html
>> [2] https://github.com/openjdk/jdk/blob/873eccde01895de06e2216f6838d52d07188addd/src/hotspot/cpu/riscv/vm_version_riscv.cpp#L39-L44
>> 
>> Thanks,
>> Xiaolin
>
> Xiaolin Zheng has updated the pull request incrementally with one additional commit since the last revision:
> 
>   minor issue if users specify command line -XX:+UseRVA20U64 and RVC is not supported

Well, did you see any rv64g hardware without Compressed Opcodes support ? 
Of course some may configure custom cpu core without RVC support, but it's usually done for custom environments where even linux is not present.
as was mentioned in ML, the rva20u64 profile also requires unaligned memory access support, which is still implicit requirement of jdk on risc-v ( see https://bugs.openjdk.org/browse/JDK-8291550 ), some cpus support it in hardware, some support m-mode emulator only.

Basically we are safe to enable rva20u64 by default I think. Nothing will change or break, and we can catch some RVC related bugs. if anything we can change that logic

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

PR: https://git.openjdk.org/jdk/pull/11155


More information about the hotspot-dev mailing list