Predator  [unstable] git snapshot
Data Structures | Namespaces | Functions
symproc.hh File Reference

SymProc - a layer on top of SymHeap, providing some higher-level operations. More...

#include "config.h"
#include <cl/storage.hh>
#include "symbt.hh"
#include "symid.hh"
#include "symheap.hh"

Go to the source code of this file.

Data Structures

struct  CmpOpTraits
class  SymProc
 a layer on top of SymHeap, providing some higher-level operations More...
struct  SymExecCoreParams
class  SymExecCore
 extension of SymProc, now only used by SymExecEngine::execNontermInsn() More...

Namespaces

namespace  GlConf

Functions

bool describeCmpOp (CmpOpTraits *pTraits, enum cl_binop_e code)
bool areComparableTypes (const TObjType clt1, const TObjType clt2)
TValId compareValues (SymHeap &sh, enum cl_binop_e code, TValId v1, TValId v2)
bool reflectCmpResult (SymState &dst, SymProc &proc, enum cl_binop_e code, bool branch, TValId v1, TValId v2)
void describeUnknownVal (SymProc &proc, TValId val, const char *action)
void executeMemmove (SymProc &proc, TValId valDst, TValId valSrc, TValId valSize, bool allowOverlap)
void executeMemset (SymProc &proc, TValId addr, TValId valToWrite, TValId valSize)

Detailed Description

SymProc - a layer on top of SymHeap, providing some higher-level operations.

Definition in file symproc.hh.

Function Documentation

bool areComparableTypes ( const TObjType  clt1,
const TObjType  clt2 
)
inline

Definition at line 53 of file symproc.hh.

References CL_TYPE_BOOL, CL_TYPE_ENUM, CL_TYPE_INT, and cl_type::code.

TValId compareValues ( SymHeap sh,
enum cl_binop_e  code,
TValId  v1,
TValId  v2 
)
bool describeCmpOp ( CmpOpTraits pTraits,
enum cl_binop_e  code 
)
void describeUnknownVal ( SymProc proc,
TValId  val,
const char *  action 
)
Todo:
make the API more generic and better documented
void executeMemmove ( SymProc proc,
TValId  valDst,
TValId  valSrc,
TValId  valSize,
bool  allowOverlap 
)
void executeMemset ( SymProc proc,
TValId  addr,
TValId  valToWrite,
TValId  valSize 
)
bool reflectCmpResult ( SymState dst,
SymProc proc,
enum cl_binop_e  code,
bool  branch,
TValId  v1,
TValId  v2 
)