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 * > * > 
std::map< std::string, ParamEntryDetParamMap
std::map< int, Register, std::less<
int > > 
std::map< std::string, std::string > fastMap
std::map< std::string, Exp * > FlagFuncs
std::map< std::string, TableEntry,
std::less< std::string > > 
std::set< std::string > ParamSet
std::map< std::string, int,
std::less< std::string > > 
std::map< std::string, Register,
std::less< std::string > > 

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,
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,
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