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