RTLInstDict Class Reference

#include <include/rtl.h>

List of all members.


Detailed Description

Definition at line 253 of file rtl.h.

Public Member Functions

void addRegister (const char *name, int id, int size, bool flt)
int appendToDict (std::string &n, std::list< std::string > &p, RTL &rtl)
void fixupParams ()
void fixupParamsSub (std::string s, std::list< std::string > &funcParams, bool &haveCount, int mark)
std::pair< std::string, unsigned > getSignature (const char *name)
std::list< Statement * > * instantiateRTL (RTL &rtls, ADDRESS natPC, std::list< std::string > &params, std::vector< Exp * > &actuals)
std::list< Statement * > * instantiateRTL (std::string &name, ADDRESS natPC, std::vector< Exp * > &actuals)
bool partialType (Exp *exp, Type &ty)
void print (std::ostream &os=std::cout)
bool readSSLFile (const std::string &SSLFileName)
void reset ()
 RTLInstDict ()
std::list< Statement * > * transformPostVars (std::list< Statement * > *rts, bool optimise)
 ~RTLInstDict ()

Public Attributes

std::map< int, Exp * > AliasMap
bool bigEndian
std::map< std::string, std::pair<
int, void * > * > 
DefMap
std::map< std::string, ParamEntryDetParamMap
std::map< int, Register, std::less<
int > > 
DetRegMap
std::map< std::string, std::string > fastMap
RTLfetchExecCycle
std::map< std::string, Exp * > FlagFuncs
std::map< std::string, TableEntry,
std::less< std::string > > 
idict
std::set< std::string > ParamSet
std::map< std::string, int,
std::less< std::string > > 
RegMap
std::map< std::string, Register,
std::less< std::string > > 
SpecialRegMap


Constructor & Destructor Documentation

RTLInstDict::RTLInstDict  ) 
 

Definition at line 158 of file sslinst.cpp.

RTLInstDict::~RTLInstDict  ) 
 

Definition at line 162 of file sslinst.cpp.


Member Function Documentation

void RTLInstDict::addRegister const char *  name,
int  id,
int  size,
bool  flt
 

Definition at line 212 of file sslinst.cpp.

References DetRegMap, NULL, RegMap, and SpecialRegMap.

Referenced by readSSLFile().

int RTLInstDict::appendToDict std::string &  n,
std::list< std::string > &  p,
RTL rtl
 

Definition at line 141 of file sslinst.cpp.

References idict, and upperStr().

void RTLInstDict::fixupParams  ) 
 

Definition at line 284 of file sslinst.cpp.

References DetParamMap.

Referenced by readSSLFile().

void RTLInstDict::fixupParamsSub std::string  s,
std::list< std::string > &  funcParams,
bool &  haveCount,
int  mark
 

Definition at line 300 of file sslinst.cpp.

References DetParamMap, and ParamEntry::params.

std::pair< std::string, unsigned > RTLInstDict::getSignature const char *  name  ) 
 

Definition at line 358 of file sslinst.cpp.

References idict, and upperStr().

Referenced by NJMCDecoder::instantiate().

std::list< Statement * > * RTLInstDict::instantiateRTL RTL rtls,
ADDRESS  natPC,
std::list< std::string > &  params,
std::vector< Exp * > &  actuals
 

Definition at line 437 of file sslinst.cpp.

References RTL::deepCopyList(), and Location::param().

std::list< Statement * > * RTLInstDict::instantiateRTL std::string &  name,
ADDRESS  natPC,
std::vector< Exp * > &  actuals
 

Definition at line 408 of file sslinst.cpp.

References fastMap, idict, and NULL.

bool RTLInstDict::partialType Exp exp,
Type ty
 

Definition at line 387 of file sslinst.cpp.

References Exp::isSizeCast().

void RTLInstDict::print std::ostream &  os = std::cout  ) 
 

Definition at line 239 of file sslinst.cpp.

References idict, and RTL::print().

Referenced by readSSLFile().

bool RTLInstDict::readSSLFile const std::string &  SSLFileName  ) 
 

Definition at line 173 of file sslinst.cpp.

References addRegister(), fixupParams(), Boomerang::get(), idict, NULL, print(), and reset().

Referenced by PentiumDecoder::PentiumDecoder(), PPCDecoder::PPCDecoder(), SparcDecoder::SparcDecoder(), ST20Decoder::ST20Decoder(), and ParserTest::testRead().

void RTLInstDict::reset  ) 
 

Definition at line 637 of file sslinst.cpp.

References AliasMap, DefMap, DetParamMap, DetRegMap, fastMap, fetchExecCycle, FlagFuncs, idict, ParamSet, RegMap, and SpecialRegMap.

Referenced by readSSLFile().

std::list< Statement * > * RTLInstDict::transformPostVars std::list< Statement * > *  rts,
bool  optimise
 

Definition at line 493 of file sslinst.cpp.


Member Data Documentation

std::map<int, Exp*> RTLInstDict::AliasMap
 

Definition at line 317 of file rtl.h.

Referenced by reset().

bool RTLInstDict::bigEndian
 

Definition at line 322 of file rtl.h.

std::map<std::string, std::pair<int, void*>*> RTLInstDict::DefMap
 

Definition at line 316 of file rtl.h.

Referenced by reset().

std::map<std::string, ParamEntry> RTLInstDict::DetParamMap
 

Definition at line 312 of file rtl.h.

Referenced by fixupParams(), fixupParamsSub(), and reset().

std::map<int, Register, std::less<int> > RTLInstDict::DetRegMap
 

Definition at line 302 of file rtl.h.

Referenced by addRegister(), FrontEnd::getRegSize(), and reset().

std::map<std::string, std::string> RTLInstDict::fastMap
 

Definition at line 320 of file rtl.h.

Referenced by instantiateRTL(), and reset().

RTL* RTLInstDict::fetchExecCycle
 

Definition at line 328 of file rtl.h.

Referenced by reset().

std::map<std::string, Exp*> RTLInstDict::FlagFuncs
 

Definition at line 315 of file rtl.h.

Referenced by reset().

std::map<std::string, TableEntry, std::less<std::string> > RTLInstDict::idict
 

Definition at line 325 of file rtl.h.

Referenced by appendToDict(), getSignature(), instantiateRTL(), print(), readSSLFile(), and reset().

std::set<std::string> RTLInstDict::ParamSet
 

Definition at line 309 of file rtl.h.

Referenced by NJMCDecoder::instantiateNamedParam(), reset(), and NJMCDecoder::substituteCallArgs().

std::map<std::string, int, std::less<std::string> > RTLInstDict::RegMap
 

Definition at line 299 of file rtl.h.

Referenced by addRegister(), PentiumFrontEnd::decodeInstruction(), FrontEnd::getRegName(), and reset().

std::map<std::string, Register, std::less<std::string> > RTLInstDict::SpecialRegMap
 

Definition at line 305 of file rtl.h.

Referenced by addRegister(), and reset().


The documentation for this class was generated from the following files:
Generated on Tue Sep 19 21:18:45 2006 for Boomerang by  doxygen 1.4.6