zkvmc_jit/lib.rs
1mod cache;
2use std::ptr::NonNull;
3
4pub use cache::JitCache;
5use zkvmc_context::Context;
6
7pub fn run(ctx: &mut Context) -> u32 {
8 let mut func = ctx.trampoline;
9 let ctx_ptr = NonNull::from(ctx);
10 loop {
11 func = func(ctx_ptr).0;
12 if let Some(code) = unsafe { ctx_ptr.as_ref().exit_code } {
13 return code;
14 }
15 }
16}