Struct wasm::core::sidetable::SidetableEntry
source · pub struct SidetableEntry {
pub delta_pc: isize,
pub delta_stp: isize,
pub valcnt: usize,
pub popcnt: usize,
}
Expand description
Entry to translate the current branches implicit target into an explicit offset to the instruction pointer, as well as the side table pointer
Each of the following constructs requires a SidetableEntry
:
- br
- br_if
- br_table
- else
Fields§
§delta_pc: isize
Δpc: the amount to adjust the instruction pointer by if the branch is taken
delta_stp: isize
Δstp: the amount to adjust the side-table index by if the branch is taken
valcnt: usize
valcnt: the number of values that will be copied if the branch is taken
Branches may additionally consume operands themselves, which they push back on the operand stack after unwinding.
popcnt: usize
popcnt: the number of values that will be popped if the branch is taken
Taking a branch unwinds the operand stack down to the height where the targeted structured control instruction was entered.
Trait Implementations§
source§impl Clone for SidetableEntry
impl Clone for SidetableEntry
source§fn clone(&self) -> SidetableEntry
fn clone(&self) -> SidetableEntry
Returns a copy 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 moreAuto Trait Implementations§
impl RefUnwindSafe for SidetableEntry
impl Send for SidetableEntry
impl Sync for SidetableEntry
impl Unpin for SidetableEntry
impl UnwindSafe for SidetableEntry
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