mod cache;
use std::ptr::NonNull;
pub use cache::JitCache;
use zkvmc_context::Context;
pub fn run(ctx: &mut Context) -> u32 {
let mut func = ctx.trampoline;
let ctx_ptr = NonNull::from(ctx);
loop {
func = func(ctx_ptr).0;
if let Some(code) = unsafe { ctx_ptr.as_ref().exit_code } {
return code;
}
}
}