Top Description Inners Constructors Methods
org.lwjgl.llvm

public abstract Class LLVMOrcIRTransformLayerTransformFunction

extends Callback
implements LLVMOrcIRTransformLayerTransformFunctionI
Class Inheritance
All Implemented Interfaces
org.lwjgl.llvm.LLVMOrcIRTransformLayerTransformFunctionI, org.lwjgl.system.CallbackI, org.lwjgl.system.Pointer
Known Direct Subclasses
org.lwjgl.llvm.LLVMOrcIRTransformLayerTransformFunction.Container
Imports
javax.annotation.*, org.lwjgl.system.*

Instances of this class may be passed to the OrcIRTransformLayerSetTransform method.

Type


LLVMErrorRef (*invoke) (
    void *Ctx,
    LLVMOrcThreadSafeModuleRef *ModInOut,
    LLVMOrcMaterializationResponsibilityRef MR
)

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Constructor Summary

AccessConstructor and Description
protected
pack-priv

Method Summary

Modifier and TypeMethod and Description
public static LLVMOrcIRTransformLayerTransformFunction

Returns:

the new LLVMOrcIRTransformLayerTransformFunction
create
(long functionPointer)

Creates a LLVMOrcIRTransformLayerTransformFunction instance from the specified function pointer.

public static LLVMOrcIRTransformLayerTransformFunction
create(LLVMOrcIRTransformLayerTransformFunctionI instance)

Creates a LLVMOrcIRTransformLayerTransformFunction instance that delegates to the specified LLVMOrcIRTransformLayerTransformFunctionI instance.

public static LLVMOrcIRTransformLayerTransformFunction
createSafe(long functionPointer)

Like create, but returns null if functionPointer is NULL.

Inherited from org.lwjgl.system.Callback:
addressequalsfreefreegetgetSafehashCodetoString

Constructor Detail

LLVMOrcIRTransformLayerTransformFunctionback to summary
protected LLVMOrcIRTransformLayerTransformFunction()
LLVMOrcIRTransformLayerTransformFunctionback to summary
pack-priv LLVMOrcIRTransformLayerTransformFunction(long functionPointer)

Method Detail

createback to summary
public static LLVMOrcIRTransformLayerTransformFunction create(long functionPointer)

Creates a LLVMOrcIRTransformLayerTransformFunction instance from the specified function pointer.

Returns:LLVMOrcIRTransformLayerTransformFunction

the new LLVMOrcIRTransformLayerTransformFunction

createback to summary
public static LLVMOrcIRTransformLayerTransformFunction create(LLVMOrcIRTransformLayerTransformFunctionI instance)

Creates a LLVMOrcIRTransformLayerTransformFunction instance that delegates to the specified LLVMOrcIRTransformLayerTransformFunctionI instance.

createSafeback to summary
public static LLVMOrcIRTransformLayerTransformFunction createSafe(long functionPointer)

Like create, but returns null if functionPointer is NULL.

Annotations
@Nullable
org.lwjgl.llvm back to summary

private final Class LLVMOrcIRTransformLayerTransformFunction.Container

extends LLVMOrcIRTransformLayerTransformFunction
Class Inheritance

Field Summary

Modifier and TypeField and Description
private final LLVMOrcIRTransformLayerTransformFunctionI

Constructor Summary

AccessConstructor and Description
pack-priv
Container(long functionPointer, LLVMOrcIRTransformLayerTransformFunctionI delegate)

Method Summary

Modifier and TypeMethod and Description
public long
invoke(long Ctx, long ModInOut, long MR)

Implements org.lwjgl.llvm.LLVMOrcIRTransformLayerTransformFunctionI.invoke.

A function for applying transformations as part of an transform layer.
Inherited from org.lwjgl.llvm.LLVMOrcIRTransformLayerTransformFunction:
createcreatecreateSafe

Field Detail

delegateback to summary
private final LLVMOrcIRTransformLayerTransformFunctionI delegate

Constructor Detail

Containerback to summary
pack-priv Container(long functionPointer, LLVMOrcIRTransformLayerTransformFunctionI delegate)

Method Detail

invokeback to summary
public long invoke(long Ctx, long ModInOut, long MR)

Implements org.lwjgl.llvm.LLVMOrcIRTransformLayerTransformFunctionI.invoke.

Doc from org.lwjgl.llvm.LLVMOrcIRTransformLayerTransformFunctionI.invoke.

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.

Annotations
@Override