ROSE
0.11.98.0
|
#include <Rose/BinaryAnalysis/ModelChecker/P2Model.h>
Public Types | |
using | Super = InstructionSemantics::SymbolicSemantics::State |
Base type. More... | |
using | Ptr = StatePtr |
Shared-ownership pointer. More... | |
Public Types inherited from Rose::BinaryAnalysis::InstructionSemantics::BaseSemantics::State | |
using | Ptr = StatePtr |
Shared-ownership pointer for a State. More... | |
Public Member Functions | |
virtual InstructionSemantics::BaseSemantics::StatePtr | create (const InstructionSemantics::BaseSemantics::RegisterStatePtr ®isters, const InstructionSemantics::BaseSemantics::MemoryStatePtr &memory) const override |
Virtual constructor. More... | |
virtual InstructionSemantics::BaseSemantics::StatePtr | clone () const override |
Virtual copy constructor. More... | |
const FunctionCallStack & | callStack () const |
Function call stack. More... | |
FunctionCallStack & | callStack () |
Function call stack. More... | |
Public Member Functions inherited from Rose::BinaryAnalysis::InstructionSemantics::BaseSemantics::State | |
SValuePtr | protoval () const |
Return the protoval. More... | |
virtual void | clear () |
Initialize state. More... | |
void | zeroRegisters () |
Initialize all registers to zero. More... | |
void | clearMemory () |
Clear all memory locations. More... | |
RegisterStatePtr | registerState () const |
Property: Register state. More... | |
MemoryStatePtr | memoryState () const |
Property: Memory state. More... | |
virtual SValuePtr | readRegister (RegisterDescriptor desc, const SValuePtr &dflt, RiscOperators *ops) |
Read a value from a register. More... | |
virtual SValuePtr | peekRegister (RegisterDescriptor desc, const SValuePtr &dflt, RiscOperators *ops) |
Read register without side effects. More... | |
virtual void | writeRegister (RegisterDescriptor desc, const SValuePtr &value, RiscOperators *ops) |
Write a value to a register. More... | |
virtual SValuePtr | readMemory (const SValuePtr &address, const SValuePtr &dflt, RiscOperators *addrOps, RiscOperators *valOps) |
Read a value from memory. More... | |
virtual SValuePtr | peekMemory (const SValuePtr &address, const SValuePtr &dflt, RiscOperators *addrOps, RiscOperators *valOps) |
Read from memory without side effects. More... | |
virtual void | writeMemory (const SValuePtr &addr, const SValuePtr &value, RiscOperators *addrOps, RiscOperators *valOps) |
Write a value to memory. More... | |
virtual void | hash (Combinatorics::Hasher &, RiscOperators *addrOps, RiscOperators *valOps) const |
Compute a hash of the state. More... | |
std::string | toString () const |
Convert the state to a string for debugging. More... | |
virtual bool | merge (const StatePtr &other, RiscOperators *ops) |
Merge operation for data flow analysis. More... | |
void | printRegisters (std::ostream &stream, const std::string &prefix="") |
Print the register contents. More... | |
virtual void | printRegisters (std::ostream &stream, Formatter &fmt) const |
Print the register contents. More... | |
void | printMemory (std::ostream &stream, const std::string &prefix="") const |
Print memory contents. More... | |
virtual void | printMemory (std::ostream &stream, Formatter &fmt) const |
Print memory contents. More... | |
void | print (std::ostream &stream, const std::string &prefix="") const |
Print the state. More... | |
virtual void | print (std::ostream &, Formatter &) const |
Print the state. More... | |
WithFormatter | with_format (Formatter &fmt) |
Used for printing states with formatting. More... | |
WithFormatter | operator+ (Formatter &fmt) |
Used for printing states with formatting. More... | |
WithFormatter | operator+ (const std::string &linePrefix) |
Used for printing states with formatting. More... | |
Static Public Member Functions | |
static Ptr | instance (const InstructionSemantics::BaseSemantics::RegisterStatePtr &, const InstructionSemantics::BaseSemantics::MemoryStatePtr &) |
Allocating constructor. More... | |
static Ptr | instance (const StatePtr &) |
Deep-copy allocating constructor. More... | |
static Ptr | promote (const InstructionSemantics::BaseSemantics::StatePtr &) |
Checked dynamic cast. More... | |
Static Public Member Functions inherited from Rose::BinaryAnalysis::InstructionSemantics::BaseSemantics::State | |
static StatePtr | instance (const RegisterStatePtr ®isters, const MemoryStatePtr &memory) |
Instantiate a new state object with specified register and memory states. More... | |
static StatePtr | instance (const StatePtr &other) |
Instantiate a new copy of an existing state. More... | |
static StatePtr | promote (const StatePtr &x) |
Protected Member Functions | |
State (const InstructionSemantics::BaseSemantics::RegisterStatePtr &, const InstructionSemantics::BaseSemantics::MemoryStatePtr &) | |
State (const State &) | |
Protected Member Functions inherited from Rose::BinaryAnalysis::InstructionSemantics::BaseSemantics::State | |
State (const RegisterStatePtr ®isters, const MemoryStatePtr &memory) | |
State (const State &other) | |
|
static |
Allocating constructor.
Referenced by create().
Deep-copy allocating constructor.
|
inlineoverridevirtual |
Virtual constructor.
Reimplemented from Rose::BinaryAnalysis::InstructionSemantics::BaseSemantics::State.
Definition at line 279 of file P2Model.h.
References instance().
|
overridevirtual |
Virtual copy constructor.
Reimplemented from Rose::BinaryAnalysis::InstructionSemantics::BaseSemantics::State.
|
static |
Checked dynamic cast.
const FunctionCallStack& Rose::BinaryAnalysis::ModelChecker::P2Model::State::callStack | ( | ) | const |
Function call stack.
The stack of functions whose calls are in progress. The top of the stack is the most recent function call.
FunctionCallStack& Rose::BinaryAnalysis::ModelChecker::P2Model::State::callStack | ( | ) |
Function call stack.
The stack of functions whose calls are in progress. The top of the stack is the most recent function call.