pub struct ImageCap {
pub code: Vec<u8>,
pub bitmask: Vec<u8>,
pub jump_table: Vec<u32>,
pub endpoints: Vec<EndpointDef>,
pub mappings: Vec<MemoryMapping>,
pub pinned: Vec<ImageSlotEntry>,
pub initial: Vec<ImageSlotEntry>,
pub yield_marker_slot: Option<SlotIdx>,
}Fields§
§code: Vec<u8>Bytecode bytes.
bitmask: Vec<u8>Packed bit-per-byte instruction-start bitmask. Same layout
as crate::image::Image::packed_bitmask.
jump_table: Vec<u32>Jump-table entries (PVM PCs).
endpoints: Vec<EndpointDef>Endpoint definitions. Stored as a dense array keyed by
endpoint index — endpoints[i].entry_pc == 0 means the
endpoint at index i is not defined.
mappings: Vec<MemoryMapping>Memory mappings.
pinned: Vec<ImageSlotEntry>Pinned read-only slots (Cap::Data / Cap::Image). Images only
ever reference content-addressed caps, so the target is a
plain CapHash.
initial: Vec<ImageSlotEntry>Initial mutable slot state for non-pinned slots.
yield_marker_slot: Option<SlotIdx>Slot holding Cap::Instance[YieldCatcher], if any.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ImageCap
impl RefUnwindSafe for ImageCap
impl Send for ImageCap
impl Sync for ImageCap
impl Unpin for ImageCap
impl UnsafeUnpin for ImageCap
impl UnwindSafe for ImageCap
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.