mc2lib
Public Member Functions | List of all members
mc2lib::codegen::MemOp< Backend, EvtState > Class Template Referenceabstract

#include <compiler.hpp>

Inheritance diagram for mc2lib::codegen::MemOp< Backend, EvtState >:
mc2lib::codegen::Op< Backend, EvtState > mc2lib::codegen::armv7::Read mc2lib::codegen::armv7::Write mc2lib::codegen::strong::CacheFlush mc2lib::codegen::strong::Read mc2lib::codegen::strong::ReadModifyWrite mc2lib::codegen::armv7::ReadAddrDp mc2lib::codegen::strong::ReadAddrDp mc2lib::codegen::strong::Write

Public Member Functions

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

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

§ MemOp()

template<class Backend , class EvtState >
mc2lib::codegen::MemOp< Backend, EvtState >::MemOp ( types::Pid  pid)
inlineexplicit

Member Function Documentation

§ addr()

template<class Backend , class EvtState >
virtual types::Addr mc2lib::codegen::MemOp< Backend, EvtState >::addr ( ) const
pure virtual

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