On Fri, 29 Aug 2025 14:50:29 GMT, Per Minborg <[email protected]> wrote:
>> src/java.base/macosx/classes/sun/nio/ch/KQueue.java line 91:
>>
>>> 89: */
>>> 90: static MemorySegment getEvent(MemorySegment memoryHandle, int i) {
>>> 91: return kevent.asSlice(memoryHandle, i);
>>
>> Previous work eliminated allocating from the performance critical usages,
>> might have to check the implications of asSlice here.
>
> We could use indices/offsets directly in the methods that receive the slices
> from this method.
`getDescriptor(MemorySegment keventArray, int index)` and
`getFilter(MemorySegment keventArray, int index)` would work for the use-sites.
The other thing here is that a fd is an int rather than a long. The
re-implemented KQueue should pick ident or fd (the common usage). Right now
register takes an int fd, where the modified getDescriptor is actually
returning the 64-bit ident.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25546#discussion_r2311977307