RFR: 8365926: RISC-V: Performance regression in renaissance (chi-square) [v2]

Robbin Ehn rehn at openjdk.org
Tue Sep 2 19:31:45 UTC 2025


On Mon, 1 Sep 2025 10:10:31 GMT, Hamlin Li <mli at openjdk.org> wrote:

>> Robbin Ehn has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
>> 
>>  - Merge branch 'master' into 8365926
>>  - Spelling
>>  - Merge branch 'master' into 8365926
>>  - draft jal<->jalr
>
> JDK-23 (last version with trampoline calls)
> Mean: 3189.5827
> Standard Deviation: 284.6478
> 
> JDK-25
> Mean: 3424.8905
> Standard Deviation: 222.2208
> 
> Patch:
> Mean: 3144.8535
> Standard Deviation: 229.2577
> 
> 
> For the performance data, do you have some data for applying this fix on top of the next commit after`JDK-23 (last version with trampoline calls)`? I think this data might be more helpful to understand the performance comparison between old trampoline, stub and this pr.

@Hamlin-Li

This is the first version which hade the new auipc+ld+jalr, i.e. we could toogle with UseTrampolines.
I backported optimize_call to it. This version is still using t0/x5 for calls, thus return predictions are all messed up.
An even better comparison would be to also back-port use t1/x6 for calls.
Anyways here are the numbers, from 400 benchmarks runs each using the last iteration:

Using trampolines:
##############
--- Statistical Analysis ---
Average (Mean):     3610.00
Median:             3645.09
Standard Deviation: 297.11
--------------------------

Using load calls:
##############
--- Statistical Analysis ---
Average (Mean):     3691.09
Median:             3793.11
Standard Deviation: 403.80
--------------------------

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

PR Comment: https://git.openjdk.org/jdk/pull/26944#issuecomment-3246536967


More information about the hotspot-compiler-dev mailing list