mc2lib
Public Member Functions | Protected Attributes | List of all members
mc2lib::codegen::strong::ReadSequence Class Reference

#include <strong.hpp>

Inheritance diagram for mc2lib::codegen::strong::ReadSequence:
mc2lib::codegen::NullOp< Backend, EvtState > mc2lib::codegen::Op< Backend, EvtState >

Public Member Functions

 ReadSequence (types::Addr min_addr, types::Addr max_addr, types::Pid pid=-1)
 
void AdvanceThread (Operation::ThreadItStack *it_stack) const override
 
Operation::Ptr Clone () const override
 
void Reset () override
 
- Public Member Functions inherited from mc2lib::codegen::NullOp< Backend, EvtState >
 NullOp (types::Pid pid)
 
bool EnableEmit (EvtState *evts) override
 
void InsertPo (typename Op< Backend, EvtState >::ThreadConstIt before, EvtState *evts) override
 
std::size_t Emit (types::InstPtr start, Backend *backend, EvtState *evts, void *code, std::size_t len) override
 
bool UpdateObs (types::InstPtr ip, int part, types::Addr addr, const types::WriteID *from_id, std::size_t size, EvtState *evts) override
 
const mc::EventLastEvent (const mc::Event *next_event, EvtState *evts) const override
 
const mc::EventFirstEvent (const mc::Event *prev_event, EvtState *evts) const override
 
- Public Member Functions inherited from mc2lib::codegen::Op< Backend, EvtState >
 Op (types::Pid pid)
 
virtual ~Op ()
 
virtual void InsertPo (ThreadConstIt before, EvtState *evts)=0
 
virtual void RegisterCallback (CallbackStack *callback_stack)
 
types::Pid pid () const
 
void set_pid (types::Pid pid)
 

Protected Attributes

types::Addr min_addr_
 
types::Addr max_addr_
 
Operation::Thread sequence_
 

Additional Inherited Members

- Public Types inherited from mc2lib::codegen::Op< Backend, EvtState >
typedef EvtState EvtState
 
typedef std::shared_ptr< OpPtr
 
typedef std::vector< PtrThread
 
typedef Thread::const_iterator ThreadIt
 
typedef std::unordered_map< types::Pid, ThreadThreads
 
typedef std::vector< std::pair< ThreadIt, ThreadIt > > ThreadItStack
 
typedef std::vector< const Op *> ThreadConst
 
typedef ThreadConst::const_iterator ThreadConstIt
 
typedef std::function< std::size_t(Op *, types::InstPtr, Backend *, EvtState *, void *, std::size_t)> Callback
 
typedef std::vector< CallbackCallbackStack
 

Constructor & Destructor Documentation

§ ReadSequence()

mc2lib::codegen::strong::ReadSequence::ReadSequence ( types::Addr  min_addr,
types::Addr  max_addr,
types::Pid  pid = -1 
)
inlineexplicit

Member Function Documentation

§ AdvanceThread()

void mc2lib::codegen::strong::ReadSequence::AdvanceThread ( Operation::ThreadItStack it_stack) const
inlineoverridevirtual

§ Clone()

Operation::Ptr mc2lib::codegen::strong::ReadSequence::Clone ( ) const
inlineoverridevirtual

Clone the instance.

Implements mc2lib::codegen::Op< Backend, EvtState >.

§ Reset()

void mc2lib::codegen::strong::ReadSequence::Reset ( )
inlineoverridevirtual

Provide Reset, as emit functions may modify the state of an Op to store information to map instructions to events.

Implements mc2lib::codegen::Op< Backend, EvtState >.

Member Data Documentation

§ max_addr_

types::Addr mc2lib::codegen::strong::ReadSequence::max_addr_
protected

§ min_addr_

types::Addr mc2lib::codegen::strong::ReadSequence::min_addr_
protected

§ sequence_

Operation::Thread mc2lib::codegen::strong::ReadSequence::sequence_
protected

The documentation for this class was generated from the following file: