pub struct RegionCfg {
pub name: String,
pub func: u16,
pub params: Vec<Kind>,
pub ret: Kind,
pub regs: u16,
pub blocks: Vec<RBlock>,
}Expand description
A function as a region: its ports, its register file size, its blocks (block 0 is the entry).
Fields§
§name: String§func: u16§params: Vec<Kind>§ret: Kind§regs: u16§blocks: Vec<RBlock>Implementations§
Source§impl RegionCfg
impl RegionCfg
Sourcepub fn eval_checked(&self, args: &[i64], fuel: u64) -> Result<i64, Halt>
pub fn eval_checked(&self, args: &[i64], fuel: u64) -> Result<i64, Halt>
Run the region under the cells’ 64-bit checked semantics: the reference every device model is held
to. fuel bounds the blocks executed.
Sourcepub fn eval_on_lanes(
&self,
lanes: &mut dyn Lanes,
args: &[i64],
fuel: u64,
) -> Result<(i64, LaneCounts), Halt>
pub fn eval_on_lanes( &self, lanes: &mut dyn Lanes, args: &[i64], fuel: u64, ) -> Result<(i64, LaneCounts), Halt>
Run the region on a device’s lanes: every value in the device’s words, every cell its lane routine. The result, and the lane operations it cost.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for RegionCfg
impl<'de> Deserialize<'de> for RegionCfg
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
impl Eq for RegionCfg
impl StructuralPartialEq for RegionCfg
Auto Trait Implementations§
impl Freeze for RegionCfg
impl RefUnwindSafe for RegionCfg
impl Send for RegionCfg
impl Sync for RegionCfg
impl Unpin for RegionCfg
impl UnsafeUnpin for RegionCfg
impl UnwindSafe for RegionCfg
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,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.