RFR: 8358892: RISC-V: jvm crash when running dacapo sunflow after JDK-8352504 [v6]

Fei Yang fyang at openjdk.org
Thu Jun 12 07:35:29 UTC 2025


On Wed, 11 Jun 2025 12:50:14 GMT, Hamlin Li <mli at openjdk.org> wrote:

>> Hi,
>> Can you help to review this patch?
>> 
>> Thanks!
>> 
>> Currently, this issue is only reproducible with Dacapo sunflow.
>> I tried to construct a simpler jtreg test to reproduce the issue, but can not find a way to do it till now, this task is tracked by https://bugs.openjdk.org/browse/JDK-8359045.
>> 
>> So, currently I can only verify the code by reviewing it.
>> Or maybe it's better to leave it until we find the test?
>
> Hamlin Li has updated the pull request incrementally with one additional commit since the last revision:
> 
>   adjust arguments orders

src/hotspot/cpu/riscv/macroAssembler_riscv.cpp line 1385:

> 1383:   if (is_single) {
> 1384:     // jump if cmp1 < cmp2 or either is NaN
> 1385:     // not jump (i.e. move src to dst) if cmp1 >= cmp2

Or simply: `// fallthrough (i.e. move src to dst) if cmp1 >= cmp2`? Similar for other friends.

test/hotspot/jtreg/compiler/c2/irTests/TestFPComparison2.java line 70:

> 68:         // Booltest::ge
> 69:         TestFramework framework = new TestFramework(Test_ge_1.class);
> 70:         framework.addFlags("-XX:-TieredCompilation", "-XX:+UseZicond", "-Xlog:jit+compilation=trace").start();

I see `-XX:+UseZicond` and `-XX:-UseZicond` options are used in this test. What if the testing platform doesn't have the Zicond extension? Maybe we can simply remove use of these options as option `UseZicond` will be auto-enabled for fastdebug builds for test coverage purpose if this extension is available.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25696#discussion_r2141821676
PR Review Comment: https://git.openjdk.org/jdk/pull/25696#discussion_r2141819338


More information about the hotspot-compiler-dev mailing list