pub struct Block {
pub id: usize,
pub start: u32,
pub end: u32,
pub ins_len: u32,
pub succ: Vec<usize>,
pub pred: Vec<usize>,
pub handlers: Vec<u32>,
}Fields§
§id: usize§start: u32First machine offset covered by this block (inclusive).
end: u32End offset (exclusive).
ins_len: u32Number of machine instructions (or code units) in this block. 0
marks a block with no code of its own — a structural stub the CFG
split produced (handler entries, empty ranges).
succ: Vec<usize>Successor block ids. For a conditional branch: [fallthrough, taken]
(the structurer may reorder branches based on condition polarity).
pred: Vec<usize>§handlers: Vec<u32>Exception-range indices this block is the HANDLER of (index into
Cfg::exc_ranges) — the structurer’s try reconstruction reads those,
not source blocks.
Implementations§
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