pub struct AxEvent<'a, B> {
pub opcode: B,
pub po: usize,
pub intra_instruction_order: usize,
pub thread_id: ThreadId,
pub name: String,
pub base: &'a Event<B>,
pub is_ifetch: bool,
}Expand description
An AxEvent (axiomatic event) is an event combined with metadata about where and when it was executed in a candidate execution. This can be combined with the footprint analysis to determine various dependency orders on events.
Fields§
§opcode: BThe opcode for the instruction that contained the underlying event
po: usizeThe place of the event in po-order for it’s thread
intra_instruction_order: usizeIf a single instruction contains multiple events, this will order them
thread_id: ThreadIdThe thread id for the event
name: StringA generated unique name for the event
base: &'a Event<B>The underlying event in the SMT trace
is_ifetch: boolIs the event an instruction fetch (i.e. base is ReadMem with an ifetch read_kind)
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<'a, B> Freeze for AxEvent<'a, B>where
B: Freeze,
impl<'a, B> RefUnwindSafe for AxEvent<'a, B>where
B: RefUnwindSafe,
impl<'a, B> Send for AxEvent<'a, B>
impl<'a, B> Sync for AxEvent<'a, B>where
B: Sync,
impl<'a, B> Unpin for AxEvent<'a, B>where
B: Unpin,
impl<'a, B> UnsafeUnpin for AxEvent<'a, B>where
B: UnsafeUnpin,
impl<'a, B> UnwindSafe for AxEvent<'a, B>where
B: UnwindSafe + RefUnwindSafe,
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