< prev index next > src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/windows/WindowsAArch64Linker.java
Print this page
*/
package jdk.internal.foreign.abi.aarch64.windows;
import jdk.internal.foreign.abi.AbstractLinker;
import jdk.internal.foreign.abi.LinkerOptions;
+ import jdk.internal.foreign.abi.SharedUtils;
import jdk.internal.foreign.abi.aarch64.CallArranger;
import java.lang.foreign.FunctionDescriptor;
+ import java.lang.foreign.MemoryLayout;
+ import java.lang.foreign.ValueLayout;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodType;
import java.nio.ByteOrder;
+ import java.util.Map;
/**
* ABI implementation for Windows/AArch64. Based on AAPCS with
* changes to va_list.
*/
public final class WindowsAArch64Linker extends AbstractLinker {
+
+ static final Map<String, MemoryLayout> CANONICAL_LAYOUTS =
+ SharedUtils.canonicalLayouts(ValueLayout.JAVA_INT, ValueLayout.JAVA_LONG, ValueLayout.JAVA_CHAR);
private static WindowsAArch64Linker instance;
public static WindowsAArch64Linker getInstance() {
if (instance == null) {
instance = new WindowsAArch64Linker();
@Override
protected ByteOrder linkerByteOrder() {
return ByteOrder.LITTLE_ENDIAN;
}
+
+ @Override
+ public Map<String, MemoryLayout> canonicalLayouts() {
+ return CANONICAL_LAYOUTS;
+ }
}
< prev index next >