JIT
LLVM-based JIT compilation facilities.
Classes
| Name | Description |
|---|---|
JITModule |
Mutable LLVM module tracked by the JIT context. |
JITContext |
Global JIT state for one runtime session. |
Typedefs
| Return | Name | Description |
|---|---|---|
void |
void_func |
|
struct JITModule |
JITModule |
|
struct JITContext |
JITContext |
void_func
void void_func()
JITModule
struct JITModule JITModule()
JITContext
struct JITContext JITContext()
Functions
| Return | Name | Description |
|---|---|---|
void |
jit_init |
Initializes a JIT context and ORC engine. |
void |
jit_free |
Releases all JIT resources. |
void |
jit_add_dummy_functions |
Adds temporary/demo functions to current mutable module. |
void |
jit_bake |
Finalizes and submits current module to the JIT. |
void_func * |
jit_lookup_function |
Resolves a JIT function by symbol name. |
void |
jit_verify_module_mutable static |
|
void |
jit_error_report |
ORC error callback used by execution session. |
void |
jit_init |
Initializes a JIT context and ORC engine. |
void |
jit_add_dummy_functions |
Adds temporary/demo functions to current mutable module. |
void |
jit_bake |
Finalizes and submits current module to the JIT. |
void_func * |
jit_lookup_function |
Resolves a JIT function by symbol name. |
void |
jit_free |
Releases all JIT resources. |
jit_init
void jit_init(JITContext * ctx)
Initializes a JIT context and ORC engine.
Initializes a JIT context and ORC engine.
Initializes a JIT context and ORC engine.
Initializes a JIT context and ORC engine.
jit_free
void jit_free(JITContext * ctx)
Releases all JIT resources.
Releases all JIT resources.
Releases all JIT resources.
Releases all JIT resources.
jit_add_dummy_functions
void jit_add_dummy_functions(JITContext * ctx)
Adds temporary/demo functions to current mutable module.
Adds temporary/demo functions to current mutable module.
Adds temporary/demo functions to current mutable module.
Adds temporary/demo functions to current mutable module.
jit_bake
void jit_bake(JITContext * ctx)
Finalizes and submits current module to the JIT.
Finalizes and submits current module to the JIT.
Finalizes and submits current module to the JIT.
Finalizes and submits current module to the JIT.
jit_lookup_function
void_func * jit_lookup_function(JITContext * ctx, char * function_name)
Resolves a JIT function by symbol name.
Resolves a JIT function by symbol name.
Resolves a JIT function by symbol name.
Resolves a JIT function by symbol name.
jit_verify_module_mutable
static
static void jit_verify_module_mutable(JITContext * ctx)
jit_error_report
void jit_error_report(void * ctx, LLVMErrorRef err)
ORC error callback used by execution session.
Parameters
-
ctxUser callback context (unused). -
errLLVM error object.
jit_init
void jit_init(JITContext * ctx)
Initializes a JIT context and ORC engine.
Initializes a JIT context and ORC engine.
Initializes a JIT context and ORC engine.
Initializes a JIT context and ORC engine.
jit_add_dummy_functions
void jit_add_dummy_functions(JITContext * ctx)
Adds temporary/demo functions to current mutable module.
Adds temporary/demo functions to current mutable module.
Adds temporary/demo functions to current mutable module.
Adds temporary/demo functions to current mutable module.
jit_bake
void jit_bake(JITContext * ctx)
Finalizes and submits current module to the JIT.
Finalizes and submits current module to the JIT.
Finalizes and submits current module to the JIT.
Finalizes and submits current module to the JIT.
jit_lookup_function
void_func * jit_lookup_function(JITContext * ctx, char * function_name)
Resolves a JIT function by symbol name.
Resolves a JIT function by symbol name.
Resolves a JIT function by symbol name.
Resolves a JIT function by symbol name.
jit_free
void jit_free(JITContext * ctx)
Releases all JIT resources.
Releases all JIT resources.
Releases all JIT resources.
Releases all JIT resources.
JITModule
#include <jit.h>
Mutable LLVM module tracked by the JIT context.
Public Attributes
| Return | Name | Description |
|---|---|---|
LLVMModuleRef |
handle |
Raw LLVM module handle. |
LLVMOrcThreadSafeModuleRef |
threadsafe_handle |
Thread-safe wrapped module handle for ORC submission. |
handle
LLVMModuleRef handle
Raw LLVM module handle.
threadsafe_handle
LLVMOrcThreadSafeModuleRef threadsafe_handle
Thread-safe wrapped module handle for ORC submission.
JITContext
#include <jit.h>
Global JIT state for one runtime session.
Public Attributes
| Return | Name | Description |
|---|---|---|
LLVMContextRef |
ctx |
Underlying LLVM context. |
LLVMOrcLLJITRef |
jit |
ORC LLJIT engine handle. |
LLVMOrcJITDylibRef |
jit_dylib |
Main JIT dynamic library. |
LLVMOrcThreadSafeContextRef |
orc_threadsafe_ctx |
Thread-safe wrapper around ctx. |
int |
created_module_count |
Number of created modules for unique module naming. |
JITModule |
current_module |
Most recent mutable module. |
bool |
should_create_module |
Set when a new mutable module is required. |
ctx
LLVMContextRef ctx
Underlying LLVM context.
jit
LLVMOrcLLJITRef jit
ORC LLJIT engine handle.
jit_dylib
LLVMOrcJITDylibRef jit_dylib
Main JIT dynamic library.
orc_threadsafe_ctx
LLVMOrcThreadSafeContextRef orc_threadsafe_ctx
Thread-safe wrapper around ctx.
created_module_count
int created_module_count
Number of created modules for unique module naming.
current_module
JITModule current_module
Most recent mutable module.
should_create_module
bool should_create_module
Set when a new mutable module is required.