pub struct Program {Show 14 fields
pub entry: FunctionHash,
pub function_store: HashMap<FunctionHash, FunctionBlob>,
pub top_level_locals_count: u16,
pub top_level_local_storage_hints: Vec<StorageHint>,
pub module_binding_names: Vec<String>,
pub module_binding_storage_hints: Vec<StorageHint>,
pub function_local_storage_hints: Vec<Vec<StorageHint>>,
pub top_level_frame: Option<FrameDescriptor>,
pub data_schema: Option<DataFrameSchema>,
pub type_schema_registry: TypeSchemaRegistry,
pub trait_method_symbols: HashMap<String, String>,
pub foreign_functions: Vec<ForeignFunctionEntry>,
pub native_struct_layouts: Vec<NativeStructLayoutEntry>,
pub debug_info: DebugInfo,
}Expand description
A content-addressed program: a set of FunctionBlobs plus program-level metadata.
This is the storage / cache representation. Before execution the linker
flattens it into a LinkedProgram.
Fields§
§entry: FunctionHashHash of the entry-point function.
function_store: HashMap<FunctionHash, FunctionBlob>All function blobs keyed by content hash.
top_level_locals_count: u16Number of locals used by top-level code.
top_level_local_storage_hints: Vec<StorageHint>Storage hints for top-level locals.
module_binding_names: Vec<String>Module-binding variable names (index -> name).
module_binding_storage_hints: Vec<StorageHint>Storage hints for module bindings.
function_local_storage_hints: Vec<Vec<StorageHint>>Per-function local storage hints.
top_level_frame: Option<FrameDescriptor>Typed frame layout for top-level locals.
data_schema: Option<DataFrameSchema>DataFrame schema for column name resolution.
type_schema_registry: TypeSchemaRegistryType schema registry for TypedObject field resolution.
trait_method_symbols: HashMap<String, String>Trait method dispatch registry.
foreign_functions: Vec<ForeignFunctionEntry>Foreign function metadata table.
native_struct_layouts: Vec<NativeStructLayoutEntry>Native type C layout metadata table.
debug_info: DebugInfoDebug information (source files, variable names).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Program
impl<'de> Deserialize<'de> for Program
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more