module volt.llvm.host
Host or JIT compilation code.
Code Map
//! Host or JIT compilation code.
module volt.llvm.host;
class HostResult : BackendHostResult
{
public:
this(state: VoltState) { }
fn getFunction(func: ir.Function) BackendHostResult.CompiledDg { }
fn close() { }
protected:
state: VoltState;
ee: LLVMExecutionEngineRef;
mCompiledFunctions: BackendHostResult.CompiledDg[u64];
mModules: LLVMModuleRef[];
protected:
fn createAndTrackModule(name: string) LLVMModuleRef { }
}
class SpringBoard
{
public:
loc: Location;
dgt: BackendHostResult.CompiledDg;
public:
this(host: HostResult, func: ir.Function) { }
fn buildSpringBoard(host: HostResult, name: string, type: ir.FunctionType) { }
fn callFvZi(ir.Constant[]) ir.Constant { }
fn callFviZi(a: ir.Constant[]) ir.Constant { }
fn callSpring(a: ir.Constant[]) ir.Constant { }
protected:
alias FvZi = fn () (i32);
alias FviZi = fn (i32) (i32);
alias Call = fn (void*) (void);
protected:
mPtr: void*;
mSpring: Call;
mArgs: void*;
mPos: size_t[];
mRetType: ir.Type;
}
fn writeConstantToPtr(constant: ir.Constant, ptr: void*) { }
fn getConstantFromPtr(loc: Location, type: ir.Type, ptr: void*) ir.Constant { }