public class HotSpotNativeFunctionInterface extends Object implements NativeFunctionInterface
Modifier and Type | Field and Description |
---|---|
private Backend |
backend |
private HotSpotNativeFunctionHandle |
dllLookupFunctionHandle |
private RawNativeCallNodeFactory |
factory |
private HotSpotNativeFunctionPointer |
functionLookupFunctionPointer |
private HotSpotNativeFunctionPointer |
libraryLoadFunctionPointer |
private HotSpotNativeFunctionHandle |
libraryLookupFunctionHandle |
private HotSpotProviders |
providers |
private HotSpotNativeLibraryHandle |
rtldDefault |
Constructor and Description |
---|
HotSpotNativeFunctionInterface(HotSpotProviders providers,
RawNativeCallNodeFactory factory,
Backend backend,
long dlopen,
long dlsym,
long rtldDefault) |
private final HotSpotProviders providers
private final HotSpotNativeLibraryHandle rtldDefault
private final HotSpotNativeFunctionPointer libraryLoadFunctionPointer
private final HotSpotNativeFunctionPointer functionLookupFunctionPointer
private final RawNativeCallNodeFactory factory
private HotSpotNativeFunctionHandle libraryLookupFunctionHandle
private HotSpotNativeFunctionHandle dllLookupFunctionHandle
public HotSpotNativeFunctionInterface(HotSpotProviders providers, RawNativeCallNodeFactory factory, Backend backend, long dlopen, long dlsym, long rtldDefault)
public HotSpotNativeLibraryHandle getLibraryHandle(String libPath)
getLibraryHandle
in interface NativeFunctionInterface
public HotSpotNativeFunctionHandle getFunctionHandle(NativeLibraryHandle library, String name, Class<?> returnType, Class<?>... argumentTypes)
getFunctionHandle
in interface NativeFunctionInterface
public HotSpotNativeFunctionHandle getFunctionHandle(NativeLibraryHandle[] libraries, String name, Class<?> returnType, Class<?>... argumentTypes)
getFunctionHandle
in interface NativeFunctionInterface
public HotSpotNativeFunctionHandle getFunctionHandle(String name, Class<?> returnType, Class<?>... argumentTypes)
getFunctionHandle
in interface NativeFunctionInterface
private HotSpotNativeFunctionPointer lookupFunctionPointer(String name, NativeLibraryHandle library, boolean linkageErrorIfMissing)
public HotSpotNativeFunctionHandle getFunctionHandle(NativeFunctionPointer functionPointer, Class<?> returnType, Class<?>... argumentTypes)
getFunctionHandle
in interface NativeFunctionInterface
private HotSpotNativeFunctionHandle createHandle(NativeFunctionPointer functionPointer, Class<?> returnType, Class<?>... argumentTypes)
private InstalledCode installNativeFunctionStub(long functionPointer, Class<?> returnType, Class<?>... argumentTypes)
public HotSpotNativeFunctionPointer getFunctionPointer(NativeLibraryHandle[] libraries, String name)
getFunctionPointer
in interface NativeFunctionInterface
public boolean isDefaultLibrarySearchSupported()
isDefaultLibrarySearchSupported
in interface NativeFunctionInterface
public NativeFunctionPointer getNativeFunctionPointerFromRawValue(long rawValue)
getNativeFunctionPointerFromRawValue
in interface NativeFunctionInterface