pub struct MachineAnalyzer {
pub enable_coverage: u8,
pub enable_flamegraph: u8,
pub enable_overlap: u8,
pub enable_steplog: u8,
pub machine: DefaultMachine<DefaultCoreMachine<u64, WXorXMemory<FlatMemory<u64>>>>,
pub coverage: MachineCoverage,
pub flamegraph: MachineFlamegraph,
pub overlap: MachineOverlap,
pub steplog: MachineStepLog,
}Fields§
§enable_coverage: u8§enable_flamegraph: u8§enable_overlap: u8§enable_steplog: u8§machine: DefaultMachine<DefaultCoreMachine<u64, WXorXMemory<FlatMemory<u64>>>>§coverage: MachineCoverage§flamegraph: MachineFlamegraph§overlap: MachineOverlap§steplog: MachineStepLogImplementations§
Source§impl MachineAnalyzer
impl MachineAnalyzer
pub fn new( machine: DefaultMachine<DefaultCoreMachine<u64, WXorXMemory<FlatMemory<u64>>>>, coverage: MachineCoverage, flamegraph: MachineFlamegraph, overlap: MachineOverlap, steplog: MachineStepLog, ) -> Self
pub fn run(&mut self) -> Result<i8, Error>
Trait Implementations§
Source§impl CoreMachine for MachineAnalyzer
impl CoreMachine for MachineAnalyzer
type REG = u64
type MEM = WXorXMemory<FlatMemory<u64>>
fn pc(&self) -> &Self::REG
fn update_pc(&mut self, pc: Self::REG)
fn commit_pc(&mut self)
fn memory(&self) -> &Self::MEM
fn memory_mut(&mut self) -> &mut Self::MEM
fn registers(&self) -> &[Self::REG]
fn set_register(&mut self, idx: usize, value: Self::REG)
fn isa(&self) -> u8
fn version(&self) -> u32
Source§impl Display for MachineAnalyzer
impl Display for MachineAnalyzer
Auto Trait Implementations§
impl !Freeze for MachineAnalyzer
impl !RefUnwindSafe for MachineAnalyzer
impl !Send for MachineAnalyzer
impl !Sync for MachineAnalyzer
impl Unpin for MachineAnalyzer
impl UnsafeUnpin for MachineAnalyzer
impl !UnwindSafe for MachineAnalyzer
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more