RFR: 8346954: [JMH] jdk.incubator.vector.MaskedLogicOpts fails due to IndexOutOfBoundsException
Nicole Xu
duke at openjdk.org
Wed Feb 5 23:36:00 UTC 2025
Suite MaskedLogicOpts.maskedLogicOperationsLong512() failed on both x86 and AArch64 with the following error:
java.lang.IndexOutOfBoundsException: Index 252 out of bounds for length 249
The variable `long256_arr_idx` is misused when indexing 'LongVector l2, l3, l4, l5' in function `maskedLogicOperationsLongKernel()`. 'long256_arr_idx' increases by 4 every time the benchmark runs and ensures the incremented value remains within the bounds of the array. However, for `LongVector.SPECIES_512`, it loads 8 numbers from the array each time the benchmark runs, resulting in an out-of-range indexing issue.
Hence, we revised the index variables from `long256_arr_idx` to `long512_arr_idx`, which has a stride of 8, to ensure that the loaded vector is inside of the array boundary for all vector species. This is also consistent with other kernel functions.
Additionally, some defined but unused variables have been removed.
-------------
Commit messages:
- 8346954: [JMH] jdk.incubator.vector.MaskedLogicOpts fails due to IndexOutOfBoundsException
Changes: https://git.openjdk.org/jdk/pull/22963/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=22963&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8346954
Stats: 14 lines in 1 file changed: 0 ins; 9 del; 5 mod
Patch: https://git.openjdk.org/jdk/pull/22963.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/22963/head:pull/22963
PR: https://git.openjdk.org/jdk/pull/22963
More information about the core-libs-dev
mailing list