[foreign-abi] RFR 8228486: Add ABI-specific layout constants

Nick Gasson nick.gasson at arm.com
Wed Jul 24 06:14:29 UTC 2019


Hi Maurizio,

> Updated webrev:
>
> http://cr.openjdk.java.net/~mcimadamore/panama/8228486_v2/
>

Needs this change NativeTestHelper.java and then all the tests pass on
AArch64:

--- a/test/jdk/java/foreign/NativeTestHelper.java
+++ b/test/jdk/java/foreign/NativeTestHelper.java
@@ -48,8 +48,8 @@ public class NativeTestHelper {
     public static final ValueLayout C_INT = pick(MemoryLayouts.SysV.C_INT, MemoryLayouts.WinABI.C_INT, MemoryLayouts.AArch64ABI.C_INT);
     public static final ValueLayout C_FLOAT = pick(MemoryLayouts.SysV.C_FLOAT, MemoryLayouts.WinABI.C_FLOAT, MemoryLayouts.AArch64ABI.C_FLOAT);
     public static final ValueLayout C_ULONG = pick(MemoryLayouts.SysV.C_ULONG, MemoryLayouts.WinABI.C_ULONG, MemoryLayouts.AArch64ABI.C_ULONG);
-    public static final ValueLayout C_DOUBLE = pick(MemoryLayouts.SysV.C_DOUBLE, MemoryLayouts.WinABI.C_DOUBLE, MemoryLayouts.AArch64ABI.C_POINTER);
-    public static final ValueLayout C_POINTER = pick(MemoryLayouts.SysV.C_POINTER, MemoryLayouts.WinABI.C_POINTER, MemoryLayouts.AArch64ABI.C_DOUBLE);
+    public static final ValueLayout C_DOUBLE = pick(MemoryLayouts.SysV.C_DOUBLE, MemoryLayouts.WinABI.C_DOUBLE, MemoryLayouts.AArch64ABI.C_DOUBLE);
+    public static final ValueLayout C_POINTER = pick(MemoryLayouts.SysV.C_POINTER, MemoryLayouts.WinABI.C_POINTER, MemoryLayouts.AArch64ABI.C_POINTER);

     private static ValueLayout pick(ValueLayout sysv, ValueLayout win, ValueLayout aarch) {
         if (isX86) {


Thanks,
Nick


More information about the panama-dev mailing list