RFR: 8377225: RISC-V: Improve receiver type profiling reliability

Anjian Wen wenanjian at openjdk.org
Thu Feb 5 11:32:07 UTC 2026


Same as JDK-8357258, this patch try to improve the receiver type profile reliability in riscv.

Functional Testing: tier1 Passed
Performance Testing: no regression


# Baseline
Benchmark                        (randomized)  Mode  Cnt   Score   Error  Units
InterfaceCalls.test1stInt2Types         false  avgt   12   9.371 ± 0.007  ns/op
InterfaceCalls.test1stInt2Types          true  avgt   12  14.168 ± 0.025  ns/op
InterfaceCalls.test1stInt3Types         false  avgt   12  38.390 ± 0.261  ns/op
InterfaceCalls.test1stInt3Types          true  avgt   12  39.634 ± 0.122  ns/op
InterfaceCalls.test1stInt5Types         false  avgt   12  40.960 ± 1.909  ns/op
InterfaceCalls.test1stInt5Types          true  avgt   12  41.235 ± 0.126  ns/op
InterfaceCalls.test2ndInt2Types         false  avgt   12  10.227 ± 0.333  ns/op
InterfaceCalls.test2ndInt2Types          true  avgt   12  14.657 ± 0.049  ns/op
InterfaceCalls.test2ndInt3Types         false  avgt   12  42.756 ± 0.563  ns/op
InterfaceCalls.test2ndInt3Types          true  avgt   12  50.112 ± 0.302  ns/op
InterfaceCalls.test2ndInt5Types         false  avgt   12  59.637 ± 1.900  ns/op
InterfaceCalls.test2ndInt5Types          true  avgt   12  56.992 ± 0.162  ns/op
InterfaceCalls.testIfaceCall            false  avgt   12  38.731 ± 0.749  ns/op
InterfaceCalls.testIfaceCall             true  avgt   12  38.218 ± 0.283  ns/op
InterfaceCalls.testIfaceExtCall         false  avgt   12  41.505 ± 3.659  ns/op
InterfaceCalls.testIfaceExtCall          true  avgt   12  39.611 ± 0.483  ns/op
InterfaceCalls.testMonomorphic          false  avgt   12   8.476 ± 0.011  ns/op
InterfaceCalls.testMonomorphic           true  avgt   12   8.475 ± 0.007  ns/op

# With Patch
Benchmark                        (randomized)  Mode  Cnt   Score   Error  Units
InterfaceCalls.test1stInt2Types         false  avgt   12   9.804 ± 0.401  ns/op
InterfaceCalls.test1stInt2Types          true  avgt   12  14.171 ± 0.029  ns/op
InterfaceCalls.test1stInt3Types         false  avgt   12  38.793 ± 0.677  ns/op
InterfaceCalls.test1stInt3Types          true  avgt   12  39.498 ± 0.351  ns/op
InterfaceCalls.test1stInt5Types         false  avgt   12  40.916 ± 0.771  ns/op
InterfaceCalls.test1stInt5Types          true  avgt   12  41.705 ± 1.356  ns/op
InterfaceCalls.test2ndInt2Types         false  avgt   12  10.222 ± 0.340  ns/op
InterfaceCalls.test2ndInt2Types          true  avgt   12  14.659 ± 0.033  ns/op
InterfaceCalls.test2ndInt3Types         false  avgt   12  42.375 ± 0.681  ns/op
InterfaceCalls.test2ndInt3Types          true  avgt   12  50.587 ± 1.146  ns/op
InterfaceCalls.test2ndInt5Types         false  avgt   12  59.881 ± 2.052  ns/op
InterfaceCalls.test2ndInt5Types          true  avgt   12  56.928 ± 0.287  ns/op
InterfaceCalls.testIfaceCall            false  avgt   12  38.101 ± 0.038  ns/op
InterfaceCalls.testIfaceCall             true  avgt   12  38.892 ± 0.717  ns/op
InterfaceCalls.testIfaceExtCall         false  avgt   12  39.403 ± 0.258  ns/op
InterfaceCalls.testIfaceExtCall          true  avgt   12  40.129 ± 0.759  ns/op
InterfaceCalls.testMonomorphic          false  avgt   12   8.473 ± 0.007  ns/op
InterfaceCalls.testMonomorphic           true  avgt   12   8.474 ± 0.010  ns/op

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

Commit messages:
 - RISCV: Improve receiver type profiling reliability

Changes: https://git.openjdk.org/jdk/pull/29310/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29310&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8377225
  Stats: 376 lines in 7 files changed: 157 ins; 204 del; 15 mod
  Patch: https://git.openjdk.org/jdk/pull/29310.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/29310/head:pull/29310

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


More information about the hotspot-dev mailing list