On Tue, 6 May 2025 17:27:09 GMT, Jorn Vernee <jver...@openjdk.org> wrote:

>> Chen Liang has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Update 
>> src/java.base/share/classes/jdk/internal/foreign/abi/CapturableState.java
>>   
>>   Co-authored-by: Shaojin Wen <shaojin.we...@alibaba-inc.com>
>
> src/java.base/share/classes/jdk/internal/foreign/abi/CapturableState.java 
> line 55:
> 
>> 53:         } else {
>> 54:             supported = List.of(new CapturableState("errno", JAVA_INT, 1 
>> << 2));
>> 55:         }
> 
> Maybe just split the initialization of `LAYOUT` and `LOOKUP` across these 2 
> branches, instead of collecting everything into intermediate arrays. i.e.
> 
> Suggestion:
> 
>         if (OperatingSystem.isWindows()) {
>             LAYOUT = MemoryLayout.structLayout(
>                 JAVA_INT, // GetLastError
>                 JAVA_INT, // WSAGetLastError
>                 JAVA_INT // errno
>             );
>             LOOKUP = Map.of(
>                 "GetLastError", 1 << 0,
>                 "WSAGetLastError", 1 << 1,
>                 "errno", 1 << 2
>             );
>         } else {
>             LAYOUT = MemoryLayout.structLayout(
>                 JAVA_INT // errno
>             );
>             LOOKUP = Map.of(
>                 "errno", 1 << 2
>             );
>         }

Then we can just make `CapturableState` a utility class. Should we proceed in 
this direction?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25025#discussion_r2075969405

Reply via email to