|
mc2lib
|
#include <strong.hpp>
Public Member Functions | |
| Write (types::Addr addr, types::Pid pid=-1) | |
| Operation::Ptr | Clone () const override |
| void | Reset () override |
| void | InsertPo (Operation::ThreadConstIt before, EvtStateCats *evts) override |
| std::size_t | Emit (types::InstPtr start, Backend *backend, EvtStateCats *evts, void *code, std::size_t len) override |
Public Member Functions inherited from mc2lib::codegen::strong::Read | |
| Read (types::Addr addr, types::Pid pid=-1) | |
| bool | EnableEmit (EvtStateCats *evts) override |
| void | InsertPo (Operation::ThreadConstIt before, EvtStateCats *evts) override |
| std::size_t | Emit (types::InstPtr start, Backend *backend, EvtStateCats *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, EvtStateCats *evts) override |
| const mc::Event * | LastEvent (const mc::Event *next_event, EvtStateCats *evts) const override |
| const mc::Event * | FirstEvent (const mc::Event *prev_event, EvtStateCats *evts) const override |
| types::Addr | addr () const override |
Public Member Functions inherited from mc2lib::codegen::MemOp< Backend, EvtState > | |
| MemOp (types::Pid pid) | |
Public Member Functions inherited from mc2lib::codegen::Op< Backend, EvtState > | |
| Op (types::Pid pid) | |
| virtual | ~Op () |
| virtual void | AdvanceThread (ThreadItStack *it_stack) const |
| 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::Event * | LastEvent (const mc::Event *next_event, EvtState *evts) const=0 |
| virtual const mc::Event * | FirstEvent (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) |
Protected Member Functions | |
| void | InsertObsHelper (const mc::Event *e1, const mc::Event *e2, mc::cats::ExecWitness *ew) override |
| void | EraseObsHelper (const mc::Event *e1, const mc::Event *e2, mc::cats::ExecWitness *ew) override |
Protected Attributes | |
| types::WriteID | write_id_ |
Protected Attributes inherited from mc2lib::codegen::strong::Read | |
| types::Addr | addr_ |
| const mc::Event * | event_ |
| const mc::Event * | from_ |
| types::InstPtr | at_ |
Additional Inherited Members | |
Public Types inherited from mc2lib::codegen::Op< Backend, EvtState > | |
| typedef EvtState | EvtState |
| typedef std::shared_ptr< Op > | Ptr |
| typedef std::vector< Ptr > | Thread |
| typedef Thread::const_iterator | ThreadIt |
| typedef std::unordered_map< types::Pid, Thread > | Threads |
| 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< Callback > | CallbackStack |
|
inlineexplicit |
|
inlineoverridevirtual |
Clone the instance.
Reimplemented from mc2lib::codegen::strong::Read.
|
inlineoverride |
|
inlineoverrideprotectedvirtual |
Reimplemented from mc2lib::codegen::strong::Read.
|
inlineoverrideprotectedvirtual |
Reimplemented from mc2lib::codegen::strong::Read.
|
inlineoverride |
|
inlineoverridevirtual |
Provide Reset, as emit functions may modify the state of an Op to store information to map instructions to events.
Reimplemented from mc2lib::codegen::strong::Read.
|
protected |
1.8.12