Class NFIContextExtension

java.lang.Object
com.oracle.truffle.llvm.runtime.NativeContextExtension
com.oracle.truffle.llvm.nativemode.runtime.NFIContextExtension
All Implemented Interfaces:
com.oracle.truffle.llvm.runtime.ContextExtension

public final class NFIContextExtension extends com.oracle.truffle.llvm.runtime.NativeContextExtension
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
     

    Nested classes/interfaces inherited from class com.oracle.truffle.llvm.runtime.NativeContextExtension

    com.oracle.truffle.llvm.runtime.NativeContextExtension.NativeLookupResult, com.oracle.truffle.llvm.runtime.NativeContextExtension.NativePointerIntoLibrary, com.oracle.truffle.llvm.runtime.NativeContextExtension.UnsupportedNativeTypeException, com.oracle.truffle.llvm.runtime.NativeContextExtension.WellKnownNativeFunctionAndSignature, com.oracle.truffle.llvm.runtime.NativeContextExtension.WellKnownNativeFunctionNode

    Nested classes/interfaces inherited from interface com.oracle.truffle.llvm.runtime.ContextExtension

    com.oracle.truffle.llvm.runtime.ContextExtension.Key<C extends com.oracle.truffle.llvm.runtime.ContextExtension>, com.oracle.truffle.llvm.runtime.ContextExtension.Registry
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    bindSignature(long fnPtr, com.oracle.truffle.api.source.Source signatureSource)
     
    bindSignature(com.oracle.truffle.llvm.runtime.LLVMFunctionCode function, com.oracle.truffle.api.source.Source signatureSource)
     
    com.oracle.truffle.api.CallTarget
    createNativeWrapperFactory(com.oracle.truffle.llvm.runtime.LLVMFunctionCode code, String backend)
     
    createSignature(com.oracle.truffle.api.source.Source signatureSource)
     
    getNativeFunction(String name, String signature)
     
    com.oracle.truffle.llvm.runtime.NativeContextExtension.NativeLookupResult
     
    com.oracle.truffle.llvm.runtime.NativeContextExtension.NativePointerIntoLibrary
     
    static String
     
    static String
     
    getNativeSignature(com.oracle.truffle.llvm.runtime.types.FunctionType type)
     
    com.oracle.truffle.api.source.Source
    getNativeSignatureSourceSkipStackArg(com.oracle.truffle.llvm.runtime.types.FunctionType type)
     
    com.oracle.truffle.llvm.runtime.NativeContextExtension.WellKnownNativeFunctionNode
     
    com.oracle.truffle.llvm.runtime.NativeContextExtension.WellKnownNativeFunctionAndSignature
     
    void
    initialize(com.oracle.truffle.llvm.runtime.LLVMContext context)
     
    boolean
     
    com.oracle.truffle.api.CallTarget
    parseNativeLibrary(String path, com.oracle.truffle.llvm.runtime.LLVMContext context)
     

    Methods inherited from class com.oracle.truffle.llvm.runtime.NativeContextExtension

    getNativeLibrary, getNativeLibraryPrefix, getNativeLibraryVersioned

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • initialize

      public void initialize(com.oracle.truffle.llvm.runtime.LLVMContext context)
    • isInitialized

      public boolean isInitialized()
    • getNativeHandle

      public com.oracle.truffle.llvm.runtime.NativeContextExtension.NativePointerIntoLibrary getNativeHandle(String name)
      Specified by:
      getNativeHandle in class com.oracle.truffle.llvm.runtime.NativeContextExtension
    • createNativeWrapperFactory

      public com.oracle.truffle.api.CallTarget createNativeWrapperFactory(com.oracle.truffle.llvm.runtime.LLVMFunctionCode code, String backend)
      Specified by:
      createNativeWrapperFactory in class com.oracle.truffle.llvm.runtime.NativeContextExtension
    • addLibraryHandles

      public void addLibraryHandles(Object library)
      Specified by:
      addLibraryHandles in class com.oracle.truffle.llvm.runtime.NativeContextExtension
    • parseNativeLibrary

      public com.oracle.truffle.api.CallTarget parseNativeLibrary(String path, com.oracle.truffle.llvm.runtime.LLVMContext context) throws UnsatisfiedLinkError
      Specified by:
      parseNativeLibrary in class com.oracle.truffle.llvm.runtime.NativeContextExtension
      Throws:
      UnsatisfiedLinkError
    • getNativeLibrarySuffix

      public static String getNativeLibrarySuffix()
    • getNativeLibrarySuffixVersioned

      public static String getNativeLibrarySuffixVersioned(int version)
    • getNativeFunctionOrNull

      public com.oracle.truffle.llvm.runtime.NativeContextExtension.NativeLookupResult getNativeFunctionOrNull(String name)
      Specified by:
      getNativeFunctionOrNull in class com.oracle.truffle.llvm.runtime.NativeContextExtension
    • getNativeFunction

      public Object getNativeFunction(String name, String signature)
      Specified by:
      getNativeFunction in class com.oracle.truffle.llvm.runtime.NativeContextExtension
    • getWellKnownNativeFunction

      public com.oracle.truffle.llvm.runtime.NativeContextExtension.WellKnownNativeFunctionNode getWellKnownNativeFunction(String name, String signature)
      Specified by:
      getWellKnownNativeFunction in class com.oracle.truffle.llvm.runtime.NativeContextExtension
    • getWellKnownNativeFunctionAndSignature

      public com.oracle.truffle.llvm.runtime.NativeContextExtension.WellKnownNativeFunctionAndSignature getWellKnownNativeFunctionAndSignature(String name, String signature)
      Specified by:
      getWellKnownNativeFunctionAndSignature in class com.oracle.truffle.llvm.runtime.NativeContextExtension
    • getNativeSignatureSourceSkipStackArg

      public com.oracle.truffle.api.source.Source getNativeSignatureSourceSkipStackArg(com.oracle.truffle.llvm.runtime.types.FunctionType type) throws com.oracle.truffle.llvm.runtime.NativeContextExtension.UnsupportedNativeTypeException
      Specified by:
      getNativeSignatureSourceSkipStackArg in class com.oracle.truffle.llvm.runtime.NativeContextExtension
      Throws:
      com.oracle.truffle.llvm.runtime.NativeContextExtension.UnsupportedNativeTypeException
    • createSignature

      public Object createSignature(com.oracle.truffle.api.source.Source signatureSource)
      Specified by:
      createSignature in class com.oracle.truffle.llvm.runtime.NativeContextExtension
    • bindSignature

      public Object bindSignature(com.oracle.truffle.llvm.runtime.LLVMFunctionCode function, com.oracle.truffle.api.source.Source signatureSource)
      Specified by:
      bindSignature in class com.oracle.truffle.llvm.runtime.NativeContextExtension
    • bindSignature

      public Object bindSignature(long fnPtr, com.oracle.truffle.api.source.Source signatureSource)
      Specified by:
      bindSignature in class com.oracle.truffle.llvm.runtime.NativeContextExtension
    • getNativeSignature

      public String getNativeSignature(com.oracle.truffle.llvm.runtime.types.FunctionType type)
      Specified by:
      getNativeSignature in class com.oracle.truffle.llvm.runtime.NativeContextExtension