Interface LLVMOrcIRTransformLayerTransformFunctionI

All Superinterfaces:
org.lwjgl.system.CallbackI, org.lwjgl.system.Pointer
All Known Implementing Classes:
LLVMOrcIRTransformLayerTransformFunction
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface LLVMOrcIRTransformLayerTransformFunctionI extends org.lwjgl.system.CallbackI
Instances of this interface may be passed to the OrcIRTransformLayerSetTransform method.

Type


 LLVMErrorRef (*invoke(long, long, long)) (
     void *Ctx,
     LLVMOrcThreadSafeModuleRef *ModInOut,
     LLVMOrcMaterializationResponsibilityRef MR
 )
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer

    org.lwjgl.system.Pointer.Default
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final org.lwjgl.system.libffi.FFICIF
     

    Fields inherited from interface org.lwjgl.system.Pointer

    BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    callback(long ret, long args)
     
    default org.lwjgl.system.libffi.FFICIF
     
    long
    invoke(long Ctx, long ModInOut, long MR)
    A function for applying transformations as part of an transform layer.

    Methods inherited from interface org.lwjgl.system.CallbackI

    address
  • Field Details

    • CIF

      static final org.lwjgl.system.libffi.FFICIF CIF
  • Method Details

    • getCallInterface

      default org.lwjgl.system.libffi.FFICIF getCallInterface()
      Specified by:
      getCallInterface in interface org.lwjgl.system.CallbackI
    • callback

      default void callback(long ret, long args)
      Specified by:
      callback in interface org.lwjgl.system.CallbackI
    • invoke

      long invoke(long Ctx, long ModInOut, long MR)
      A function for applying transformations as part of an transform layer.

      Implementations of this type are responsible for managing the lifetime of the Module pointed to by ModInOut: If the LLVMModuleRef value is overwritten then the function is responsible for disposing of the incoming module. If the module is simply accessed/mutated in-place then ownership returns to the caller and the function does not need to do any lifetime management.

      Clients can call OrcLLJITGetIRTransformLayer to obtain the transform layer of a LLJIT instance, and use OrcIRTransformLayerSetTransform to set the function. This can be used to override the default transform layer.