Interface LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunctionI
- All Superinterfaces:
org.lwjgl.system.CallbackI,org.lwjgl.system.Pointer
- All Known Implementing Classes:
LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
OrcCreateCustomCAPIDefinitionGenerator method.
Type
LLVMErrorRef (*invoke(long, long, long, int, long, int, long, long)) (
LLVMOrcDefinitionGeneratorRef GeneratorObj,
void *Ctx,
LLVMOrcLookupStateRef *LookupState,
LLVMOrcLookupKind Kind,
LLVMOrcJITDylibRef JD,
LLVMOrcJITDylibLookupFlags JDLookupFlags,
LLVMOrcCLookupSet LookupSet,
size_t LookupSetSize
)-
Nested Class Summary
Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsFields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Method Summary
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:
getCallInterfacein interfaceorg.lwjgl.system.CallbackI
-
callback
default void callback(long ret, long args) - Specified by:
callbackin interfaceorg.lwjgl.system.CallbackI
-
invoke
long invoke(long GeneratorObj, long Ctx, long LookupState, int Kind, long JD, int JDLookupFlags, long LookupSet, long LookupSetSize) A custom generator function.This can be used to create a custom generator object using
OrcCreateCustomCAPIDefinitionGenerator. The resulting object can be attached to aJITDylib, viaOrcJITDylibAddGenerator, to receive callbacks when lookups fail to match existing definitions.- Parameters:
GeneratorObj- will contain the address of the custom generator objectCtx- will contain the context object passed toLLVMOrcCreateCustomCAPIDefinitionGenerator.LookupState- will contain a pointer to anLLVMOrcLookupStateRefobject.This can optionally be modified to make the definition generation process asynchronous: If the
LookupStateRefvalue is copied, and the originalLLVMOrcLookupStateRefset to null, the lookup will be suspended. Once the asynchronous definition process has been completed clients must callLLVMOrcLookupStateContinueLookupto continue the lookup (this should be done unconditionally, even if errors have occurred in the mean time, to free the lookup state memory and notify the query object of the failures). IfLookupStateis captured this function must returnErrorSuccess.Kind- can be inspected to determine the lookup kind (e.g. as-if-during-static-link, or as-if-during-dlsym)JD- specifies whichJITDylibthe definitions should be generated intoJDLookupFlags- can be inspected to determine whether the original lookup included non-exported symbolsLookupSet- contains the set of symbols that could not be found inJDalready (the set of generation candidates)
-