Why the signature of arrangeDowncall/arrangeUpcall in CallArranger.java is inconsistent between Aarch64 and x64?

Cheng Jin jincheng at ca.ibm.com
Wed Feb 1 23:55:00 UTC 2023


Hi there,

Can anybody explain why the "static" keyword was removed from arrangeDowncall/arrangeUpcall on Aarch64 (since JDK18) in src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java?

   public MethodHandle arrangeDowncall(MethodType mt, FunctionDescriptor cDesc, LinkerOptions options) {
...
    }

    public MemorySegment arrangeUpcall(MethodHandle target, MethodType mt, FunctionDescriptor cDesc, SegmentScope session) {
...
    }


It remains unchanged on x64 in src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java & src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/CallArranger.java

    public static MethodHandle arrangeDowncall(MethodType mt, FunctionDescriptor cDesc, LinkerOptions options) {
...
    }

    public static MemorySegment arrangeUpcall(MethodHandle target, MethodType mt, FunctionDescriptor cDesc, SegmentScope scope) {
...
}

I am wondering whether there was special reason for this or anything else I am unaware of.  Thanks.


Best Regards
Cheng Jin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/panama-dev/attachments/20230201/21681674/attachment-0001.htm>


More information about the panama-dev mailing list