RFR: 8334843: RISC-V: Fix wraparound checking for r_array_index in lookup_secondary_supers_table_slow_path
Gui Cao
gcao at openjdk.org
Thu Jun 27 08:53:09 UTC 2024
On Mon, 24 Jun 2024 14:15:12 GMT, Fei Yang <fyang at openjdk.org> wrote:
>> Branch condition for r_array_index wraparound checking in lookup_secondary_supers_table_slow_path is wrong.
>>
>> // Check for wraparound.
>> Label skip;
>> bge(r_array_length, r_array_index, skip);
>> mv(r_array_index, zr);
>> bind(skip);
>>
>> As discussed at https://github.com/openjdk/jdk/pull/19320/files#r1650548279 . If length == index, then we must set index to 0. That is `blt(r_array_index,r_array_length,skip);`.
>>
>> ### Correctness testing:
>> - [x] Run tier1-3 tests on SOPHON SG2042 (release)
>>
>> ### JMH tested on Banana Pi BPI-F3 board (has Zbb) and Enable UseZbb
>> without this patch:
>>
>> SecondarySupersLookup.testNegative00 avgt 15 13.275 ± 0.223 ns/op
>> SecondarySupersLookup.testNegative01 avgt 15 13.264 ± 0.201 ns/op
>> SecondarySupersLookup.testNegative02 avgt 15 13.261 ± 0.194 ns/op
>> SecondarySupersLookup.testNegative03 avgt 15 13.271 ± 0.210 ns/op
>> SecondarySupersLookup.testNegative04 avgt 15 13.265 ± 0.201 ns/op
>> SecondarySupersLookup.testNegative05 avgt 15 13.258 ± 0.191 ns/op
>> SecondarySupersLookup.testNegative06 avgt 15 13.280 ± 0.225 ns/op
>> SecondarySupersLookup.testNegative07 avgt 15 13.268 ± 0.201 ns/op
>> SecondarySupersLookup.testNegative08 avgt 15 13.266 ± 0.202 ns/op
>> SecondarySupersLookup.testNegative09 avgt 15 13.261 ± 0.196 ns/op
>> SecondarySupersLookup.testNegative10 avgt 15 13.268 ± 0.198 ns/op
>> SecondarySupersLookup.testNegative16 avgt 15 13.268 ± 0.205 ns/op
>> SecondarySupersLookup.testNegative20 avgt 15 13.284 ± 0.231 ns/op
>> SecondarySupersLookup.testNegative30 avgt 15 13.281 ± 0.226 ns/op
>> SecondarySupersLookup.testNegative32 avgt 15 13.273 ± 0.215 ns/op
>> SecondarySupersLookup.testNegative40 avgt 15 13.287 ± 0.233 ns/op
>> SecondarySupersLookup.testNegative50 avgt 15 13.292 ± 0.242 ns/op
>> SecondarySupersLookup.testNegative55 avgt 15 53.064 ± 0.757 ns/op
>> SecondarySupersLookup.testNegative56 avgt 15 53.052 ± 0.767 ns/op
>> SecondarySupersLookup.testNegative57 avgt 15 53.068 ± 0.803 ns/op
>> SecondarySupersLookup.testNegative58 avgt 15 53.076 ± 0.776 ns/op
>> SecondarySupersLookup.testNegative59 avgt 15 53.095 ± 0.846 ns/op
>> SecondarySupersLookup.testNegative60 avgt 15 75.106 ± 1.033 ns/op
>> SecondarySupersLookup.testNegative61 avgt 15 76.832 ± 4.047 ns/op
>> SecondarySupersLookup.testNegative62 avgt 15 75.085 ± 1.010 ns/op
>> SecondarySupersLookup.test...
>
> Marked as reviewed by fyang (Reviewer).
@RealFYang : Thanks for the review.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/19852#issuecomment-2194140058
More information about the hotspot-dev
mailing list