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

Robbin Ehn rehn at openjdk.org
Thu Sep 4 13:32:34 UTC 2025


> Hey, please consider!
> 
> A bunch of info in JBS entry, please read that also.
> 
> I narrowed this issue down to the old jal optimization, making direct calls when in reach.
> This patch restores them and removes this regression.
> 
> In essence we turn "jalr ra,0(t1)" into a "jal ra,<dest>" if reachable, and restore the jalr if a new destination is not reachable.
> 
> Please test on your hardware!
> 
> 
> Chi Square (100 runs each, 10 fastest iterations of each run, P550)
> 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
> 
> 
> No issues found in t1, running t2 also. Stress tested on vf2, bpi-f3, p550.

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 seven additional commits since the last revision:

 - Merge branch 'master' into 8365926
 - Review comments
 - Review comments
 - Merge branch 'master' into 8365926
 - Spelling
 - Merge branch 'master' into 8365926
 - draft jal<->jalr

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/26944/files
  - new: https://git.openjdk.org/jdk/pull/26944/files/72e3ba6a..da18e6b6

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=26944&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=26944&range=03-04

  Stats: 6217 lines in 654 files changed: 3237 ins; 1282 del; 1698 mod
  Patch: https://git.openjdk.org/jdk/pull/26944.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/26944/head:pull/26944

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


More information about the hotspot-compiler-dev mailing list