pub struct ProgramSpec<'a> {
pub code_base: u32,
pub code: &'a [u8],
pub data_base: u32,
pub mem_image: &'a [u8],
pub ro_overlays: &'a [RoOverlay],
pub declared_mem_size: u32,
pub regs: Regs,
}Expand description
Personality-agnostic program description for run_program: what
to execute, over what memory, starting from which register file.
The personality (JAVM: javm::JavmLocal’s run_instance) is
responsible for lowering its own object types into this shape.
Fields§
§code_base: u32The executable code region, mapped RO with PC = code_base +
byte offset.
code: &'a [u8]§data_base: u32Base guest address of the flat RW data image. [0, data_base)
(null guard + code window) faults on data access.
mem_image: &'a [u8]Initial contents of the RW region [data_base, data_base + mem_image.len()).
ro_overlays: &'a [RoOverlay]Read-only re-lays over the seeded image.
declared_mem_size: u32Declared memory footprint (high-water mark) used to pick the load/store gas tier — must match what the JIT backend derives so both engines charge identically.
regs: RegsFully prepared register file (entry PC + initial GPRs).