ROSE  0.11.87.0
Public Types | Static Public Member Functions | Protected Member Functions | List of all members
Rose::BinaryAnalysis::InstructionSemantics2::NativeSemantics::State Class Reference

Description

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 269 of file NativeSemantics.h.

#include <Rose/BinaryAnalysis/InstructionSemantics2/NativeSemantics.h>

Inheritance diagram for Rose::BinaryAnalysis::InstructionSemantics2::NativeSemantics::State:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::InstructionSemantics2::NativeSemantics::State:
Collaboration graph
[legend]

Public Types

using Super = ConcreteSemantics::State
 Base type. More...
 
using Ptr = StatePtr
 Shared-ownership pointer. More...
 
- Public Types inherited from Rose::BinaryAnalysis::InstructionSemantics2::BaseSemantics::State
using Ptr = StatePtr
 Shared-ownership pointer for a State. More...
 

Static Public Member Functions

static StatePtr instance (const BaseSemantics::RegisterStatePtr &registers, const BaseSemantics::MemoryStatePtr &memory)
 
- Static Public Member Functions inherited from Rose::BinaryAnalysis::InstructionSemantics2::BaseSemantics::State
static StatePtr instance (const RegisterStatePtr &registers, 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 &registers, const BaseSemantics::MemoryStatePtr &memory)
 
- Protected Member Functions inherited from Rose::BinaryAnalysis::InstructionSemantics2::BaseSemantics::State
 State (const RegisterStatePtr &registers, const MemoryStatePtr &memory)
 
 State (const State &other)
 

Additional Inherited Members

- Public Member Functions inherited from Rose::BinaryAnalysis::InstructionSemantics2::BaseSemantics::State
virtual StatePtr create (const RegisterStatePtr &registers, 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...
 
virtual void zero_registers ()
 
void clearMemory ()
 Clear all memory locations. More...
 
virtual void clear_memory ()
 
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...
 

Member Typedef Documentation

Base type.

Definition at line 272 of file NativeSemantics.h.

Shared-ownership pointer.

Definition at line 275 of file NativeSemantics.h.


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