On Mon, 2 Dec 2024 10:14:54 GMT, Per Minborg <pminb...@openjdk.org> wrote:

>> src/java.base/share/classes/jdk/internal/foreign/StringSupport.java line 128:
>> 
>>> 126:      */
>>> 127:     @ForceInline
>>> 128:     public static int strlenByte(final AbstractMemorySegmentImpl 
>>> segment,
>> 
>> Note: clients of this method seems to always pass `segment.byteSize()` for 
>> `toOffset`. What is the value of passing it as an explicit parameter instead 
>> of having `byteSize()` being called inside the method?
>
> As this is an internal API, I tried to keep it as similar as possible to the 
> other bulk operations. But as you say, the value used here for the last 
> parameter is always `segment.byteSize()`. We could easily change it. What's 
> your preference here?

If the method works correctly on all end offsets (even when the offset is 
different from the segment size), then I'm ok leaving it as is. I'm mostly 
trying to make sure that endOffset = size is not an hidden invariant we depend 
on.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22451#discussion_r1865946650

Reply via email to