|
Static Value-Flow Analysis
|
#include <PersistentPointsToDS.h>
Public Types | |
| typedef PTData< Key, KeySet, Data, DataSet > | BasePTData |
| typedef VersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet > | BaseVersionedPTData |
| typedef BasePTData::PTDataTy | PTDataTy |
| typedef PersistentPTData< Key, KeySet, Data, DataSet >::KeyToIDMap | KeyToIDMap |
| typedef PersistentPTData< VersionedKey, VersionedKeySet, Data, DataSet >::KeyToIDMap | VersionedKeyToIDMap |
Public Types inherited from SVF::VersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet > | |
| typedef PTData< Key, KeySet, Data, DataSet > | BasePTData |
| typedef BasePTData::PTDataTy | PTDataTy |
Public Types inherited from SVF::PTData< Key, KeySet, Data, DataSet > | |
| enum | PTDataTy { Base , MutBase , Diff , MutDiff , DataFlow , MutDataFlow , MutIncDataFlow , Versioned , MutVersioned , PersBase , PersDiff , PersDataFlow , PersIncDataFlow , PersVersioned } |
| Types of a points-to data structures. More... | |
Static Public Member Functions | |
| static bool | classof (const PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet > *) |
| static bool | classof (const PTData< Key, KeySet, Data, DataSet > *ptd) |
Static Public Member Functions inherited from SVF::VersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet > | |
| static bool | classof (const VersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet > *) |
| static bool | classof (const PTData< Key, KeySet, Data, DataSet > *ptd) |
Private Attributes | |
| PersistentPTData< Key, KeySet, Data, DataSet > | tlPTData |
| PTData for Keys (top-level pointers, generally). | |
| PersistentPTData< VersionedKey, VersionedKeySet, Data, DataSet > | atPTData |
| PTData for VersionedKeys (address-taken objects, generally). | |
Additional Inherited Members | |
Protected Attributes inherited from SVF::PTData< Key, KeySet, Data, DataSet > | |
| bool | rev |
| Whether we maintain reverse points-to sets or not. | |
| PTDataTy | ptdTy |
VersionedPTData implemented with persistent points-to sets (Data). Implemented as a wrapper around two PersistentPTDatas: one for Keys, one for VersionedKeys. They are constructed with the same PersistentPointsToCache.
Definition at line 805 of file PersistentPointsToDS.h.
| typedef PTData<Key, KeySet, Data, DataSet> SVF::PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet >::BasePTData |
Definition at line 808 of file PersistentPointsToDS.h.
| typedef VersionedPTData<Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet> SVF::PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet >::BaseVersionedPTData |
Definition at line 809 of file PersistentPointsToDS.h.
| typedef PersistentPTData<Key,KeySet,Data,DataSet>::KeyToIDMap SVF::PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet >::KeyToIDMap |
Definition at line 812 of file PersistentPointsToDS.h.
| typedef BasePTData::PTDataTy SVF::PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet >::PTDataTy |
Definition at line 810 of file PersistentPointsToDS.h.
| typedef PersistentPTData<VersionedKey,VersionedKeySet,Data,DataSet>::KeyToIDMap SVF::PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet >::VersionedKeyToIDMap |
Definition at line 813 of file PersistentPointsToDS.h.
|
inlineexplicit |
Definition at line 815 of file PersistentPointsToDS.h.
|
overridedefault |
|
inlineoverridevirtual |
Adds element to the points-to set associated with var.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 846 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Implements SVF::VersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet >.
Definition at line 850 of file PersistentPointsToDS.h.
|
inlinestatic |
Methods to support type inquiry through isa, cast, and dyn_cast:
Definition at line 936 of file PersistentPointsToDS.h.
|
inlinestatic |
Definition at line 941 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Clears all points-to sets as if nothing is stored.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 820 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Fully clears the points-to set of var.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 889 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Implements SVF::VersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet >.
Definition at line 893 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Clears element from the points-to set of var.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 880 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Implements SVF::VersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet >.
Definition at line 884 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Dump stored keys and points-to sets.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 926 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Returns a mapping of points-to sets to the number of times they are stored. liveOnly indicates whether to include only points-to sets which correspond to a variable (matters when dealing with non-GC persistent PT).
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 904 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Get points-to set of var.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 826 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Implements SVF::VersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet >.
Definition at line 830 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Get reverse points-to set of a datum.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 835 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Implements SVF::VersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet >.
Definition at line 840 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Remaps all points-to sets to use the current mapping.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 898 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Performs pts(dstVar) = pts(dstVar) U srcDataSet.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 871 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Performs pts(dstVar) = pts(dstVar) U pts(srcVar).
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 855 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Implements SVF::VersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet >.
Definition at line 867 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Implements SVF::VersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet >.
Definition at line 875 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Implements SVF::VersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet >.
Definition at line 863 of file PersistentPointsToDS.h.
|
inlineoverridevirtual |
Implements SVF::VersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet >.
Definition at line 859 of file PersistentPointsToDS.h.
|
private |
PTData for VersionedKeys (address-taken objects, generally).
Definition at line 951 of file PersistentPointsToDS.h.
|
private |
PTData for Keys (top-level pointers, generally).
Definition at line 949 of file PersistentPointsToDS.h.