Predator  [unstable] git snapshot
Data Structures | Namespaces | Typedefs | Functions | Variables
fixed_point.hh File Reference
#include "clean_list.hh"
#include "fixed_point_proxy.hh"
#include "id_mapper.hh"
#include "shape.hh"
#include "symstate.hh"
#include <climits>
#include <utility>

Go to the source code of this file.

Data Structures

class  GenericInsn
struct  TraceEdge
 single heap-level trace edge holding inner ID mappings inside More...
struct  CfgEdge
 single control-flow edge connecting instructions (no basic blocks here) More...
struct  LocalState
 state summary for a single location (preceding a single instruction) More...
class  GlobalState
 annotated fixed-point of a program (or its part, e.g. a function) More...

Namespaces

namespace  CodeStorage
 object model that describes the analyzed code on the input
namespace  FixedPoint

Typedefs

typedef const CodeStorage::FncTFnc
typedef int TLocIdx
typedef int THeapIdx
typedef int TShapeIdx
typedef std::pair< TLocIdx,
THeapIdx > 
THeapIdent
 heap (in our case represented by SMG) identity
typedef std::pair< THeapIdent,
TShapeIdx > 
TShapeIdent
 container shape (in our case represented by Shape) identity
typedef IdMapper< TShapeIdx,
INT_MIN, INT_MAX > 
TShapeMapper
 NOTE: we can omit specifying INT_MIN/INT_MAX when compiling as C++11.
typedef IdMapper< TObjId,
OBJ_INVALID, OBJ_MAX_ID
TObjectMapper
typedef std::vector< TraceEdge * > TTraceEdgeList
typedef std::vector
< TTraceEdgeList > 
TEdgeListByHeapIdx
typedef std::vector< CfgEdge > TCfgEdgeList

Functions

std::ostream & operator<< (std::ostream &str, const GenericInsn &insn)
const SymHeapheapByIdent (const GlobalState &, THeapIdent)
 return heap of the given state by its identity
SymHeapheapByIdent (GlobalState &, THeapIdent)
 return heap of the given state by its identity
const ShapeshapeByIdent (const GlobalState &, const TShapeIdent &)
 return shape of the given state by its identity
GlobalState * computeStateOf (TFnc, const StateByInsn::TStateMap &)
 caller is responsible to destroy the returned instance
void exportControlFlow (GlobalState *pDst, const GlobalState &glState)
 write the CFG-only skeleton of glState into *pDst
void removeDeadCode (GlobalState *pState)
 remove instructions assigning values to dead variables
void sl_dump (const TShapeMapper &)
 pretty print the given ID mapping

Variables

const THeapIdent InvalidHeap
 fixed heap ID for signalling failures where ID is expected