Predator
[unstable] git snapshot
|
higher-level container that maintains a SymStateMarked object per each basic block. More...
#include <symstate.hh>
Public Types | |
typedef std::vector< const CodeStorage::Block * > | TContBlock |
Public Member Functions | |
SymStateMap () | |
virtual | ~SymStateMap () |
SymStateMarked & | operator[] (const CodeStorage::Block *) |
state lookup, basically equal to std::map semantic | |
bool | insert (const CodeStorage::Block *dst, const SymHeap &sh, bool allowThreeWay=true) |
managed insertion of the state that keeps track of the relation among source and destination basic blocks | |
bool | anyReuseHappened (const CodeStorage::Block *) const |
true if the specified block has ever joined/entailed any given state | |
virtual int | cntPending (const CodeStorage::Block *) const |
return count of heaps pending for execution in the specified blcok |
Private Member Functions | |
SymStateMap (const SymStateMap &) | |
object copying is not allowed | |
SymStateMap & | operator= (const SymStateMap &) |
object copying is not allowed |
Private Attributes | |
Private * | d |
higher-level container that maintains a SymStateMarked object per each basic block.
It's used by SymExecEngine and PathTracer classes.
Definition at line 260 of file symstate.hh.
typedef std::vector<const CodeStorage::Block *> TContBlock |
Definition at line 262 of file symstate.hh.
SymStateMap | ( | ) |
|
virtual |
|
private |
object copying is not allowed
bool anyReuseHappened | ( | const CodeStorage::Block * | ) | const |
true if the specified block has ever joined/entailed any given state
|
virtual |
return count of heaps pending for execution in the specified blcok
Implements IPendingCountProvider.
bool insert | ( | const CodeStorage::Block * | dst, |
const SymHeap & | sh, | ||
bool | allowThreeWay = true |
||
) |
managed insertion of the state that keeps track of the relation among source and destination basic blocks
dst | destination basic block (where the insertion occurs) |
sh | an instance of symbolic heap that should be inserted |
allowThreeWay | if true, three-way join is allowed |
|
private |
object copying is not allowed
SymStateMarked& operator[] | ( | const CodeStorage::Block * | ) |
state lookup, basically equal to std::map semantic
|
private |
Definition at line 294 of file symstate.hh.