coins.backend.gen
Class CodeGenerator_ppc.PowerPCAttr

java.lang.Object
  extended bycoins.backend.gen.CodeGenerator.FunctionAttr
      extended bycoins.backend.gen.CodeGenerator_ppc.PowerPCAttr
Enclosing class:
CodeGenerator_ppc

static class CodeGenerator_ppc.PowerPCAttr
extends CodeGenerator.FunctionAttr


Nested Class Summary
static class CodeGenerator_ppc.PowerPCAttr.SearchFunctor
           
 
Field Summary
(package private)  Function func
          Parent object.
(package private)  boolean isVarArg
          True if this is variable argument function.
(package private)  Label mAddressLabel
           
(package private)  LirNode mArgAreaRef
           
(package private)  int mArgAreaSize
           
(package private)  int mFloatCount
           
(package private)  java.lang.String[] mFloatRegisters
           
(package private)  java.util.ArrayList mFrameNames
           
(package private)  LirNode mFramePointer
           
(package private)  int mGeneralCount
           
(package private)  java.lang.String[] mGeneralRegisters
           
(package private)  LirNode mGlobalTemp
           
(package private)  boolean mHasCaller
           
(package private)  int mLocalAreaBorder
           
(package private)  LirNode mReturnAggregate
           
(package private)  int mSaveAreaSize
           
(package private)  boolean mUsedCR
           
(package private)  boolean mUsedVector
           
(package private)  int mVarArgHeader
           
(package private)  int mVecConv
           
(package private)  int mVectorCount
           
(package private)  java.lang.String[] mVectorRegisters
           
(package private)  int requiredStack
          Stack space required for call
(package private)  LirNode retPtr
          Pointer to value returned (if the function returns struct)
(package private) static Module sCurrentModule
           
(package private)  int stackParamOffset
          Offset of the first non-register parameter (i.e.
 
Constructor Summary
(package private) CodeGenerator_ppc.PowerPCAttr(Function iFunc)
           
 
Method Summary
(package private) static boolean CheckSymbolType(java.lang.String iSymbol, int iType)
           
(package private)  int ComputeRedZoneSize()
           
(package private)  int ComputeStackSize()
           
 int FindPlaceOfFrame(java.lang.String iName, int iSize, int iBoundary)
           
(package private) static java.util.ArrayList FindSymbol(int iType)
           
(package private)  LirNode GetArgumentSP()
           
 boolean RecSearchProcedure(LirNode iNode, CodeGenerator_ppc.PowerPCAttr.SearchFunctor iFunc)
           
 boolean SearchProcedure(CodeGenerator_ppc.PowerPCAttr.SearchFunctor iFunc)
           
 void TraceUsedRegisters()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sCurrentModule

static Module sCurrentModule

mArgAreaSize

int mArgAreaSize

mSaveAreaSize

int mSaveAreaSize

mLocalAreaBorder

int mLocalAreaBorder

mArgAreaRef

LirNode mArgAreaRef

mReturnAggregate

LirNode mReturnAggregate

mVarArgHeader

int mVarArgHeader

mVecConv

int mVecConv

mGlobalTemp

LirNode mGlobalTemp

mFramePointer

LirNode mFramePointer

mAddressLabel

Label mAddressLabel

mGeneralRegisters

java.lang.String[] mGeneralRegisters

mFloatRegisters

java.lang.String[] mFloatRegisters

mVectorRegisters

java.lang.String[] mVectorRegisters

mFrameNames

java.util.ArrayList mFrameNames

mGeneralCount

int mGeneralCount

mFloatCount

int mFloatCount

mVectorCount

int mVectorCount

mUsedCR

boolean mUsedCR

mHasCaller

boolean mHasCaller

mUsedVector

boolean mUsedVector

func

Function func
Parent object.


requiredStack

int requiredStack
Stack space required for call


isVarArg

boolean isVarArg
True if this is variable argument function.


retPtr

LirNode retPtr
Pointer to value returned (if the function returns struct)


stackParamOffset

int stackParamOffset
Offset of the first non-register parameter (i.e. on stack)

Constructor Detail

CodeGenerator_ppc.PowerPCAttr

CodeGenerator_ppc.PowerPCAttr(Function iFunc)
Method Detail

FindSymbol

static java.util.ArrayList FindSymbol(int iType)

CheckSymbolType

static boolean CheckSymbolType(java.lang.String iSymbol,
                               int iType)

ComputeStackSize

int ComputeStackSize()

ComputeRedZoneSize

int ComputeRedZoneSize()

SearchProcedure

public boolean SearchProcedure(CodeGenerator_ppc.PowerPCAttr.SearchFunctor iFunc)

RecSearchProcedure

public boolean RecSearchProcedure(LirNode iNode,
                                  CodeGenerator_ppc.PowerPCAttr.SearchFunctor iFunc)

TraceUsedRegisters

public void TraceUsedRegisters()

GetArgumentSP

LirNode GetArgumentSP()

FindPlaceOfFrame

public int FindPlaceOfFrame(java.lang.String iName,
                            int iSize,
                            int iBoundary)