On Fri, 8 Aug 2025 13:25:27 GMT, Per Minborg <pminb...@openjdk.org> wrote:

>> This PR proposes to use overlapping memory areas in 
>> `SegmentBulkOperations::copy`, similar to what is proposed for 
>> `SegmentBulkOperations::fill` in https://github.com/openjdk/jdk/pull/25383.
>> 
>> This PR passes `tier1`, `tier2`, and `tier3`testing on multiple platforms.
>
> Per Minborg has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Update copyright year

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

> 268:             // We can subtract (non-negative) thatEnd on both sides:
> 269:             // (thisStart < thatEnd) -> (thisStart - thatEnd < 0). In 
> the same way we can say:
> 270:             // (thatStart < thisEnd) -> (thatStart - thisEnd < 0).

You are only stating the assumption that `thatEnd` is non-negative.
But I think you need all 4 values to be non-negative.

As a counter-example, assume:

thatEnd = 1
thisStart = Long.MIN_VALUE

thisStart < thatEnd = true
but
(thisStart - thatEnd < 0) = (Long.MAX_VALUE < 0) = false

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26672#discussion_r2266880849

Reply via email to