pub struct Redirect {
pub target: u64,
pub nullify_delay_slot: bool,
}Expand description
A control-flow redirect EX resolved.
The delay slot has already been fetched by the time EX resolves a branch,
which is the whole point of the architectural delay slot. What EX decides is
where the fetch after the delay slot goes, and whether the delay slot runs
at all.
Fields§
§target: u64Where to fetch next.
nullify_delay_slot: boolNullify the already-fetched delay slot.
True only for a branch-likely form that was not taken. An ordinary branch executes its delay slot whether or not it is taken; a likely branch squashes it when not taken. Confusing the two silently runs or skips one instruction per untaken branch.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Redirect
impl<'de> Deserialize<'de> for Redirect
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 Copy for Redirect
impl Eq for Redirect
impl StructuralPartialEq for Redirect
Auto Trait Implementations§
impl Freeze for Redirect
impl RefUnwindSafe for Redirect
impl Send for Redirect
impl Sync for Redirect
impl Unpin for Redirect
impl UnsafeUnpin for Redirect
impl UnwindSafe for Redirect
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