RFR: 8377225: RISC-V: Improve receiver type profiling reliability [v2]
Feilong Jiang
fjiang at openjdk.org
Mon Feb 9 21:38:55 UTC 2026
On Mon, 9 Feb 2026 11:50:53 GMT, Anjian Wen <wenanjian at openjdk.org> wrote:
>> 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 n...
>
> Anjian Wen has updated the pull request incrementally with three additional commits since the last revision:
>
> - update some function format
> - update commit again
> - update some comments
Looks good! One nit:
Marked as reviewed by fjiang (Committer).
src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp line 1531:
> 1529: // statically update the MethodData* rather than needing to do
> 1530: // dynamic tests on the receiver type
> 1531: // NOTE: we should probably put a lock around this search to
Should we update these comments?
-------------
PR Review: https://git.openjdk.org/jdk/pull/29310#pullrequestreview-3770765609
PR Review: https://git.openjdk.org/jdk/pull/29310#pullrequestreview-3771006550
PR Review Comment: https://git.openjdk.org/jdk/pull/29310#discussion_r2780182224
More information about the hotspot-dev
mailing list