feat: ready for JIT

This commit is contained in:
2025-05-10 21:09:53 +08:00
parent d04d46c905
commit 2b309fb825
6 changed files with 3 additions and 161 deletions

View File

@@ -1,30 +0,0 @@
use inkwell::OptimizationLevel;
use inkwell::builder::Builder;
use inkwell::context::Context;
use inkwell::execution_engine::ExecutionEngine;
use inkwell::module::Module;
mod codegen;
pub use codegen::CodeGen;
pub struct JITContext<'ctx> {
context: &'ctx Context,
module: Module<'ctx>,
builder: Builder<'ctx>,
execution_engine: ExecutionEngine<'ctx>,
}
impl<'ctx> JITContext<'ctx> {
pub fn new(context: &Context) -> JITContext {
let module = context.create_module("nixjit");
JITContext {
execution_engine: module
.create_jit_execution_engine(OptimizationLevel::None)
.unwrap(),
builder: context.create_builder(),
context,
module,
}
}
}