Top Description Inners Fields Constructors Methods
org.lwjgl.llvm

public Class LLVMOrc

extends Object
Class Inheritance
Imports
javax.annotation.*, java.nio.*, org.lwjgl.*, org.lwjgl.system.*

Requires LLVM 12 or higher.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
LLVMOrc.Functions

Contains the function pointers loaded from LLVMCore.getLibrary().

Field Summary

Modifier and TypeField and Description
public static final int
LLVMJITSymbolGenericFlagsCallable

Represents generic linkage flags for a symbol definition.

public static final int
LLVMJITSymbolGenericFlagsExported

Represents generic linkage flags for a symbol definition.

public static final int
LLVMJITSymbolGenericFlagsMaterializationSideEffectsOnly

Represents generic linkage flags for a symbol definition.

public static final int
LLVMJITSymbolGenericFlagsNone

Represents generic linkage flags for a symbol definition.

public static final int
LLVMJITSymbolGenericFlagsWeak

Represents generic linkage flags for a symbol definition.

public static final int
public static final int
public static final int
public static final int
public static final int
LLVMOrcSymbolLookupFlagsRequiredSymbol

Symbol lookup flags for lookup sets.

public static final int
LLVMOrcSymbolLookupFlagsWeaklyReferencedSymbol

Symbol lookup flags for lookup sets.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static long
LLVMOrcAbsoluteSymbols(LLVMOrcCSymbolMapPair.Buffer Syms)

Create a MaterializationUnit to define the given symbols as pointing to the corresponding raw addresses.

public static long
public static long
public static long
public static long
LLVMOrcCreateDumpObjects(ByteBuffer DumpDir, ByteBuffer IdentifierOverride)

Create a DumpObjects instance.

public static long
LLVMOrcCreateDumpObjects(CharSequence DumpDir, CharSequence IdentifierOverride)

Create a DumpObjects instance.

public static long
LLVMOrcCreateDynamicLibrarySearchGeneratorForPath(PointerBuffer Result, ByteBuffer FileName, byte GlobalPrefix, LLVMOrcSymbolPredicateI Filter, long FilterCtx)

Get a LLVMOrcCreateDynamicLibrarySearchGeneratorForPath that will reflect library symbols into the JITDylib.

public static long
LLVMOrcCreateDynamicLibrarySearchGeneratorForPath(PointerBuffer Result, CharSequence FileName, byte GlobalPrefix, LLVMOrcSymbolPredicateI Filter, long FilterCtx)

Get a LLVMOrcCreateDynamicLibrarySearchGeneratorForPath that will reflect library symbols into the JITDylib.

public static long
LLVMOrcCreateDynamicLibrarySearchGeneratorForProcess(PointerBuffer Result, byte GlobalPrefx, LLVMOrcSymbolPredicateI Filter, long FilterCtx)

Get a DynamicLibrarySearchGenerator that will reflect process symbols into the JITDylib.

public static long
LLVMOrcCreateLocalIndirectStubsManager(ByteBuffer TargetTriple)

Create a LocalIndirectStubsManager from the given target triple.

public static long
LLVMOrcCreateLocalIndirectStubsManager(CharSequence TargetTriple)

Create a LocalIndirectStubsManager from the given target triple.

public static long
LLVMOrcCreateLocalLazyCallThroughManager(ByteBuffer TargetTriple, long ES, long ErrorHandlerAddr, PointerBuffer LCTM)

public static long
LLVMOrcCreateLocalLazyCallThroughManager(CharSequence TargetTriple, long ES, long ErrorHandlerAddr, PointerBuffer LCTM)

public static long
LLVMOrcCreateNewThreadSafeContext()

Create a ThreadSafeContext containing a new LLVMContext.

public static long
LLVMOrcCreateNewThreadSafeModule(long M, long TSCtx)

Create a ThreadSafeModule wrapper around the given LLVM module.

public static long
LLVMOrcCreateStaticLibrarySearchGeneratorForPath(PointerBuffer Result, long ObjLayer, ByteBuffer FileName, ByteBuffer TargetTriple)

Get a LLVMOrcCreateStaticLibrarySearchGeneratorForPath that will reflect static library symbols into the JITDylib.

public static long
LLVMOrcCreateStaticLibrarySearchGeneratorForPath(PointerBuffer Result, long ObjLayer, CharSequence FileName, CharSequence TargetTriple)

Get a LLVMOrcCreateStaticLibrarySearchGeneratorForPath that will reflect static library symbols into the JITDylib.

public static void
LLVMOrcDisposeCSymbolFlagsMap(LLVMOrcCSymbolFlagsMapPair Pairs)

Disposes of the passed LLVMOrcCSymbolFlagsMap.

public static void
LLVMOrcDisposeDefinitionGenerator(long DG)

Dispose of a JITDylib::DefinitionGenerator.

public static void
LLVMOrcDisposeDumpObjects(long DumpObjects)

Dispose of a DumpObjects instance.

public static void
LLVMOrcDisposeIndirectStubsManager(long ISM)

Dispose of an IndirectStubsManager.

public static void
LLVMOrcDisposeJITTargetMachineBuilder(long JTMB)

Dispose of a JITTargetMachineBuilder.

public static void
LLVMOrcDisposeLazyCallThroughManager(long LCTM)

Dispose of an LazyCallThroughManager.

public static void
LLVMOrcDisposeMaterializationResponsibility(long MR)

Disposes of the passed MaterializationResponsibility object.

public static void
LLVMOrcDisposeMaterializationUnit(long MU)

Dispose of a MaterializationUnit.

public static void
LLVMOrcDisposeObjectLayer(long ObjLayer)

Dispose of an ObjectLayer.

public static void
LLVMOrcDisposeSymbols(PointerBuffer Symbols)

Disposes of the passed LLVMOrcSymbolStringPoolEntryRef*.

public static void
LLVMOrcDisposeThreadSafeContext(long TSCtx)

Dispose of a ThreadSafeContext.

public static void
LLVMOrcDisposeThreadSafeModule(long TSM)

Dispose of a ThreadSafeModule.

public static long
LLVMOrcDumpObjects_CallOperator(long DumpObjects, PointerBuffer ObjBuffer)

Dump the contents of the given MemoryBuffer.

public static long
LLVMOrcExecutionSessionCreateBareJITDylib(long ES, ByteBuffer Name)

Create a "bare" JITDylib.

public static long
LLVMOrcExecutionSessionCreateBareJITDylib(long ES, CharSequence Name)

Create a "bare" JITDylib.

public static long
LLVMOrcExecutionSessionCreateJITDylib(long ES, PointerBuffer Result, ByteBuffer Name)

Create a JITDylib.

public static long
LLVMOrcExecutionSessionCreateJITDylib(long ES, PointerBuffer Result, CharSequence Name)

Create a JITDylib.

public static long
LLVMOrcExecutionSessionGetJITDylibByName(long ES, ByteBuffer Name)

Returns the JITDylib with the given name, or NULL if no such JITDylib exists.

public static long
LLVMOrcExecutionSessionGetJITDylibByName(long ES, CharSequence Name)

Returns the JITDylib with the given name, or NULL if no such JITDylib exists.

public static long
LLVMOrcExecutionSessionGetSymbolStringPool(long ES)

Return a reference to the SymbolStringPool for an ExecutionSession.

public static long
LLVMOrcExecutionSessionIntern(long ES, ByteBuffer Name)

Intern a string in the ExecutionSession's SymbolStringPool and return a reference to it.

public static long
LLVMOrcExecutionSessionIntern(long ES, CharSequence Name)

Intern a string in the ExecutionSession's SymbolStringPool and return a reference to it.

public static void
LLVMOrcExecutionSessionLookup(long ES, int K, LLVMOrcCJITDylibSearchOrderElement.Buffer SearchOrder, LLVMOrcCLookupSetElement.Buffer Symbols, LLVMOrcExecutionSessionLookupHandleResultFunctionI HandleResult, long Ctx)

Look up symbols in an execution session.

public static void
LLVMOrcExecutionSessionSetErrorReporter(long ES, LLVMOrcErrorReporterFunctionI ReportError, long Ctx)

Attach a custom error reporter function to the ExecutionSession.

public static void
LLVMOrcIRTransformLayerEmit(long IRTransformLayer, long MR, long TSM)

public static void
LLVMOrcIRTransformLayerSetTransform(long IRTransformLayer, LLVMOrcIRTransformLayerTransformFunctionI TransformFunction, long Ctx)

Set the transform function of the provided transform layer, passing through a pointer to user provided context.

public static void
LLVMOrcJITDylibAddGenerator(long JD, long DG)

Add a DefinitionGenerator to the given JITDylib.

public static long
LLVMOrcJITDylibClear(long JD)

Calls remove on all trackers associated with this JITDylib, see JITDylib::clear().

public static long
LLVMOrcJITDylibCreateResourceTracker(long JD)

Return a reference to a newly created resource tracker associated with JD.

public static long
LLVMOrcJITDylibDefine(long JD, long MU)

Add the given MaterializationUnit to the given JITDylib.

public static long
LLVMOrcJITDylibGetDefaultResourceTracker(long JD)

Return a reference to the default resource tracker for the given JITDylib.

public static long
LLVMOrcJITTargetMachineBuilderCreateFromTargetMachine(long TM)

Create a JITTargetMachineBuilder from the given TargetMachine template.

public static long
LLVMOrcJITTargetMachineBuilderDetectHost(PointerBuffer Result)

Create a JITTargetMachineBuilder by detecting the host.

public static String
LLVMOrcJITTargetMachineBuilderGetTargetTriple(long JTMB)

Returns the target triple for the given JITTargetMachineBuilder as a string.

public static void
LLVMOrcJITTargetMachineBuilderSetTargetTriple(long JTMB, ByteBuffer TargetTriple)

Sets the target triple for the given JITTargetMachineBuilder to the given string.

public static void
LLVMOrcJITTargetMachineBuilderSetTargetTriple(long JTMB, CharSequence TargetTriple)

Sets the target triple for the given JITTargetMachineBuilder to the given string.

public static long
LLVMOrcLazyReexports(long LCTM, long ISM, long SourceRef, LLVMOrcCSymbolAliasMapPair.Buffer CallableAliases)

Create a MaterializationUnit to define lazy re-expots.

public static void
LLVMOrcLookupStateContinueLookup(long S, long Err)

Continue a lookup that was suspended in a generator (see LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction).

public static void
LLVMOrcMaterializationResponsibilityAddDependencies(long MR, long Name, LLVMOrcCDependenceMapPair.Buffer Dependencies)

Adds dependencies to a symbol that the MaterializationResponsibility is responsible for.

public static void
LLVMOrcMaterializationResponsibilityAddDependenciesForAll(long MR, LLVMOrcCDependenceMapPair.Buffer Dependencies)

Adds dependencies to all symbols that the MaterializationResponsibility is responsible for.

public static long
LLVMOrcMaterializationResponsibilityDefineMaterializing(long MR, LLVMOrcCSymbolFlagsMapPair.Buffer Pairs)

Attempt to claim responsibility for new definitions.

public static long
LLVMOrcMaterializationResponsibilityDelegate(long MR, PointerBuffer Symbols, PointerBuffer Result)

Delegates responsibility for the given symbols to the returned materialization responsibility.

public static void
LLVMOrcMaterializationResponsibilityFailMaterialization(long MR)

Notify all not-yet-emitted covered by this MaterializationResponsibility instance that an error has occurred.

public static long
LLVMOrcMaterializationResponsibilityGetExecutionSession(long MR)

Returns the ExecutionSession for this MaterializationResponsibility.

public static long
LLVMOrcMaterializationResponsibilityGetInitializerSymbol(long MR)

Returns the initialization pseudo-symbol, if any.

public static PointerBuffer
LLVMOrcMaterializationResponsibilityGetRequestedSymbols(long MR)

Returns the names of any symbols covered by this MaterializationResponsibility object that have queries pending.

public static LLVMOrcCSymbolFlagsMapPair.Buffer
LLVMOrcMaterializationResponsibilityGetSymbols(long MR)

Returns the symbol flags map for this responsibility instance.

public static long
LLVMOrcMaterializationResponsibilityGetTargetDylib(long MR)

Returns the target JITDylib that these symbols are being materialized into.

public static long
LLVMOrcMaterializationResponsibilityNotifyEmitted(long MR)

Notifies the target JITDylib (and any pending queries on that JITDylib) that all symbols covered by this MaterializationResponsibility instance have been emitted.

public static long
LLVMOrcMaterializationResponsibilityNotifyResolved(long MR, LLVMOrcCSymbolMapPair.Buffer Symbols)

Notifies the target JITDylib that the given symbols have been resolved.

public static long
LLVMOrcMaterializationResponsibilityReplace(long MR, long MU)

Transfers responsibility to the given MaterializationUnit for all symbols defined by that MaterializationUnit.

public static long
LLVMOrcObjectLayerAddObjectFile(long ObjLayer, long JD, long ObjBuffer)

Add an object to an ObjectLayer to the given JITDylib.

public static long
LLVMOrcObjectLayerAddObjectFileWithRT(long ObjLayer, long RT, long ObjBuffer)

Add an object to an ObjectLayer using the given ResourceTracker.

public static void
LLVMOrcObjectLayerEmit(long ObjLayer, long R, long ObjBuffer)

Emit an object buffer to an ObjectLayer.

public static void
LLVMOrcObjectTransformLayerSetTransform(long ObjTransformLayer, LLVMOrcObjectTransformLayerTransformFunctionI TransformFunction, long Ctx)

Set the transform function on an LLVMOrcObjectTransformLayer.

public static void
LLVMOrcReleaseResourceTracker(long RT)

Reduces the ref-count of a ResourceTracker.

public static void
LLVMOrcReleaseSymbolStringPoolEntry(long S)

Reduces the ref-count for of a SymbolStringPool entry.

public static long
LLVMOrcResourceTrackerRemove(long RT)

Remove all resources associated with the given tracker.

public static void
LLVMOrcResourceTrackerTransferTo(long SrcRT, long DstRT)

Transfers tracking of all resources associated with resource tracker SrcRT to resource tracker DstRT.

public static void
LLVMOrcRetainSymbolStringPoolEntry(long S)

Increments the ref-count for a SymbolStringPool entry.

public static void
LLVMOrcSymbolStringPoolClearDeadEntries(long SSP)

Clear all unreferenced symbol string pool entries.

public static String
LLVMOrcSymbolStringPoolEntryStr(long S)

Return the c-string for the given symbol.

public static long
LLVMOrcThreadSafeContextGetContext(long TSCtx)

Get a reference to the wrapped LLVMContext.

public static long
LLVMOrcThreadSafeModuleWithModuleDo(long TSM, LLVMOrcGenericIRModuleOperationFunctionI F, long Ctx)

Apply the given function to the module contained in this ThreadSafeModule.

public static long
nLLVMOrcAbsoluteSymbols(long Syms, long NumPairs)

Unsafe version of: OrcAbsoluteSymbols

public static long
public static long
nLLVMOrcCreateCustomMaterializationUnit(long Name, long Ctx, long Syms, long NumSyms, long InitSym, long Materialize, long Discard, long Destroy)

Unsafe version of: OrcCreateCustomMaterializationUnit

public static long
nLLVMOrcCreateDumpObjects(long DumpDir, long IdentifierOverride)

Unsafe version of: OrcCreateDumpObjects

public static long
nLLVMOrcCreateDynamicLibrarySearchGeneratorForPath(long Result, long FileName, byte GlobalPrefix, long Filter, long FilterCtx)

Unsafe version of: OrcCreateDynamicLibrarySearchGeneratorForPath

public static long
nLLVMOrcCreateDynamicLibrarySearchGeneratorForProcess(long Result, byte GlobalPrefx, long Filter, long FilterCtx)

Unsafe version of: OrcCreateDynamicLibrarySearchGeneratorForProcess

public static long
public static long
nLLVMOrcCreateLocalLazyCallThroughManager(long TargetTriple, long ES, long ErrorHandlerAddr, long LCTM)

Unsafe version of: OrcCreateLocalLazyCallThroughManager

public static long
nLLVMOrcCreateStaticLibrarySearchGeneratorForPath(long Result, long ObjLayer, long FileName, long TargetTriple)

Unsafe version of: OrcCreateStaticLibrarySearchGeneratorForPath

public static void
public static void
nLLVMOrcDisposeSymbols(long Symbols)

Unsafe version of: OrcDisposeSymbols

public static long
nLLVMOrcDumpObjects_CallOperator(long DumpObjects, long ObjBuffer)

Unsafe version of: OrcDumpObjects_CallOperator

public static long
public static long
nLLVMOrcExecutionSessionCreateJITDylib(long ES, long Result, long Name)

Unsafe version of: OrcExecutionSessionCreateJITDylib

public static long
public static long
nLLVMOrcExecutionSessionIntern(long ES, long Name)

Unsafe version of: OrcExecutionSessionIntern

public static void
nLLVMOrcExecutionSessionLookup(long ES, int K, long SearchOrder, long SearchOrderSize, long Symbols, long SymbolsSize, long HandleResult, long Ctx)

Unsafe version of: OrcExecutionSessionLookup

public static void
nLLVMOrcExecutionSessionSetErrorReporter(long ES, long ReportError, long Ctx)

Unsafe version of: OrcExecutionSessionSetErrorReporter

public static void
nLLVMOrcIRTransformLayerSetTransform(long IRTransformLayer, long TransformFunction, long Ctx)

Unsafe version of: OrcIRTransformLayerSetTransform

public static long
public static long
public static void
public static long
nLLVMOrcLazyReexports(long LCTM, long ISM, long SourceRef, long CallableAliases, long NumPairs)

Unsafe version of: OrcLazyReexports

public static void
nLLVMOrcMaterializationResponsibilityAddDependencies(long MR, long Name, long Dependencies, long NumPairs)

Unsafe version of: OrcMaterializationResponsibilityAddDependencies

public static void
public static long
public static long
nLLVMOrcMaterializationResponsibilityDelegate(long MR, long Symbols, long NumSymbols, long Result)

Unsafe version of: OrcMaterializationResponsibilityDelegate

public static long
public static long
public static long
public static void
nLLVMOrcObjectTransformLayerSetTransform(long ObjTransformLayer, long TransformFunction, long Ctx)

Unsafe version of: OrcObjectTransformLayerSetTransform

public static long
public static long
nLLVMOrcThreadSafeModuleWithModuleDo(long TSM, long F, long Ctx)

Unsafe version of: OrcThreadSafeModuleWithModuleDo

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait