[][src]Trait gf::mc::trace::TraceStep

pub trait TraceStep<'a>: MultiConstSpaceState<'a, u128, FlatLattice<BitVec>> {
    fn module(&self) -> &'a Module;
fn events(&mut self) -> Vec<TraceEvent<'a>>; fn get(&mut self, elt: SpaceElt<'a, u128>) -> FlatLattice<BitVec> { ... }
fn get_reg(&mut self, reg: Reg<'a>) -> FlatLattice<BitVec> { ... } }

A step in a trace.

Steps implement ConstSpaceState, use ConstSpaceState::load to get space element values.

Required methods

fn module(&self) -> &'a Module

Return the Pivot module associated with the trace.

fn events(&mut self) -> Vec<TraceEvent<'a>>

Return the vector of events that happened at the current position.

If the cursor is in the “nowhere” state, the sequence is empty.

Loading content...

Provided methods

fn get(&mut self, elt: SpaceElt<'a, u128>) -> FlatLattice<BitVec>

Get value of a space element.

The default implementation dispatches to ConstSpaceState::load_result.

Errors

  • Returns ⊤ if there is no value for the element.
  • Returns ⊥ if the load fails.

fn get_reg(&mut self, reg: Reg<'a>) -> FlatLattice<BitVec>

Get value of a register.

The default implementation dispatches to get after converting the address.

Errors

  • Returns ⊤ if the address cannot be converted to a u128.
Loading content...

Implementors

Loading content...