Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
Rose::BinaryAnalysis::InstructionSemantics2::PartialSymbolicSemantics::State Class Reference


Represents the entire state of the machine.

This state expects to use a subclass of BaseSemantics::MemoryCellList as its memory state, and does not expect that MemoryCellList to be byte-restricted.

Definition at line 226 of file PartialSymbolicSemantics2.h.

#include <PartialSymbolicSemantics2.h>

Inheritance diagram for Rose::BinaryAnalysis::InstructionSemantics2::PartialSymbolicSemantics::State:
Inheritance graph
Collaboration diagram for Rose::BinaryAnalysis::InstructionSemantics2::PartialSymbolicSemantics::State:
Collaboration graph

Public Member Functions

virtual BaseSemantics::StatePtr create (const BaseSemantics::RegisterStatePtr &registers, const BaseSemantics::MemoryStatePtr &memory) const ROSE_OVERRIDE
virtual BaseSemantics::StatePtr clone () const ROSE_OVERRIDE
virtual void print_diff_registers (std::ostream &, const StatePtr &other_state, Formatter &) const
 Print info about how registers differ. More...
virtual bool equal_registers (const StatePtr &other) const
 Tests registers of two states for equality. More...
virtual void discard_popped_memory ()
 Removes from memory those values at addresses below the current stack pointer. More...

Static Public Member Functions

static StatePtr instance (const BaseSemantics::RegisterStatePtr &registers, const BaseSemantics::MemoryStatePtr &memory)
 Instantiates a new instance of memory state with specified register and memory states. More...
static StatePtr instance (const StatePtr &other)
 Instantiates a new copy of an existing state. More...
static StatePtr promote (const BaseSemantics::StatePtr &x)

Protected Member Functions

 State (const BaseSemantics::RegisterStatePtr &registers, const BaseSemantics::MemoryStatePtr &memory)
 State (const State &other)

Member Function Documentation

static StatePtr Rose::BinaryAnalysis::InstructionSemantics2::PartialSymbolicSemantics::State::instance ( const BaseSemantics::RegisterStatePtr registers,
const BaseSemantics::MemoryStatePtr memory 

Instantiates a new instance of memory state with specified register and memory states.

Definition at line 252 of file PartialSymbolicSemantics2.h.

static StatePtr Rose::BinaryAnalysis::InstructionSemantics2::PartialSymbolicSemantics::State::instance ( const StatePtr other)

Instantiates a new copy of an existing state.

Definition at line 258 of file PartialSymbolicSemantics2.h.

virtual void Rose::BinaryAnalysis::InstructionSemantics2::PartialSymbolicSemantics::State::print_diff_registers ( std::ostream &  ,
const StatePtr other_state,
) const

Print info about how registers differ.

If a RenameMap is specified then named values will be renamed to have a shorter name.

virtual bool Rose::BinaryAnalysis::InstructionSemantics2::PartialSymbolicSemantics::State::equal_registers ( const StatePtr other) const

Tests registers of two states for equality.

virtual void Rose::BinaryAnalysis::InstructionSemantics2::PartialSymbolicSemantics::State::discard_popped_memory ( )

Removes from memory those values at addresses below the current stack pointer.

This is automatically called after each instruction if the policy's p_discard_popped_memory property is set.

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