feat: stash
This commit is contained in:
24
src/jit/mod.rs
Normal file
24
src/jit/mod.rs
Normal file
@@ -0,0 +1,24 @@
|
||||
use inkwell::builder::Builder;
|
||||
use inkwell::context::Context;
|
||||
use inkwell::module::Module;
|
||||
use inkwell::OptimizationLevel;
|
||||
use inkwell::execution_engine::ExecutionEngine;
|
||||
|
||||
pub struct JIT<'ctx> {
|
||||
context: &'ctx Context,
|
||||
module: Module<'ctx>,
|
||||
builder: Builder<'ctx>,
|
||||
execution_engine: ExecutionEngine<'ctx>,
|
||||
}
|
||||
|
||||
impl<'ctx> JIT<'ctx> {
|
||||
pub fn new(context: &Context) -> JIT {
|
||||
let module = context.create_module("nixjit");
|
||||
JIT {
|
||||
execution_engine: module.create_jit_execution_engine(OptimizationLevel::None).unwrap(),
|
||||
builder: context.create_builder(),
|
||||
context,
|
||||
module,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ mod compile;
|
||||
mod downcast;
|
||||
mod ty;
|
||||
mod vm;
|
||||
mod jit;
|
||||
|
||||
pub use compile::compile;
|
||||
pub use ty::public::Value;
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
/*
|
||||
use cranelift_codegen::isa::CallConv;
|
||||
use cranelift_frontend::{FuncInstBuilder, FunctionBuilder, FunctionBuilderContext};
|
||||
use cranelift_jit::JITBuilder;
|
||||
|
||||
pub struct JIT {
|
||||
jit: JITBuilder
|
||||
}
|
||||
|
||||
impl JIT {
|
||||
pub fn new() -> JIT {
|
||||
JIT {
|
||||
jit: JITBuilder::
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
@@ -1,7 +1,6 @@
|
||||
mod env;
|
||||
mod stack;
|
||||
mod vm;
|
||||
mod jit;
|
||||
|
||||
#[cfg(test)]
|
||||
mod test;
|
||||
|
||||
Reference in New Issue
Block a user