public class LLVMORC
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
LLVMORC.Functions
Contains the function pointers loaded from
LLVMCore.getLibrary(). |
| Modifier and Type | Method and Description |
|---|---|
static long |
LLVMOrcAddEagerlyCompiledIR(long JITStack,
java.nio.LongBuffer RetHandle,
long Mod,
LLVMOrcSymbolResolverFnI SymbolResolver,
long SymbolResolverCtx)
Add module to be eagerly compiled.
|
static long |
LLVMOrcAddLazilyCompiledIR(long JITStack,
java.nio.LongBuffer RetHandle,
long Mod,
LLVMOrcSymbolResolverFnI SymbolResolver,
long SymbolResolverCtx)
Add module to be lazily compiled one function at a time.
|
static long |
LLVMOrcAddObjectFile(long JITStack,
java.nio.LongBuffer RetHandle,
long Obj,
LLVMOrcSymbolResolverFnI SymbolResolver,
long SymbolResolverCtx)
Add an object file.
|
static long |
LLVMOrcCreateIndirectStub(long JITStack,
java.nio.ByteBuffer StubName,
long InitAddr)
Create a named indirect call stub.
|
static long |
LLVMOrcCreateIndirectStub(long JITStack,
java.lang.CharSequence StubName,
long InitAddr)
Create a named indirect call stub.
|
static long |
LLVMOrcCreateInstance(long TM)
Create an ORC JIT stack.
|
static long |
LLVMOrcCreateLazyCompileCallback(long JITStack,
java.nio.LongBuffer RetAddr,
LLVMOrcLazyCompileCallbackFnI Callback,
long CallbackCtx)
Create a lazy compile callback.
|
static long |
LLVMOrcDisposeInstance(long JITStack)
Dispose of an ORC JIT stack.
|
static void |
LLVMOrcDisposeMangledSymbol(java.nio.ByteBuffer MangledSymbol)
Dispose of a mangled symbol.
|
static java.lang.String |
LLVMOrcGetErrorMsg(long JITStack)
Get the error message for the most recent error (if any).
|
static void |
LLVMOrcGetMangledSymbol(long JITStack,
org.lwjgl.PointerBuffer MangledSymbol,
java.nio.ByteBuffer Symbol)
Mangle the given symbol.
|
static void |
LLVMOrcGetMangledSymbol(long JITStack,
org.lwjgl.PointerBuffer MangledSymbol,
java.lang.CharSequence Symbol)
Mangle the given symbol.
|
static long |
LLVMOrcGetSymbolAddress(long JITStack,
java.nio.LongBuffer RetAddr,
java.nio.ByteBuffer SymbolName)
Get symbol address from JIT instance.
|
static long |
LLVMOrcGetSymbolAddress(long JITStack,
java.nio.LongBuffer RetAddr,
java.lang.CharSequence SymbolName)
Get symbol address from JIT instance.
|
static long |
LLVMOrcGetSymbolAddressIn(long JITStack,
java.nio.LongBuffer RetAddr,
long H,
java.nio.ByteBuffer SymbolName)
Get symbol address from JIT instance, searching only the specified handle.
|
static long |
LLVMOrcGetSymbolAddressIn(long JITStack,
java.nio.LongBuffer RetAddr,
long H,
java.lang.CharSequence SymbolName)
Get symbol address from JIT instance, searching only the specified handle.
|
static void |
LLVMOrcRegisterJITEventListener(long JITStack,
long L)
Register a JIT Event Listener.
|
static long |
LLVMOrcRemoveModule(long JITStack,
long H)
Remove a module set from the JIT.
|
static long |
LLVMOrcSetIndirectStubPointer(long JITStack,
java.nio.ByteBuffer StubName,
long NewAddr)
Set the pointer for the given indirect stub.
|
static long |
LLVMOrcSetIndirectStubPointer(long JITStack,
java.lang.CharSequence StubName,
long NewAddr)
Set the pointer for the given indirect stub.
|
static void |
LLVMOrcUnregisterJITEventListener(long JITStack,
long L)
Unegister a JIT Event Listener.
|
static long |
nLLVMOrcAddEagerlyCompiledIR(long JITStack,
long RetHandle,
long Mod,
long SymbolResolver,
long SymbolResolverCtx)
Unsafe version of:
OrcAddEagerlyCompiledIR |
static long |
nLLVMOrcAddLazilyCompiledIR(long JITStack,
long RetHandle,
long Mod,
long SymbolResolver,
long SymbolResolverCtx)
Unsafe version of:
OrcAddLazilyCompiledIR |
static long |
nLLVMOrcAddObjectFile(long JITStack,
long RetHandle,
long Obj,
long SymbolResolver,
long SymbolResolverCtx)
Unsafe version of:
OrcAddObjectFile |
static long |
nLLVMOrcCreateIndirectStub(long JITStack,
long StubName,
long InitAddr)
Unsafe version of:
OrcCreateIndirectStub |
static long |
nLLVMOrcCreateLazyCompileCallback(long JITStack,
long RetAddr,
long Callback,
long CallbackCtx)
Unsafe version of:
OrcCreateLazyCompileCallback |
static void |
nLLVMOrcDisposeMangledSymbol(long MangledSymbol)
Unsafe version of:
OrcDisposeMangledSymbol |
static long |
nLLVMOrcGetErrorMsg(long JITStack)
Unsafe version of:
OrcGetErrorMsg |
static void |
nLLVMOrcGetMangledSymbol(long JITStack,
long MangledSymbol,
long Symbol)
Unsafe version of:
OrcGetMangledSymbol |
static long |
nLLVMOrcGetSymbolAddress(long JITStack,
long RetAddr,
long SymbolName)
Unsafe version of:
OrcGetSymbolAddress |
static long |
nLLVMOrcGetSymbolAddressIn(long JITStack,
long RetAddr,
long H,
long SymbolName)
Unsafe version of:
OrcGetSymbolAddressIn |
static long |
nLLVMOrcSetIndirectStubPointer(long JITStack,
long StubName,
long NewAddr)
Unsafe version of:
OrcSetIndirectStubPointer |
public static long LLVMOrcCreateInstance(long TM)
The client owns the resulting stack, and must call OrcDisposeInstance to destroy it and free its memory. The JIT stack will take ownership of the
TargetMachine, which will be destroyed when the stack is destroyed. The client should not attempt to dispose of the Target Machine, or it will
result in a double-free.
public static long nLLVMOrcGetErrorMsg(long JITStack)
OrcGetErrorMsg@Nullable public static java.lang.String LLVMOrcGetErrorMsg(long JITStack)
This message is owned by the ORC JIT Stack and will be freed when the stack is disposed of by OrcDisposeInstance.
public static void nLLVMOrcGetMangledSymbol(long JITStack,
long MangledSymbol,
long Symbol)
OrcGetMangledSymbolpublic static void LLVMOrcGetMangledSymbol(long JITStack,
org.lwjgl.PointerBuffer MangledSymbol,
java.nio.ByteBuffer Symbol)
MangledSymbol to hold the result.public static void LLVMOrcGetMangledSymbol(long JITStack,
org.lwjgl.PointerBuffer MangledSymbol,
java.lang.CharSequence Symbol)
MangledSymbol to hold the result.public static void nLLVMOrcDisposeMangledSymbol(long MangledSymbol)
OrcDisposeMangledSymbolpublic static void LLVMOrcDisposeMangledSymbol(java.nio.ByteBuffer MangledSymbol)
public static long nLLVMOrcCreateLazyCompileCallback(long JITStack,
long RetAddr,
long Callback,
long CallbackCtx)
OrcCreateLazyCompileCallbackpublic static long LLVMOrcCreateLazyCompileCallback(long JITStack,
java.nio.LongBuffer RetAddr,
LLVMOrcLazyCompileCallbackFnI Callback,
long CallbackCtx)
public static long nLLVMOrcCreateIndirectStub(long JITStack,
long StubName,
long InitAddr)
OrcCreateIndirectStubpublic static long LLVMOrcCreateIndirectStub(long JITStack,
java.nio.ByteBuffer StubName,
long InitAddr)
public static long LLVMOrcCreateIndirectStub(long JITStack,
java.lang.CharSequence StubName,
long InitAddr)
public static long nLLVMOrcSetIndirectStubPointer(long JITStack,
long StubName,
long NewAddr)
OrcSetIndirectStubPointerpublic static long LLVMOrcSetIndirectStubPointer(long JITStack,
java.nio.ByteBuffer StubName,
long NewAddr)
public static long LLVMOrcSetIndirectStubPointer(long JITStack,
java.lang.CharSequence StubName,
long NewAddr)
public static long nLLVMOrcAddEagerlyCompiledIR(long JITStack,
long RetHandle,
long Mod,
long SymbolResolver,
long SymbolResolverCtx)
OrcAddEagerlyCompiledIRpublic static long LLVMOrcAddEagerlyCompiledIR(long JITStack,
java.nio.LongBuffer RetHandle,
long Mod,
LLVMOrcSymbolResolverFnI SymbolResolver,
long SymbolResolverCtx)
public static long nLLVMOrcAddLazilyCompiledIR(long JITStack,
long RetHandle,
long Mod,
long SymbolResolver,
long SymbolResolverCtx)
OrcAddLazilyCompiledIRpublic static long LLVMOrcAddLazilyCompiledIR(long JITStack,
java.nio.LongBuffer RetHandle,
long Mod,
LLVMOrcSymbolResolverFnI SymbolResolver,
long SymbolResolverCtx)
public static long nLLVMOrcAddObjectFile(long JITStack,
long RetHandle,
long Obj,
long SymbolResolver,
long SymbolResolverCtx)
OrcAddObjectFilepublic static long LLVMOrcAddObjectFile(long JITStack,
java.nio.LongBuffer RetHandle,
long Obj,
LLVMOrcSymbolResolverFnI SymbolResolver,
long SymbolResolverCtx)
This method takes ownership of the given memory buffer and attempts to add it to the JIT as an object file. Clients should not dispose of the
Obj argument: the JIT will manage it from this call onwards.
public static long LLVMOrcRemoveModule(long JITStack,
long H)
This works for all modules that can be added via OrcAdd*, including object files.
public static long nLLVMOrcGetSymbolAddress(long JITStack,
long RetAddr,
long SymbolName)
OrcGetSymbolAddresspublic static long LLVMOrcGetSymbolAddress(long JITStack,
java.nio.LongBuffer RetAddr,
java.nio.ByteBuffer SymbolName)
public static long LLVMOrcGetSymbolAddress(long JITStack,
java.nio.LongBuffer RetAddr,
java.lang.CharSequence SymbolName)
public static long nLLVMOrcGetSymbolAddressIn(long JITStack,
long RetAddr,
long H,
long SymbolName)
OrcGetSymbolAddressInpublic static long LLVMOrcGetSymbolAddressIn(long JITStack,
java.nio.LongBuffer RetAddr,
long H,
java.nio.ByteBuffer SymbolName)
public static long LLVMOrcGetSymbolAddressIn(long JITStack,
java.nio.LongBuffer RetAddr,
long H,
java.lang.CharSequence SymbolName)
public static long LLVMOrcDisposeInstance(long JITStack)
public static void LLVMOrcRegisterJITEventListener(long JITStack,
long L)
A NULL listener is ignored.
public static void LLVMOrcUnregisterJITEventListener(long JITStack,
long L)
A NULL listener is ignored.
Copyright LWJGL. All Rights Reserved. License terms.