coins.backend.gen
クラス CodeGenerator_arm

java.lang.Object
  |
  +--coins.backend.gen.CodeGenerator
        |
        +--coins.backend.gen.CodeGenerator_arm

public class CodeGenerator_arm
extends CodeGenerator


入れ子クラスの概要
(パッケージプライベート)  class CodeGenerator_arm.Arm
           
(パッケージプライベート) static class CodeGenerator_arm.ArmAttr
          Arm's function attribute
(パッケージプライベート)  class CodeGenerator_arm.ArmConst
          Arm constant
(パッケージプライベート)  class CodeGenerator_arm.JumpcEntry
           
(パッケージプライベート)  class CodeGenerator_arm.JumpcKey
           
(パッケージプライベート)  class CodeGenerator_arm.PeepHoleOp
           
(パッケージプライベート)  class CodeGenerator_arm.RewrState
          State label for rewriting engine.
(パッケージプライベート)  class CodeGenerator_arm.State
          State label for instruction selection engine.
 
クラス coins.backend.gen.CodeGenerator から継承した入れ子クラス
CodeGenerator.LexpToString, CodeGenerator.Match
 
フィールドの概要
(パッケージプライベート) static int CALLEE_SAVE
           
(パッケージプライベート)  java.util.Map conditionalExec
           
(パッケージプライベート)  CodeGenerator_arm.PeepHoleOp decompAdd
           
(パッケージプライベート)  CodeGenerator_arm.PeepHoleOp decompBic
           
(パッケージプライベート)  int decompMax
           
(パッケージプライベート)  CodeGenerator_arm.PeepHoleOp decompMov
           
(パッケージプライベート)  CodeGenerator_arm.PeepHoleOp decompOr
           
(パッケージプライベート) static int F32
           
(パッケージプライベート) static int F64
           
(パッケージプライベート) static java.util.Map flipCc
           
(パッケージプライベート) static int I16
           
(パッケージプライベート) static int I32
           
(パッケージプライベート) static int I64
           
(パッケージプライベート) static int I8
           
(パッケージプライベート)  boolean isSimulate
           
(パッケージプライベート)  java.util.Map jumpcInfo
           
(パッケージプライベート) static int MAXREGPARAM
           
(パッケージプライベート) static java.lang.String NEED_OFFSET_REWRITE
           
(パッケージプライベート) static java.lang.String[] paramRegv
           
(パッケージプライベート)  ImList regCallClobbers
           
(パッケージプライベート) static int REGWIDTH
           
(パッケージプライベート)  CodeGenerator_arm.State[] stateVec
          State vector for labeling LIR nodes.
(パッケージプライベート)  LocalTransformer testJumpcTrig
          Examine conditional jump
(パッケージプライベート)  int tmpCnt
           
(パッケージプライベート)  CodeGenerator_arm.ArmConst ximm
          decompose immediate
 
クラス coins.backend.gen.CodeGenerator から継承したフィールド
addrType, asmWriter, convention, debOut, disableRewrite, F128, func, funcAttrTbl, INLINECOPYUNIT, lexpConv, lir, localEarlyRewritingTrig, localLateRewritingTrig, machineName, machineParams, module, optSpeed, ProcessFramesTrig, root, typeParamWord
 
コンストラクタの概要
CodeGenerator_arm()
          Create code generator engine.
 
メソッドの概要
(パッケージプライベート)  ImList addCc(java.lang.Object cc, ImList inst)
           
(パッケージプライベート)  boolean checkBody(BasicBlk bb)
           
(パッケージプライベート)  boolean checkPred(BiLink q, BasicBlk bb)
           
(パッケージプライベート)  boolean checkSucc(BiLink p, BasicBlk bb)
           
(パッケージプライベート)  boolean checkTarget(Label lab, BiLink q)
           
(パッケージプライベート)  ImList clcvnClobbers()
          Return clobber list
(パッケージプライベート)  LirNode clcvnParamMem(int type, int location, boolean caller)
          Return parameter memory
(パッケージプライベート)  int clcvnParamOffset(int location)
          Return offset of parameter (callee side)
(パッケージプライベート)  LirNode clcvnParamReg(int type, int location, boolean caller)
          Return parameter register
(パッケージプライベート)  LirNode clcvnParamWord(int type, int location, boolean caller)
          Return parameter word
(パッケージプライベート)  LirNode clcvnPartialWord(LirNode exp, int part)
          Return partial word of integer object
(パッケージプライベート)  void clcvnPassFloatRegMem(int location, LirNode arg, BiLink memp, BiLink regp, BiList alist)
          Pass floating point number to register/ register and memory.
(パッケージプライベート)  int clcvnRegLimit()
          Return number of registers multiply word-size.
(パッケージプライベート)  LirNode clcvnReturnValue(int type)
          Return return register
(パッケージプライベート)  LirNode clcvnSetPartialWord(LirNode lhs, int part, LirNode rhs)
          Set partial word of integer object
(パッケージプライベート)  boolean clcvnStructReturnAsFirst()
          Return true if struct return address
(パッケージプライベート)  java.lang.String defaultRegsetForType(int type)
          Return default register set for type.
(パッケージプライベート)  void emitAlign(java.io.PrintWriter out, int align)
          Emit data align
(パッケージプライベート)  java.lang.String emitAsmCode(java.lang.String format, ImList args)
          Emit asm instruction.
(パッケージプライベート)  void emitBeginningOfSegment(java.io.PrintWriter out, java.lang.String segment)
          Emit beginning of segment
(パッケージプライベート)  void emitCodeLabel(java.io.PrintWriter out, java.lang.String label)
          Emit label for code
(パッケージプライベート)  void emitComment(java.io.PrintWriter out, java.lang.String comment)
          print comment in assembly language.
(パッケージプライベート)  void emitCommon(java.io.PrintWriter out, SymStatic symbol, int bytes)
          Emit data common
(パッケージプライベート)  void emitData(java.io.PrintWriter out, int type, LirNode node)
          Emit data
(パッケージプライベート)  void emitDataLabel(java.io.PrintWriter out, java.lang.String label)
          Emit label for data
(パッケージプライベート)  void emitEndOfSegment(java.io.PrintWriter out, java.lang.String segment)
          Emit end of segment
(パッケージプライベート)  void emitLinkage(java.io.PrintWriter out, SymStatic symbol)
          Emit linkage information of symbol
(パッケージプライベート)  java.lang.String emitLir(LirNode node)
          Expand emit-macro for LirNode.
(パッケージプライベート)  java.lang.String emitList(ImList form, boolean topLevel)
          Expand emit-macro for list form.
(パッケージプライベート)  void emitZeros(java.io.PrintWriter out, int bytes)
          Emit data zeros
(パッケージプライベート)  boolean equalArg(LirNode x, LirNode y)
          Return true if variable x and y are same.
(パッケージプライベート)  void examineJUMPC(BiLink p, LirNode node)
           
(パッケージプライベート)  java.lang.Object expandBuildMacro(ImList form)
          Expand building-macro.
(パッケージプライベート)  int getCost1(LirNode t, int goal)
          Return the cost for LIR node t and goal nonterminal goal.
(パッケージプライベート)  int getCost2(LirNode t, int goal)
           
(パッケージプライベート)  Rule getRule(LirNode t, int goal)
          Return the chosen rule for LIR node t and goal nonterminal goal.
(パッケージプライベート)  void initializeMachineDep()
          Do Machine-dependent initialization (subclass may override this).
(パッケージプライベート)  void initLabeling(LirFactory lir)
          Initialize for labeling.
(パッケージプライベート)  void initRewriteLabeling()
          Initialization for rewriting.
(パッケージプライベート)  java.io.OutputStream insertPostProcessor(java.io.OutputStream out)
          Run Literal and Branch post processor after generating assembly code.
(パッケージプライベート)  boolean isConv(int op)
           
(パッケージプライベート)  boolean isImm8r(long val)
           
(パッケージプライベート)  boolean isOp(java.lang.String op, ImList inst)
           
(パッケージプライベート)  boolean isVirtual(LirNode node)
           
(パッケージプライベート)  boolean isXimm(long val)
           
(パッケージプライベート)  java.lang.String jmac1(java.lang.String x)
           
(パッケージプライベート)  java.lang.String jmac10(java.lang.String x, java.lang.String y)
           
(パッケージプライベート)  java.lang.String jmac11(java.lang.String x, java.lang.String y)
           
(パッケージプライベート)  java.lang.String jmac12(java.lang.String x, java.lang.String y)
           
(パッケージプライベート)  java.lang.String jmac13(java.lang.String x)
           
(パッケージプライベート)  java.lang.String jmac14(java.lang.String x)
           
(パッケージプライベート)  java.lang.Object jmac15(java.lang.Object x)
           
(パッケージプライベート)  java.lang.Object jmac16(java.lang.Object x)
           
(パッケージプライベート)  java.lang.Object jmac17(java.lang.Object x)
           
(パッケージプライベート)  java.lang.Object jmac18(java.lang.Object x)
           
(パッケージプライベート)  java.lang.String jmac19(java.lang.String x)
           
(パッケージプライベート)  java.lang.String jmac2(java.lang.String x)
           
(パッケージプライベート)  java.lang.String jmac20(java.lang.String x)
           
(パッケージプライベート)  java.lang.String jmac21(java.lang.String x)
           
(パッケージプライベート)  java.lang.String jmac22(java.lang.String x)
           
(パッケージプライベート)  java.lang.String jmac23(java.lang.String x, java.lang.String y)
           
(パッケージプライベート)  java.lang.String jmac24(java.lang.String x, java.lang.String y)
           
(パッケージプライベート)  java.lang.String jmac25(java.lang.String x)
           
(パッケージプライベート)  java.lang.String jmac26(java.lang.String x)
          Return lower half register name.
(パッケージプライベート)  java.lang.String jmac27(java.lang.String x)
          Return lowest byte register name.
(パッケージプライベート)  java.lang.String jmac28(java.lang.Object f)
          Generate prologue sequence.
(パッケージプライベート)  java.lang.String jmac29(java.lang.Object f, java.lang.String rettype)
          Generate epilogue sequence.
(パッケージプライベート)  java.lang.String jmac3(java.lang.String x)
           
(パッケージプライベート)  java.lang.String jmac30(java.lang.String x)
           
(パッケージプライベート)  java.lang.String jmac31(java.lang.String x)
           
(パッケージプライベート)  java.lang.String jmac32(java.lang.String format, java.lang.Object args)
           
(パッケージプライベート)  java.lang.String jmac4(java.lang.String x)
           
(パッケージプライベート)  java.lang.String jmac5(java.lang.String x)
           
(パッケージプライベート)  java.lang.String jmac6(java.lang.String x)
           
(パッケージプライベート)  java.lang.String jmac7(java.lang.String x)
           
(パッケージプライベート)  java.lang.String jmac8(java.lang.String x, java.lang.String y)
           
(パッケージプライベート)  java.lang.String jmac9(java.lang.String x, java.lang.String y)
           
(パッケージプライベート)  void labelTree(LirNode t)
          Label LIR tree t.
 Transformer[] lateRewritingSequence()
          Return late time pre-rewriting sequence.
(パッケージプライベート)  void logop(ImList inst, BiLink l, boolean cpl)
           
(パッケージプライベート)  int makeVaStart(LirNode arg)
          Return offset for va_start position.
(パッケージプライベート)  CodeGenerator.FunctionAttr newFunctionAttr(Function func)
          Prepare new function attribute information.
(パッケージプライベート)  int nofBytes(long val)
           
(パッケージプライベート)  void notifyEndToPostProcessor()
          Notify end of assembly to post-processor.
(パッケージプライベート)  java.lang.Object nth(ImList l, int n)
           
(パッケージプライベート)  java.lang.String op2cc(int op)
           
(パッケージプライベート)  void peepHoleOpt(BiList list)
          Peep-hole optimizer.
(パッケージプライベート)  java.lang.Object quiltLir(LirNode node)
          Expand building-macro, for LirNode
(パッケージプライベート)  boolean rewriteCondExec(BiLink p)
           
(パッケージプライベート)  LirNode rewriteFrame(LirNode node)
          Rewrite FRAME node to target machine form.
(パッケージプライベート)  LirNode rewriteTree(LirNode tree, java.lang.String phase, BiList pre, BiList post)
          Rewrite L-expression.
(パッケージプライベート)  java.lang.String showLabel(LirNode t)
          Return label state
(パッケージプライベート)  int startNT()
          Return start nonterminal symbol.
(パッケージプライベート)  ImList toComment(java.lang.String prefix, ImList inst)
           
 
クラス coins.backend.gen.CodeGenerator から継承したメソッド
alignForType, buildCode, clcvnStructReturnPtr, close, codeInfo, convToAsm, dropRegToFrame, earlyRewritingSequence, emitBeginningOfModule, emitCode, emitEndOfModule, emitIdent, emitLirDefault, emitListDefault, emitNamedConst, emitObject, emitObjectX, emitSegment, emitTop, frameIsEmpty, frameSize, genHeader, genTrailer, getFunctionAttr, getMachineParams, initialize, instructionSelection, isComplex, isSimple, makeAsmSymbol, makeLabelDef, mapRegToFrame, nActualOperands, noRescan, paramOffset, paramToBeSaved, phyReg, prepareCodeInfo, prerewrite, printLabel, quiltLirDefault, reduce, reserveFrame, rewriteAggregateCopy, rewriteAsm, rewriteCall, rewriteCONVFU, rewriteCONVUF, rewriteEpilogue, rewriteJumpn, rewritePrologue, segmentForConst, setAsmStream
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

stateVec

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


isSimulate

boolean isSimulate

testJumpcTrig

final LocalTransformer testJumpcTrig
Examine conditional jump


regCallClobbers

ImList regCallClobbers

decompMax

int decompMax

tmpCnt

int tmpCnt

conditionalExec

java.util.Map conditionalExec

jumpcInfo

java.util.Map jumpcInfo

I64

static final int I64

I32

static final int I32

I16

static final int I16

I8

static final int I8

F64

static final int F64

F32

static final int F32

MAXREGPARAM

static final int MAXREGPARAM
関連項目:
定数フィールド値

REGWIDTH

static final int REGWIDTH
関連項目:
定数フィールド値

CALLEE_SAVE

static final int CALLEE_SAVE
関連項目:
定数フィールド値

NEED_OFFSET_REWRITE

static final java.lang.String NEED_OFFSET_REWRITE
関連項目:
定数フィールド値

paramRegv

static final java.lang.String[] paramRegv

flipCc

static final java.util.Map flipCc

ximm

CodeGenerator_arm.ArmConst ximm
decompose immediate


decompMov

CodeGenerator_arm.PeepHoleOp decompMov

decompAdd

CodeGenerator_arm.PeepHoleOp decompAdd

decompOr

CodeGenerator_arm.PeepHoleOp decompOr

decompBic

CodeGenerator_arm.PeepHoleOp decompBic
コンストラクタの詳細

CodeGenerator_arm

public CodeGenerator_arm()
Create code generator engine.

メソッドの詳細

initRewriteLabeling

void initRewriteLabeling()
クラス CodeGenerator の記述:
Initialization for rewriting.

定義:
クラス CodeGenerator 内の initRewriteLabeling

rewriteTree

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

定義:
クラス CodeGenerator 内の rewriteTree

defaultRegsetForType

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

定義:
クラス CodeGenerator 内の defaultRegsetForType

initLabeling

void initLabeling(LirFactory lir)
クラス CodeGenerator の記述:
Initialize for labeling.

定義:
クラス CodeGenerator 内の initLabeling

showLabel

java.lang.String showLabel(LirNode t)
クラス CodeGenerator の記述:
Return label state

定義:
クラス CodeGenerator 内の showLabel

labelTree

void labelTree(LirNode t)
クラス CodeGenerator の記述:
Label LIR tree t.

定義:
クラス CodeGenerator 内の labelTree

getRule

Rule getRule(LirNode t,
             int goal)
クラス CodeGenerator の記述:
Return the chosen rule for LIR node t and goal nonterminal goal.

定義:
クラス CodeGenerator 内の getRule

getCost1

int getCost1(LirNode t,
             int goal)
クラス CodeGenerator の記述:
Return the cost for LIR node t and goal nonterminal goal.

定義:
クラス CodeGenerator 内の getCost1

getCost2

int getCost2(LirNode t,
             int goal)
定義:
クラス CodeGenerator 内の getCost2

startNT

int startNT()
クラス CodeGenerator の記述:
Return start nonterminal symbol.

定義:
クラス CodeGenerator 内の startNT

expandBuildMacro

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

定義:
クラス CodeGenerator 内の expandBuildMacro

quiltLir

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

定義:
クラス CodeGenerator 内の quiltLir

emitList

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

定義:
クラス CodeGenerator 内の emitList

emitLir

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

定義:
クラス CodeGenerator 内の emitLir

initializeMachineDep

void initializeMachineDep()
クラス CodeGenerator の記述:
Do Machine-dependent initialization (subclass may override this).

オーバーライド:
クラス CodeGenerator 内の initializeMachineDep

lateRewritingSequence

public Transformer[] lateRewritingSequence()
Return late time pre-rewriting sequence.

オーバーライド:
クラス CodeGenerator 内の lateRewritingSequence

checkPred

boolean checkPred(BiLink q,
                  BasicBlk bb)

checkTarget

boolean checkTarget(Label lab,
                    BiLink q)

checkSucc

boolean checkSucc(BiLink p,
                  BasicBlk bb)

checkBody

boolean checkBody(BasicBlk bb)

examineJUMPC

void examineJUMPC(BiLink p,
                  LirNode node)

insertPostProcessor

java.io.OutputStream insertPostProcessor(java.io.OutputStream out)
Run Literal and Branch post processor after generating assembly code.

オーバーライド:
クラス CodeGenerator 内の insertPostProcessor

notifyEndToPostProcessor

void notifyEndToPostProcessor()
クラス CodeGenerator の記述:
Notify end of assembly to post-processor. Subclasses may override it.

オーバーライド:
クラス CodeGenerator 内の notifyEndToPostProcessor

newFunctionAttr

CodeGenerator.FunctionAttr newFunctionAttr(Function func)
クラス CodeGenerator の記述:
Prepare new function attribute information.

オーバーライド:
クラス CodeGenerator 内の newFunctionAttr

isImm8r

boolean isImm8r(long val)

isXimm

boolean isXimm(long val)

nofBytes

int nofBytes(long val)

isConv

boolean isConv(int op)

equalArg

boolean equalArg(LirNode x,
                 LirNode y)
クラス CodeGenerator の記述:
Return true if variable x and y are same.

オーバーライド:
クラス CodeGenerator 内の equalArg

makeVaStart

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


clcvnRegLimit

int clcvnRegLimit()
Return number of registers multiply word-size.

オーバーライド:
クラス CodeGenerator 内の clcvnRegLimit

clcvnParamWord

LirNode clcvnParamWord(int type,
                       int location,
                       boolean caller)
Return parameter word

オーバーライド:
クラス CodeGenerator 内の clcvnParamWord

clcvnParamReg

LirNode clcvnParamReg(int type,
                      int location,
                      boolean caller)
Return parameter register

オーバーライド:
クラス CodeGenerator 内の clcvnParamReg

clcvnParamMem

LirNode clcvnParamMem(int type,
                      int location,
                      boolean caller)
Return parameter memory

オーバーライド:
クラス CodeGenerator 内の clcvnParamMem

clcvnParamOffset

int clcvnParamOffset(int location)
Return offset of parameter (callee side)

オーバーライド:
クラス CodeGenerator 内の clcvnParamOffset

clcvnPassFloatRegMem

void clcvnPassFloatRegMem(int location,
                          LirNode arg,
                          BiLink memp,
                          BiLink regp,
                          BiList alist)
Pass floating point number to register/ register and memory.

オーバーライド:
クラス CodeGenerator 内の clcvnPassFloatRegMem

clcvnReturnValue

LirNode clcvnReturnValue(int type)
Return return register

オーバーライド:
クラス CodeGenerator 内の clcvnReturnValue

clcvnPartialWord

LirNode clcvnPartialWord(LirNode exp,
                         int part)
Return partial word of integer object

オーバーライド:
クラス CodeGenerator 内の clcvnPartialWord

clcvnSetPartialWord

LirNode clcvnSetPartialWord(LirNode lhs,
                            int part,
                            LirNode rhs)
Set partial word of integer object

オーバーライド:
クラス CodeGenerator 内の clcvnSetPartialWord

clcvnClobbers

ImList clcvnClobbers()
Return clobber list

オーバーライド:
クラス CodeGenerator 内の clcvnClobbers

clcvnStructReturnAsFirst

boolean clcvnStructReturnAsFirst()
Return true if struct return address

オーバーライド:
クラス CodeGenerator 内の clcvnStructReturnAsFirst

rewriteFrame

LirNode rewriteFrame(LirNode node)
Rewrite FRAME node to target machine form.

オーバーライド:
クラス CodeGenerator 内の rewriteFrame

op2cc

java.lang.String op2cc(int op)

jmac1

java.lang.String jmac1(java.lang.String x)

jmac2

java.lang.String jmac2(java.lang.String x)

jmac3

java.lang.String jmac3(java.lang.String x)

jmac4

java.lang.String jmac4(java.lang.String x)

jmac5

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

jmac6

java.lang.String jmac6(java.lang.String x)

jmac7

java.lang.String jmac7(java.lang.String x)

jmac8

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

jmac9

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

jmac10

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

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 x)

jmac14

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

jmac15

java.lang.Object jmac15(java.lang.Object x)

jmac16

java.lang.Object jmac16(java.lang.Object x)

jmac17

java.lang.Object jmac17(java.lang.Object x)

jmac18

java.lang.Object jmac18(java.lang.Object x)

jmac19

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

jmac20

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

jmac21

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

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 x,
                        java.lang.String y)

jmac25

java.lang.String jmac25(java.lang.String x)

jmac26

java.lang.String jmac26(java.lang.String x)
Return lower half register name.


jmac27

java.lang.String jmac27(java.lang.String x)
Return lowest byte register name.


jmac28

java.lang.String jmac28(java.lang.Object f)
Generate prologue sequence.


jmac29

java.lang.String jmac29(java.lang.Object f,
                        java.lang.String rettype)
Generate epilogue sequence.


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 format,
                        java.lang.Object args)

emitComment

void emitComment(java.io.PrintWriter out,
                 java.lang.String comment)
クラス CodeGenerator の記述:
print comment in assembly language.

オーバーライド:
クラス CodeGenerator 内の emitComment

emitBeginningOfSegment

void emitBeginningOfSegment(java.io.PrintWriter out,
                            java.lang.String segment)
クラス CodeGenerator の記述:
Emit beginning of segment

オーバーライド:
クラス CodeGenerator 内の emitBeginningOfSegment

emitEndOfSegment

void emitEndOfSegment(java.io.PrintWriter out,
                      java.lang.String segment)
クラス CodeGenerator の記述:
Emit end of segment

オーバーライド:
クラス CodeGenerator 内の emitEndOfSegment

emitDataLabel

void emitDataLabel(java.io.PrintWriter out,
                   java.lang.String label)
クラス CodeGenerator の記述:
Emit label for data

オーバーライド:
クラス CodeGenerator 内の emitDataLabel

emitCodeLabel

void emitCodeLabel(java.io.PrintWriter out,
                   java.lang.String label)
クラス CodeGenerator の記述:
Emit label for code

オーバーライド:
クラス CodeGenerator 内の emitCodeLabel

emitAlign

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

オーバーライド:
クラス CodeGenerator 内の emitAlign

emitCommon

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

オーバーライド:
クラス CodeGenerator 内の emitCommon

emitLinkage

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

オーバーライド:
クラス CodeGenerator 内の emitLinkage

emitZeros

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

オーバーライド:
クラス CodeGenerator 内の emitZeros

emitData

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

オーバーライド:
クラス CodeGenerator 内の emitData

emitAsmCode

java.lang.String emitAsmCode(java.lang.String format,
                             ImList args)
Emit asm instruction.

オーバーライド:
クラス CodeGenerator 内の emitAsmCode

addCc

ImList addCc(java.lang.Object cc,
             ImList inst)

toComment

ImList toComment(java.lang.String prefix,
                 ImList inst)

isOp

boolean isOp(java.lang.String op,
             ImList inst)

rewriteCondExec

boolean rewriteCondExec(BiLink p)

nth

java.lang.Object nth(ImList l,
                     int n)

logop

void logop(ImList inst,
           BiLink l,
           boolean cpl)

peepHoleOpt

void peepHoleOpt(BiList list)
クラス CodeGenerator の記述:
Peep-hole optimizer. This method is dummy; Subclasses may override this.

オーバーライド:
クラス CodeGenerator 内の peepHoleOpt

isVirtual

boolean isVirtual(LirNode node)