CallingConvention::StdC::SparcSignature Class Reference

Inheritance diagram for CallingConvention::StdC::SparcSignature:

Signature CallingConvention::StdC::SparcLibSignature List of all members.

Detailed Description

Definition at line 140 of file signature.cpp.

Public Member Functions

virtual void addParameter (Type *type, const char *nam=NULL, Exp *e=NULL, const char *boundMax="")
virtual void addReturn (Type *type, Exp *e=NULL)
virtual bool argumentCompare (Assignment &a, Assignment &b)
virtual Signatureclone ()
virtual ExpgetArgumentExp (int n)
virtual callconv getConvention ()
virtual platform getPlatform ()
virtual ExpgetProven (Exp *left)
virtual int getStackRegister () throw (StackRegisterNotDefinedException)
virtual ExpgetStackWildcard ()
virtual bool isAddrOfStackLocal (Prog *prog, Exp *e)
virtual bool isLocalOffsetPositive ()
virtual bool isPreserved (Exp *e)
virtual bool isPromoted ()
virtual bool operator== (Signature &other)
virtual Signaturepromote (UserProc *p)
virtual bool returnCompare (Assignment &a, Assignment &b)
virtual void setLibraryDefines (StatementList *defs)
 SparcSignature (Signature &old)
 SparcSignature (const char *nam)
virtual ~SparcSignature ()

Static Public Member Functions

static bool qualified (UserProc *p, Signature &candidate)


Constructor & Destructor Documentation

CallingConvention::StdC::SparcSignature::SparcSignature const char *  nam  ) 
 

Definition at line 874 of file signature.cpp.

References Signature::addReturn().

Referenced by clone().

CallingConvention::StdC::SparcSignature::SparcSignature Signature old  ) 
 

Definition at line 880 of file signature.cpp.

virtual CallingConvention::StdC::SparcSignature::~SparcSignature  )  [inline, virtual]
 

Definition at line 144 of file signature.cpp.


Member Function Documentation

void CallingConvention::StdC::SparcSignature::addParameter Type type,
const char *  nam = NULL,
Exp e = NULL,
const char *  boundMax = ""
[virtual]
 

Reimplemented from Signature.

Definition at line 953 of file signature.cpp.

References Signature::addParameter(), getArgumentExp(), NULL, and Signature::params.

void CallingConvention::StdC::SparcSignature::addReturn Type type,
Exp e = NULL
[virtual]
 

Reimplemented from Signature.

Definition at line 943 of file signature.cpp.

References Signature::addReturn(), Type::isVoid(), NULL, and Location::regOf().

bool CallingConvention::StdC::SparcSignature::argumentCompare Assignment a,
Assignment b
[virtual]
 

Reimplemented from Signature.

Definition at line 1937 of file signature.cpp.

References Assignment::getLeft(), and Exp::isRegOf().

Signature * CallingConvention::StdC::SparcSignature::clone  )  [virtual]
 

Reimplemented from Signature.

Reimplemented in CallingConvention::StdC::SparcLibSignature.

Definition at line 883 of file signature.cpp.

References Type::clone(), cloneVec(), Signature::ellipsis, Signature::name, NULL, Signature::params, Signature::preferedName, Signature::preferedParams, Signature::preferedReturn, Signature::rettype, Signature::returns, SparcSignature(), and Signature::unknown.

Exp * CallingConvention::StdC::SparcSignature::getArgumentExp int  n  )  [virtual]
 

Reimplemented from Signature.

Definition at line 960 of file signature.cpp.

References Signature::getArgumentExp(), Location::memOf(), opPlus, Signature::params, and Location::regOf().

Referenced by addParameter(), and Signature::getFirstArgLoc().

virtual callconv CallingConvention::StdC::SparcSignature::getConvention  )  [inline, virtual]
 

Reimplemented from Signature.

Definition at line 166 of file signature.cpp.

References CONV_C.

virtual platform CallingConvention::StdC::SparcSignature::getPlatform  )  [inline, virtual]
 

Reimplemented from Signature.

Definition at line 165 of file signature.cpp.

References PLAT_SPARC.

Exp * CallingConvention::StdC::SparcSignature::getProven Exp left  )  [virtual]
 

Reimplemented from Signature.

Reimplemented in CallingConvention::StdC::SparcLibSignature.

Definition at line 987 of file signature.cpp.

References Exp::isRegOfK().

virtual int CallingConvention::StdC::SparcSignature::getStackRegister  )  throw (StackRegisterNotDefinedException) [inline, virtual]
 

Reimplemented from Signature.

Definition at line 156 of file signature.cpp.

Exp * CallingConvention::StdC::SparcSignature::getStackWildcard  )  [virtual]
 

Reimplemented from Signature.

Definition at line 980 of file signature.cpp.

References Location::memOf(), opPlus, and opWild.

bool CallingConvention::StdC::SparcSignature::isAddrOfStackLocal Prog prog,
Exp e
[virtual]
 

Reimplemented from Signature.

Definition at line 1665 of file signature.cpp.

References Exp::getOper(), Unary::getSubExp1(), Exp::getSubExp1(), Exp::isIntConst(), Signature::isStackLocal(), Exp::isSubscript(), opAddrOf, opMinus, opPlus, Location::regOf(), and sp.

virtual bool CallingConvention::StdC::SparcSignature::isLocalOffsetPositive  )  [inline, virtual]
 

Reimplemented from Signature.

Definition at line 161 of file signature.cpp.

bool CallingConvention::StdC::SparcSignature::isPreserved Exp e  )  [virtual]
 

Reimplemented from Signature.

Definition at line 1002 of file signature.cpp.

References Exp::isRegOfK().

virtual bool CallingConvention::StdC::SparcSignature::isPromoted  )  [inline, virtual]
 

Reimplemented from Signature.

Definition at line 164 of file signature.cpp.

bool CallingConvention::StdC::SparcSignature::operator== Signature other  )  [virtual]
 

Reimplemented from Signature.

Definition at line 912 of file signature.cpp.

References Signature::operator==().

Signature * CallingConvention::StdC::SparcSignature::promote UserProc p  )  [virtual]
 

Reimplemented from Signature.

Definition at line 975 of file signature.cpp.

bool CallingConvention::StdC::SparcSignature::qualified UserProc p,
Signature candidate
[static]
 

Definition at line 917 of file signature.cpp.

References Prog::getFrontEndId(), Proc::getName(), Proc::getProg(), LOG, PLAT_SPARC, and VERBOSE.

Referenced by Signature::promote().

bool CallingConvention::StdC::SparcSignature::returnCompare Assignment a,
Assignment b
[virtual]
 

Reimplemented from Signature.

Definition at line 1874 of file signature.cpp.

References Assignment::getLeft(), Exp::isRegN(), and spPlus64().

void CallingConvention::StdC::SparcSignature::setLibraryDefines StatementList defs  )  [virtual]
 

Reimplemented from Signature.

Definition at line 1020 of file signature.cpp.

References StatementList::append(), and StatementList::size().


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