On Thu, 11 Jan 2024 13:30:44 GMT, Peter Levart <plev...@openjdk.org> wrote:

>> I belive there is a bug in `AbstractMemorySegmentImpl#mismatch` method. It 
>> returns `-1` (meaning that regions are equal) when passing the same instance 
>> of MemorySegment as both `srcSegment` and `dstSegment` parameters regardless 
>> of whether `srcFromOffset` and `dstFromOffset` as well as `srcToOffset` and 
>> `dstToOffset` are also equal.
>> 
>> Am I right?
>
> Peter Levart has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   move special-case check for equal segments to the instance method (more 
> probable)

src/java.base/share/classes/jdk/internal/foreign/AbstractMemorySegmentImpl.java 
line 299:

> 297:             checkValidState();
> 298:             return -1;
> 299:         }

I'm skeptical of trying to optimize this without a more thorough performance 
investigation. We shouldn't add this complexity on a whim.

I'm more in favor of just dropping the check from the static mismatch method 
and leaving it at that. (And adding a test as Maurizio mentioned).

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17354#discussion_r1449022827

Reply via email to