ROSE
0.11.102.0
|
Machine state.
Since the subordinate process contains all the state and there's no way to copy a process, state objects are not copyable.
Definition at line 238 of file NativeSemantics.h.
#include <Rose/BinaryAnalysis/InstructionSemantics/NativeSemantics.h>
Public Types | |
using | Super = ConcreteSemantics::State |
Base type. More... | |
using | Ptr = StatePtr |
Shared-ownership pointer. More... | |
![]() | |
using | Ptr = StatePtr |
Shared-ownership pointer. More... | |
Static Public Member Functions | |
static StatePtr | instance (const BaseSemantics::RegisterStatePtr ®isters, const BaseSemantics::MemoryStatePtr &memory) |
![]() | |
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 BaseSemantics::RegisterStatePtr ®isters, const BaseSemantics::MemoryStatePtr &memory) | |
![]() | |
State (const RegisterStatePtr ®isters, const MemoryStatePtr &memory) | |
State (const State &other) | |
Additional Inherited Members | |
![]() | |
virtual StatePtr | create (const RegisterStatePtr ®isters, const MemoryStatePtr &memory) const |
Virtual constructor. More... | |
virtual StatePtr | clone () const |
Virtual copy constructor. More... | |
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... | |
using Rose::BinaryAnalysis::InstructionSemantics::NativeSemantics::State::Super = ConcreteSemantics::State |
Base type.
Definition at line 241 of file NativeSemantics.h.
Shared-ownership pointer.
Definition at line 244 of file NativeSemantics.h.