pub struct Block {
pub id: usize,
pub start: u32,
pub end: u32,
pub ins_lo: usize,
pub ins_hi: usize,
pub succ: Vec<usize>,
pub pred: Vec<usize>,
pub handlers: Vec<usize>,
}Fields§
§id: usize§start: u32First code unit (inclusive).
end: u32End code unit (exclusive).
ins_lo: usizeInstruction INDEX range [lo, hi) into the code item’s linear
insns stream (blocks are contiguous pc ranges of a linear decode —
the previous per-block Vec<Insn> CLONE was a top allocation cost).
ins_hi: usize§succ: Vec<usize>Successors. Conditional: [fallthrough, taken]; switch: default
first, then key order.
pred: Vec<usize>§handlers: Vec<usize>Exception range indices whose handler this block is.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Block
impl RefUnwindSafe for Block
impl Send for Block
impl Sync for Block
impl Unpin for Block
impl UnsafeUnpin for Block
impl UnwindSafe for Block
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