RFR: 8346954: [JMH] jdk.incubator.vector.MaskedLogicOpts fails due to IndexOutOfBoundsException

Xiaohong Gong xgong at openjdk.org
Tue Feb 11 03:02:14 UTC 2025


On Wed, 8 Jan 2025 09:04:47 GMT, Nicole Xu <duke at openjdk.org> wrote:

> 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.

Looks good to me. Thanks for the fixing!

-------------

Marked as reviewed by xgong (Committer).

PR Review: https://git.openjdk.org/jdk/pull/22963#pullrequestreview-2607593816


More information about the core-libs-dev mailing list