decompiler  1.0.0
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
JumpTable Class Reference

Public Member Functions

 JumpTable (Architecture *g, Address ad=Address())
 
 JumpTable (const JumpTable *op2)
 
bool isSwitchedOver (void) const
 
bool isRecovered (void) const
 
bool isLabelled (void) const
 
bool isOverride (void) const
 
bool isPossibleMultistage (void) const
 
int4 getStage (void) const
 
int4 numEntries (void) const
 
int4 getMostCommon (void) const
 
const AddressgetOpAddress (void) const
 
PcodeOpgetIndirectOp (void) const
 
void setIndirectOp (PcodeOp *ind)
 
void setMaxTableSize (uint4 val)
 
void setNormMax (uint4 maddsub, uint4 mleftright, uint4 mext)
 
void setOverride (const vector< Address > &addrtable, const Address &naddr, uintb h, uintb sv)
 
int4 numIndicesByBlock (const FlowBlock *bl) const
 
int4 getIndexByBlock (const FlowBlock *bl, int4 i) const
 
Address getAddressByIndex (int4 index) const
 
void setMostCommonIndex (uint4 tableind)
 
void setMostCommonBlock (uint4 bl)
 
void setLoadCollect (bool val)
 
void addBlockToSwitch (BlockBasic *bl, uintb lab)
 
void switchOver (const FlowInfo &flow)
 
uintb getLabelByIndex (int4 index) const
 
void foldInNormalization (Funcdata *fd)
 
bool foldInGuards (Funcdata *fd)
 
void recoverAddresses (Funcdata *fd)
 
void recoverMultistage (Funcdata *fd)
 
bool recoverLabels (Funcdata *fd)
 
bool checkForMultistage (Funcdata *fd)
 
void clear (void)
 
void saveXml (ostream &s) const
 
void restoreXml (const Element *el)
 

Private Member Functions

void recoverModel (Funcdata *fd)
 
void trivialSwitchOver (void)
 
void sanityCheck (Funcdata *fd)
 
uint4 block2Position (const FlowBlock *bl) const
 

Static Private Member Functions

static bool isReachable (PcodeOp *op)
 

Private Attributes

Architectureglb
 
JumpModeljmodel
 
JumpModelorigmodel
 
vector< Addressaddresstable
 
vector< uint4 > blocktable
 
vector< uintb > label
 
vector< LoadTableloadpoints
 
Address opaddress
 
PcodeOpindirect
 
uint4 mostcommon
 
uint4 maxtablesize
 
uint4 maxaddsub
 
uint4 maxleftright
 
uint4 maxext
 
int4 recoverystage
 
bool collectloads
 

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