Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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;
        }
    }
}