< prev index next > src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/Windowsx64Linker.java
Print this page
*/
package jdk.internal.foreign.abi.x64.windows;
import jdk.internal.foreign.abi.AbstractLinker;
import jdk.internal.foreign.abi.LinkerOptions;
+ import jdk.internal.foreign.abi.SharedUtils;
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 based on Windows ABI AMD64 supplement v.0.99.6
*/
public final class Windowsx64Linker extends AbstractLinker {
+ static final Map<String, MemoryLayout> CANONICAL_LAYOUTS =
+ SharedUtils.canonicalLayouts(ValueLayout.JAVA_INT, ValueLayout.JAVA_LONG, ValueLayout.JAVA_CHAR);
+
public static Windowsx64Linker getInstance() {
final class Holder {
private static final Windowsx64Linker INSTANCE = new Windowsx64Linker();
}
@Override
protected ByteOrder linkerByteOrder() {
return ByteOrder.LITTLE_ENDIAN;
}
+
+ @Override
+ public Map<String, MemoryLayout> canonicalLayouts() {
+ return CANONICAL_LAYOUTS;
+ }
}
< prev index next >