pub struct LinkedFunction {Show 14 fields
pub blob_hash: FunctionHash,
pub entry_point: usize,
pub body_length: usize,
pub name: String,
pub arity: u16,
pub param_names: Vec<String>,
pub locals_count: u16,
pub is_closure: bool,
pub captures_count: u16,
pub is_async: bool,
pub ref_params: Vec<bool>,
pub ref_mutates: Vec<bool>,
pub mutable_captures: Vec<bool>,
pub frame_descriptor: Option<FrameDescriptor>,
}Expand description
A linked function ready for execution in a flat instruction array.
Mirrors Function but adds blob_hash so the runtime can trace back
to the original content-addressed blob.
Fields§
§blob_hash: FunctionHashContent hash of the FunctionBlob this was linked from.
entry_point: usizeOffset into the flat LinkedProgram::instructions array.
body_length: usizeNumber of instructions in this function’s body.
name: String§arity: u16§param_names: Vec<String>§locals_count: u16§is_closure: bool§captures_count: u16§is_async: bool§ref_params: Vec<bool>§ref_mutates: Vec<bool>§mutable_captures: Vec<bool>§frame_descriptor: Option<FrameDescriptor>Typed frame layout for this function’s locals.
Trait Implementations§
Source§impl Clone for LinkedFunction
impl Clone for LinkedFunction
Source§fn clone(&self) -> LinkedFunction
fn clone(&self) -> LinkedFunction
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LinkedFunction
impl Debug for LinkedFunction
Source§impl<'de> Deserialize<'de> for LinkedFunction
impl<'de> Deserialize<'de> for LinkedFunction
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 LinkedFunction
impl RefUnwindSafe for LinkedFunction
impl Send for LinkedFunction
impl Sync for LinkedFunction
impl Unpin for LinkedFunction
impl UnsafeUnpin for LinkedFunction
impl UnwindSafe for LinkedFunction
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