coins.backend.gen
Class CodeGenerator_ppc

java.lang.Object
  extended bycoins.backend.gen.CodeGenerator
      extended bycoins.backend.gen.CodeGenerator_ppc

public class CodeGenerator_ppc
extends CodeGenerator


Nested Class Summary
(package private) static class CodeGenerator_ppc.PowerPCAttr
           
(package private)  class CodeGenerator_ppc.RewrState
          State label for rewriting engine.
(package private)  class CodeGenerator_ppc.State
          State label for instruction selection engine.
(package private) static class CodeGenerator_ppc.StructureScheduler
           
 
Nested classes inherited from class coins.backend.gen.CodeGenerator
CodeGenerator.FunctionAttr, CodeGenerator.LexpToString, CodeGenerator.Match
 
Field Summary
(package private) static int ADDR_TYPE
           
(package private) static int ARG_AREA_MIN_SIZE
           
(package private) static int CONDITION_REGISTER_STACK
           
(package private) static int EXTERNAL_CONSTANCE
           
(package private) static int EXTERNAL_FUNCTION
           
(package private) static int EXTERNAL_VALIABLE
           
(package private) static int F32
           
(package private) static int F64
           
(package private) static int FLOAT_REGISTER_COUNT
           
(package private) static int FLOAT_REGISTER_SIZE
           
(package private) static int FLOAT_START_REGISTER
           
(package private)  java.util.ArrayList gAccessor
           
(package private) static int I128
           
(package private) static int I16
           
(package private) static int I32
           
(package private) static int I4
           
(package private) static int I8
           
(package private) static int INT_REGISTER_COUNT
           
(package private) static int INT_REGISTER_SIZE
           
(package private) static int INT_START_REGISTER
           
(package private) static int INTERNAL_CONSTANCE
           
(package private) static int INTERNAL_FUNCTION
           
(package private) static int INTERNAL_VALIABLE
           
(package private) static int LINK_AREA_SIZE
           
(package private) static int LINK_REGISTER_STACK
           
(package private) static boolean PPC_64
           
(package private) static int RED_ZONE_SIZE
           
(package private) static int REG_TYPE
           
(package private)  ImList regCallClobbers
           
(package private)  LirNode sConvertionFrame
           
(package private)  boolean sSymbolEmitted
           
(package private) static int STACK_POINTER_STACK
           
(package private)  CodeGenerator_ppc.State[] stateVec
          State vector for labeling LIR nodes.
(package private)  int sTempFrameNumber
           
(package private)  LirNode sVecConvertionFrame
           
(package private) static int VECTOR_REGISTER_SIZE
           
 
Fields inherited from class coins.backend.gen.CodeGenerator
addrType, asmWriter, convention, debOut, disableRewrite, F128, func, funcAttrTbl, I64, INLINECOPYUNIT, lexpConv, lir, localEarlyRewritingTrig, localLateRewritingTrig, machineName, machineParams, module, optSpeed, ProcessFramesTrig, root, typeParamWord
 
Constructor Summary
CodeGenerator_ppc()
          Create code generator engine.
 
Method Summary
(package private)  boolean CheckMust32bit(long iValue, boolean iIsSigned)
           
(package private) static ImList ComputeImidiate(java.lang.Object dest, java.lang.Object src)
           
(package private)  java.lang.String defaultRegsetForType(int type)
          Return default register set for type.
(package private)  void emitAlign(java.io.PrintWriter out, int align)
          Emit data align
(package private)  void emitBeginningOfModule(java.io.PrintWriter out)
           
(package private)  void emitBeginningOfSegment(java.io.PrintWriter out, java.lang.String segment)
          Emit beginning of segment
(package private)  void emitCodeLabel(java.io.PrintWriter out, java.lang.String label)
          Emit label for code
(package private)  void emitComment(java.io.PrintWriter out, java.lang.String comment)
          print comment in assembly language.
(package private)  void emitCommon(java.io.PrintWriter out, SymStatic symbol, int bytes)
          Emit data common
(package private)  void emitData(java.io.PrintWriter out, int type, LirNode node)
          Emit data
(package private)  void emitDataLabel(java.io.PrintWriter out, java.lang.String label)
          Emit label for data
(package private)  void emitEndOfModule(java.io.PrintWriter out)
           
(package private)  void emitEndOfSegment(java.io.PrintWriter out, java.lang.String segment)
          Emit end of segment
(package private)  void emitIdent(java.io.PrintWriter out, java.lang.String word)
          Print .ident in assembly language.
(package private)  void emitLinkage(java.io.PrintWriter out, SymStatic symbol)
          Emit linkage information of symbol
(package private)  java.lang.String emitLir(LirNode node)
          Expand emit-macro for LirNode.
(package private)  java.lang.String emitList(ImList form, boolean topLevel)
          Expand emit-macro for list form.
(package private)  void emitZeros(java.io.PrintWriter out, int bytes)
          Emit data zeros
(package private)  boolean equalArg(LirNode x, LirNode y)
          Return true if variable x and y are same.
(package private)  java.lang.Object expandBuildMacro(ImList form)
          Expand building-macro.
(package private)  LirNode GainConvertionFrame()
           
(package private)  LirNode GainVecConvertionFrame()
           
(package private)  int getCost1(LirNode t, int goal)
          Return the cost for LIR node t and goal nonterminal goal.
(package private)  int getCost2(LirNode t, int goal)
           
(package private)  Rule getRule(LirNode t, int goal)
          Return the chosen rule for LIR node t and goal nonterminal goal.
(package private)  java.lang.String GetSymbolSourcePlace(java.lang.String iBase, int iType)
           
(package private)  void initLabeling(LirFactory lir)
          Initialize for labeling.
(package private)  void initRewriteLabeling()
          Initialization for rewriting.
(package private) static int InOrderMask(LirNode iFirst, LirNode iSecond, LirNode iThird)
           
(package private)  boolean isComplex(LirNode node)
          Return true if node is a complex one.
static boolean IsRotateMask(long iValue)
           
(package private)  java.lang.Object jmac1(java.lang.Object dest, java.lang.Object src)
           
(package private)  java.lang.String jmac10(java.lang.String reg)
           
(package private)  java.lang.String jmac11(java.lang.String x, java.lang.String y)
           
(package private)  java.lang.String jmac12(java.lang.String x, java.lang.String y)
           
(package private)  java.lang.String jmac13(java.lang.String out, java.lang.String reg, java.lang.String imi)
           
(package private)  java.lang.String jmac14(java.lang.String x, java.lang.String y)
           
(package private)  java.lang.String jmac15(java.lang.String x, java.lang.String y)
           
(package private)  java.lang.String jmac16(java.lang.String x, java.lang.String y)
           
(package private)  java.lang.String jmac17(java.lang.String x, java.lang.String y)
           
(package private)  java.lang.String jmac18(java.lang.String x)
           
(package private)  java.lang.String jmac19(java.lang.String x, java.lang.String y)
           
(package private)  java.lang.Object jmac2(java.lang.Object dest_hi, java.lang.Object dest_lo, java.lang.Object src)
           
(package private)  java.lang.String jmac20(java.lang.String x, java.lang.String y)
           
(package private)  java.lang.String jmac21(java.lang.String x, java.lang.String y)
           
(package private)  java.lang.String jmac22(java.lang.String x)
           
(package private)  java.lang.String jmac23(java.lang.String x, java.lang.String y)
           
(package private)  java.lang.String jmac24(java.lang.String lm, java.lang.String ls, java.lang.String rm, java.lang.String rs)
           
(package private)  java.lang.String jmac25(java.lang.String symbol_name)
           
(package private)  java.lang.String jmac26(java.lang.Object f)
           
(package private)  java.lang.String jmac27(java.lang.Object f, java.lang.String rettype)
           
(package private)  java.lang.String jmac28(java.lang.String x)
           
(package private)  java.lang.String jmac29(java.lang.String x)
           
(package private)  java.lang.Object jmac3(java.lang.Object dest, java.lang.Object src1, java.lang.Object src2, java.lang.Object mask)
           
(package private)  java.lang.String jmac30(java.lang.String x)
           
(package private)  java.lang.String jmac31(java.lang.String x)
           
(package private)  java.lang.String jmac32(java.lang.String x)
           
(package private)  java.lang.String jmac33(java.lang.String x)
           
(package private)  java.lang.String jmac34(java.lang.String x)
           
(package private)  java.lang.String jmac35(java.lang.String x)
           
(package private)  java.lang.String jmac36(java.lang.String x)
           
(package private)  java.lang.String jmac37(java.lang.String y)
           
(package private)  java.lang.Object jmac4(java.lang.Object dest)
           
(package private)  java.lang.String jmac5(java.lang.String x, java.lang.String y)
           
(package private)  java.lang.String jmac6(java.lang.String cr, java.lang.String type)
           
(package private)  java.lang.String jmac7(java.lang.String reg)
           
(package private)  java.lang.String jmac8(java.lang.String reg)
           
(package private)  java.lang.String jmac9(java.lang.String reg)
           
(package private)  void labelTree(LirNode t)
          Label LIR tree t.
(package private)  java.lang.String makeAsmSymbol(java.lang.String symbol)
          Make symbol in assembly language form.
(package private)  LirNode makeVaStart(LirNode arg)
          Return offset for va_start position.
(package private)  CodeGenerator.FunctionAttr newFunctionAttr(Function func)
          Prepare new function attribute information.
(package private)  LirNode NewTempInFrame(int iType, int iBoundary)
           
(package private)  int ObtainMask(int iValue)
           
(package private) static long ObtainValue(LirNode iNode)
           
(package private)  LirNode orderForMask(LirNode iNode)
           
(package private)  java.lang.Object quiltLir(LirNode node)
          Expand building-macro, for LirNode
(package private)  LirNode Reg2Vector(LirNode iNode, BiList pre)
           
(package private)  LirNode regRightShiftSigned(LirNode iNode)
           
(package private)  LirNode rewriteCall(LirNode node, BiList pre, BiList post)
          Rewrite CALL.
(package private)  LirNode rewriteCONVF(LirNode base, BiList pre, boolean iSign)
           
(package private)  LirNode rewriteCONVFI(LirNode base, boolean iSigned, BiList pre, BiList post)
           
(package private)  LirNode rewriteEpilogue(LirNode node, BiList pre)
          Rewrite EPILOGUE
(package private)  LirNode rewriteEvalImidiate32(LirNode base, BiList pre)
           
(package private)  LirNode rewriteFrame(LirNode node)
          Rewrite FRAME node to target machine form.
(package private)  LirNode rewriteJUMPC(LirNode iNode, BiList pre)
           
(package private)  LirNode rewriteMask(LirNode iNode)
           
(package private)  LirNode rewriteMOD(LirNode base, BiList pre, boolean iIsSigned)
           
(package private)  LirNode rewritePrologue(LirNode node, BiList pre, BiList post)
           
(package private)  LirNode rewriteRSHSMask(LirNode iNode)
           
(package private)  LirNode rewriteSTATIC_1(LirNode iNode, BiList pre)
           
(package private)  LirNode rewriteSTATIC_2(LirNode iNode, BiList pre)
           
(package private)  LirNode rewriteSTATIC_Low(LirSymRef iSym, BiList pre)
           
(package private)  LirNode rewriteTree(LirNode tree, java.lang.String phase, BiList pre, BiList post)
          Rewrite L-expression.
(package private)  java.lang.String showLabel(LirNode t)
          Return label state
(package private)  int startNT()
          Return start nonterminal symbol.
(package private)  LirNode swapLeftRight(LirNode iNode)
           
(package private)  LirNode ToRegister(LirNode iReg, BiList iOut)
           
(package private)  LirNode transmissonAND(LirNode iNode)
           
(package private)  LirNode Vector2Reg(LirNode iNode, BiList pre)
           
 
Methods inherited from class coins.backend.gen.CodeGenerator
alignForType, buildCode, clcvnClobbers, clcvnParamMem, clcvnParamOffset, clcvnParamReg, clcvnParamWord, clcvnPartialWord, clcvnPassFloatRegMem, clcvnRegLimit, clcvnReturnValue, clcvnSetPartialWord, clcvnStructReturnAsFirst, clcvnStructReturnPtr, close, codeInfo, convToAsm, dropRegToFrame, earlyRewritingSequence, emitAsmCode, emitBeginningOfModule, emitCode, emitEndOfModule, emitLirDefault, emitListDefault, emitNamedConst, emitObject, emitObjectX, emitSegment, emitTop, frameIsEmpty, frameSize, genHeader, genTrailer, getFunctionAttr, getMachineParams, initialize, initializeMachineDep, insertPostProcessor, instructionSelection, isSimple, lateRewritingSequence, makeLabelDef, mapRegToFrame, nActualOperands, noRescan, notifyEndToPostProcessor, paramOffset, paramToBeSaved, peepHoleOpt, phyReg, prepareCodeInfo, prerewrite, printLabel, quiltLirDefault, reduce, reserveFrame, rewriteAggregateCopy, rewriteAsm, rewriteCONVFU, rewriteCONVUF, rewriteJumpn, rewritePrologue, segmentForConst, setAsmStream
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

stateVec

CodeGenerator_ppc.State[] stateVec
State vector for labeling LIR nodes. Suffix is a LirNode's id.


regCallClobbers

ImList regCallClobbers

I32

static final int I32

I16

static final int I16

I8

static final int I8

I4

static final int I4

F64

static final int F64

F32

static final int F32

I128

static final int I128

REG_TYPE

static final int REG_TYPE

ADDR_TYPE

static final int ADDR_TYPE

INT_REGISTER_SIZE

static final int INT_REGISTER_SIZE

FLOAT_REGISTER_SIZE

static final int FLOAT_REGISTER_SIZE
See Also:
Constant Field Values

VECTOR_REGISTER_SIZE

static final int VECTOR_REGISTER_SIZE
See Also:
Constant Field Values

PPC_64

static final boolean PPC_64

STACK_POINTER_STACK

static final int STACK_POINTER_STACK
See Also:
Constant Field Values

LINK_REGISTER_STACK

static final int LINK_REGISTER_STACK

CONDITION_REGISTER_STACK

static final int CONDITION_REGISTER_STACK

INT_REGISTER_COUNT

static final int INT_REGISTER_COUNT
See Also:
Constant Field Values

INT_START_REGISTER

static final int INT_START_REGISTER
See Also:
Constant Field Values

FLOAT_REGISTER_COUNT

static final int FLOAT_REGISTER_COUNT
See Also:
Constant Field Values

FLOAT_START_REGISTER

static final int FLOAT_START_REGISTER
See Also:
Constant Field Values

ARG_AREA_MIN_SIZE

static final int ARG_AREA_MIN_SIZE

LINK_AREA_SIZE

static final int LINK_AREA_SIZE

RED_ZONE_SIZE

static final int RED_ZONE_SIZE
See Also:
Constant Field Values

gAccessor

java.util.ArrayList gAccessor

EXTERNAL_FUNCTION

static final int EXTERNAL_FUNCTION
See Also:
Constant Field Values

INTERNAL_FUNCTION

static final int INTERNAL_FUNCTION
See Also:
Constant Field Values

EXTERNAL_VALIABLE

static final int EXTERNAL_VALIABLE
See Also:
Constant Field Values

INTERNAL_VALIABLE

static final int INTERNAL_VALIABLE
See Also:
Constant Field Values

EXTERNAL_CONSTANCE

static final int EXTERNAL_CONSTANCE
See Also:
Constant Field Values

INTERNAL_CONSTANCE

static final int INTERNAL_CONSTANCE
See Also:
Constant Field Values

sConvertionFrame

LirNode sConvertionFrame

sVecConvertionFrame

LirNode sVecConvertionFrame

sTempFrameNumber

int sTempFrameNumber

sSymbolEmitted

boolean sSymbolEmitted
Constructor Detail

CodeGenerator_ppc

public CodeGenerator_ppc()
Create code generator engine.

Method Detail

initRewriteLabeling

void initRewriteLabeling()
Description copied from class: CodeGenerator
Initialization for rewriting.

Specified by:
initRewriteLabeling in class CodeGenerator

rewriteTree

LirNode rewriteTree(LirNode tree,
                    java.lang.String phase,
                    BiList pre,
                    BiList post)
Rewrite L-expression.

Specified by:
rewriteTree in class CodeGenerator

defaultRegsetForType

java.lang.String defaultRegsetForType(int type)
Return default register set for type.

Specified by:
defaultRegsetForType in class CodeGenerator

initLabeling

void initLabeling(LirFactory lir)
Description copied from class: CodeGenerator
Initialize for labeling.

Specified by:
initLabeling in class CodeGenerator

showLabel

java.lang.String showLabel(LirNode t)
Description copied from class: CodeGenerator
Return label state

Specified by:
showLabel in class CodeGenerator

labelTree

void labelTree(LirNode t)
Description copied from class: CodeGenerator
Label LIR tree t.

Specified by:
labelTree in class CodeGenerator

getRule

Rule getRule(LirNode t,
             int goal)
Description copied from class: CodeGenerator
Return the chosen rule for LIR node t and goal nonterminal goal.

Specified by:
getRule in class CodeGenerator

getCost1

int getCost1(LirNode t,
             int goal)
Description copied from class: CodeGenerator
Return the cost for LIR node t and goal nonterminal goal.

Specified by:
getCost1 in class CodeGenerator

getCost2

int getCost2(LirNode t,
             int goal)
Specified by:
getCost2 in class CodeGenerator

startNT

int startNT()
Description copied from class: CodeGenerator
Return start nonterminal symbol.

Specified by:
startNT in class CodeGenerator

expandBuildMacro

java.lang.Object expandBuildMacro(ImList form)
Expand building-macro.

Specified by:
expandBuildMacro in class CodeGenerator

quiltLir

java.lang.Object quiltLir(LirNode node)
Expand building-macro, for LirNode

Specified by:
quiltLir in class CodeGenerator

emitList

java.lang.String emitList(ImList form,
                          boolean topLevel)
Expand emit-macro for list form.

Specified by:
emitList in class CodeGenerator

emitLir

java.lang.String emitLir(LirNode node)
Expand emit-macro for LirNode.

Specified by:
emitLir in class CodeGenerator

newFunctionAttr

CodeGenerator.FunctionAttr newFunctionAttr(Function func)
Description copied from class: CodeGenerator
Prepare new function attribute information.

Overrides:
newFunctionAttr in class CodeGenerator

rewriteFrame

LirNode rewriteFrame(LirNode node)
Description copied from class: CodeGenerator
Rewrite FRAME node to target machine form.

Overrides:
rewriteFrame in class CodeGenerator

rewritePrologue

LirNode rewritePrologue(LirNode node,
                        BiList pre,
                        BiList post)

rewriteEpilogue

LirNode rewriteEpilogue(LirNode node,
                        BiList pre)
Rewrite EPILOGUE

Overrides:
rewriteEpilogue in class CodeGenerator

isComplex

boolean isComplex(LirNode node)
Return true if node is a complex one.

Overrides:
isComplex in class CodeGenerator

rewriteCall

LirNode rewriteCall(LirNode node,
                    BiList pre,
                    BiList post)
Description copied from class: CodeGenerator
Rewrite CALL. Subclasses may override this.

Overrides:
rewriteCall in class CodeGenerator

makeVaStart

LirNode makeVaStart(LirNode arg)
Return offset for va_start position.


equalArg

boolean equalArg(LirNode x,
                 LirNode y)
Description copied from class: CodeGenerator
Return true if variable x and y are same.

Overrides:
equalArg in class CodeGenerator

rewriteSTATIC_1

LirNode rewriteSTATIC_1(LirNode iNode,
                        BiList pre)

rewriteSTATIC_2

LirNode rewriteSTATIC_2(LirNode iNode,
                        BiList pre)

rewriteMOD

LirNode rewriteMOD(LirNode base,
                   BiList pre,
                   boolean iIsSigned)

rewriteEvalImidiate32

LirNode rewriteEvalImidiate32(LirNode base,
                              BiList pre)

rewriteCONVFI

LirNode rewriteCONVFI(LirNode base,
                      boolean iSigned,
                      BiList pre,
                      BiList post)

rewriteCONVF

LirNode rewriteCONVF(LirNode base,
                     BiList pre,
                     boolean iSign)

rewriteJUMPC

LirNode rewriteJUMPC(LirNode iNode,
                     BiList pre)

rewriteMask

LirNode rewriteMask(LirNode iNode)

rewriteRSHSMask

LirNode rewriteRSHSMask(LirNode iNode)

swapLeftRight

LirNode swapLeftRight(LirNode iNode)

orderForMask

LirNode orderForMask(LirNode iNode)

transmissonAND

LirNode transmissonAND(LirNode iNode)

regRightShiftSigned

LirNode regRightShiftSigned(LirNode iNode)

Reg2Vector

LirNode Reg2Vector(LirNode iNode,
                   BiList pre)

Vector2Reg

LirNode Vector2Reg(LirNode iNode,
                   BiList pre)

IsRotateMask

public static boolean IsRotateMask(long iValue)

InOrderMask

static int InOrderMask(LirNode iFirst,
                       LirNode iSecond,
                       LirNode iThird)

ObtainValue

static long ObtainValue(LirNode iNode)

rewriteSTATIC_Low

LirNode rewriteSTATIC_Low(LirSymRef iSym,
                          BiList pre)

CheckMust32bit

boolean CheckMust32bit(long iValue,
                       boolean iIsSigned)

ObtainMask

int ObtainMask(int iValue)

ToRegister

LirNode ToRegister(LirNode iReg,
                   BiList iOut)

GainConvertionFrame

LirNode GainConvertionFrame()

GainVecConvertionFrame

LirNode GainVecConvertionFrame()

NewTempInFrame

LirNode NewTempInFrame(int iType,
                       int iBoundary)

jmac1

java.lang.Object jmac1(java.lang.Object dest,
                       java.lang.Object src)

jmac2

java.lang.Object jmac2(java.lang.Object dest_hi,
                       java.lang.Object dest_lo,
                       java.lang.Object src)

jmac3

java.lang.Object jmac3(java.lang.Object dest,
                       java.lang.Object src1,
                       java.lang.Object src2,
                       java.lang.Object mask)

jmac4

java.lang.Object jmac4(java.lang.Object dest)

jmac5

java.lang.String jmac5(java.lang.String x,
                       java.lang.String y)

jmac6

java.lang.String jmac6(java.lang.String cr,
                       java.lang.String type)

jmac7

java.lang.String jmac7(java.lang.String reg)

jmac8

java.lang.String jmac8(java.lang.String reg)

jmac9

java.lang.String jmac9(java.lang.String reg)

jmac10

java.lang.String jmac10(java.lang.String reg)

jmac11

java.lang.String jmac11(java.lang.String x,
                        java.lang.String y)

jmac12

java.lang.String jmac12(java.lang.String x,
                        java.lang.String y)

jmac13

java.lang.String jmac13(java.lang.String out,
                        java.lang.String reg,
                        java.lang.String imi)

jmac14

java.lang.String jmac14(java.lang.String x,
                        java.lang.String y)

jmac15

java.lang.String jmac15(java.lang.String x,
                        java.lang.String y)

jmac16

java.lang.String jmac16(java.lang.String x,
                        java.lang.String y)

jmac17

java.lang.String jmac17(java.lang.String x,
                        java.lang.String y)

jmac18

java.lang.String jmac18(java.lang.String x)

jmac19

java.lang.String jmac19(java.lang.String x,
                        java.lang.String y)

jmac20

java.lang.String jmac20(java.lang.String x,
                        java.lang.String y)

jmac21

java.lang.String jmac21(java.lang.String x,
                        java.lang.String y)

jmac22

java.lang.String jmac22(java.lang.String x)

jmac23

java.lang.String jmac23(java.lang.String x,
                        java.lang.String y)

jmac24

java.lang.String jmac24(java.lang.String lm,
                        java.lang.String ls,
                        java.lang.String rm,
                        java.lang.String rs)

jmac25

java.lang.String jmac25(java.lang.String symbol_name)

jmac26

java.lang.String jmac26(java.lang.Object f)

jmac27

java.lang.String jmac27(java.lang.Object f,
                        java.lang.String rettype)

jmac28

java.lang.String jmac28(java.lang.String x)

jmac29

java.lang.String jmac29(java.lang.String x)

jmac30

java.lang.String jmac30(java.lang.String x)

jmac31

java.lang.String jmac31(java.lang.String x)

jmac32

java.lang.String jmac32(java.lang.String x)

jmac33

java.lang.String jmac33(java.lang.String x)

jmac34

java.lang.String jmac34(java.lang.String x)

jmac35

java.lang.String jmac35(java.lang.String x)

jmac36

java.lang.String jmac36(java.lang.String x)

jmac37

java.lang.String jmac37(java.lang.String y)

emitComment

void emitComment(java.io.PrintWriter out,
                 java.lang.String comment)
Description copied from class: CodeGenerator
print comment in assembly language.

Overrides:
emitComment in class CodeGenerator

emitBeginningOfModule

void emitBeginningOfModule(java.io.PrintWriter out)

emitEndOfModule

void emitEndOfModule(java.io.PrintWriter out)

emitBeginningOfSegment

void emitBeginningOfSegment(java.io.PrintWriter out,
                            java.lang.String segment)
Description copied from class: CodeGenerator
Emit beginning of segment

Overrides:
emitBeginningOfSegment in class CodeGenerator

emitEndOfSegment

void emitEndOfSegment(java.io.PrintWriter out,
                      java.lang.String segment)
Description copied from class: CodeGenerator
Emit end of segment

Overrides:
emitEndOfSegment in class CodeGenerator

emitDataLabel

void emitDataLabel(java.io.PrintWriter out,
                   java.lang.String label)
Description copied from class: CodeGenerator
Emit label for data

Overrides:
emitDataLabel in class CodeGenerator

emitCodeLabel

void emitCodeLabel(java.io.PrintWriter out,
                   java.lang.String label)
Description copied from class: CodeGenerator
Emit label for code

Overrides:
emitCodeLabel in class CodeGenerator

emitAlign

void emitAlign(java.io.PrintWriter out,
               int align)
Emit data align

Overrides:
emitAlign in class CodeGenerator

emitCommon

void emitCommon(java.io.PrintWriter out,
                SymStatic symbol,
                int bytes)
Emit data common

Overrides:
emitCommon in class CodeGenerator

emitLinkage

void emitLinkage(java.io.PrintWriter out,
                 SymStatic symbol)
Emit linkage information of symbol

Overrides:
emitLinkage in class CodeGenerator

emitZeros

void emitZeros(java.io.PrintWriter out,
               int bytes)
Emit data zeros

Overrides:
emitZeros in class CodeGenerator

emitIdent

void emitIdent(java.io.PrintWriter out,
               java.lang.String word)
Description copied from class: CodeGenerator
Print .ident in assembly language.

Overrides:
emitIdent in class CodeGenerator

emitData

void emitData(java.io.PrintWriter out,
              int type,
              LirNode node)
Emit data

Overrides:
emitData in class CodeGenerator

makeAsmSymbol

java.lang.String makeAsmSymbol(java.lang.String symbol)
Description copied from class: CodeGenerator
Make symbol in assembly language form. Prepend '_' in case of old a.out binary.

Overrides:
makeAsmSymbol in class CodeGenerator

GetSymbolSourcePlace

java.lang.String GetSymbolSourcePlace(java.lang.String iBase,
                                      int iType)

ComputeImidiate

static ImList ComputeImidiate(java.lang.Object dest,
                              java.lang.Object src)