-
Bug
-
Resolution: Fixed
-
P4
-
24
-
b05
-
riscv
-
linux
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 here. If length == index, then we must set index to 0. That is `blt(r_array_index,r_array_length,skip);`.
```
// 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 here. If length == index, then we must set index to 0. That is `blt(r_array_index,r_array_length,skip);`.
- relates to
-
JDK-8332587 RISC-V: secondary_super_cache does not scale well
-
- Resolved
-
- links to
-
Commit openjdk/jdk/cd46c87d
-
Review(master) openjdk/jdk/19852