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

Nicole Xu duke at openjdk.org
Thu Mar 6 01:35:54 UTC 2025


On Thu, 27 Feb 2025 01:55:59 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

>> Nicole Xu has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - 8346954: [JMH] jdk.incubator.vector.MaskedLogicOpts fails due to IndexOutOfBoundsException
>>    
>>    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()`
>>    resulting in the IndexOutOfBoundsException error. On the other hand, the
>>    unified index for 128-bit, 256-bit and 512-bit species might not be
>>    proper since it leaves gaps in between when accessing the data
>>    for 128-bit and 256-bit species. This will unnecessarily include the
>>    noise due to cache misses or (on some targets) prefetching additional
>>    cache lines which are not usable, thereby impacting the crispness of
>>    microbenchmark.
>>    
>>    Hence, we improved the benchmark from several aspects,
>>    1. Used sufficient number of predicated operations within the vector
>>    loop while minimizing the noise due to memory operations.
>>    2. Modified the index computation logic which can now withstand any
>>    ARRAYLEN without resulting in an IOOBE.
>>    3. Removed redundant vector read/writes to instance fields, thus
>>    eliminating significant boxing penalty which translates into throughput
>>    gains.
>>    
>>    Change-Id: Ie8a9d495b1ca5e36f1eae069ff70a815a2de00c0
>>  - Revert "8346954: [JMH] jdk.incubator.vector.MaskedLogicOpts fails due to IndexOutOfBoundsException"
>>    
>>    This reverts commit 083bedec04d5ab78a420e156e74c1257ce30aee8.
>
> Still looks good to me!

@XiaohongGong @eme64 @jatin-bhateja @PaulSandoz  Thanks for your review. I'm going to integrate the patch.

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

PR Comment: https://git.openjdk.org/jdk/pull/22963#issuecomment-2702495138


More information about the core-libs-dev mailing list