pub struct Program {
pub code: Vec<u8>,
pub predecode: Predecode,
pub code_base: u32,
}Expand description
Predecoded PVM2 program: bytecode plus the per-instruction analysis the interpreter consumes. Cache-friendly — the integration layer builds one of these per Image and shares it across invocations.
Fields§
§code: Vec<u8>§predecode: Predecode§code_base: u32Guest VA at which this code region is mapped, so that
PC = code_base + byte_offset. regs.pc and
predecode.insts[].pc are offsets; register-held code addresses
(return addresses, auipc results) are VAs (code_base + offset).
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Program
impl RefUnwindSafe for Program
impl Send for Program
impl Sync for Program
impl Unpin for Program
impl UnsafeUnpin for Program
impl UnwindSafe for Program
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more