coins.backend.gen
クラス CodeGenerator_sample

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

public class CodeGenerator_sample
extends CodeGenerator


入れ子クラスの概要
(パッケージプライベート)  class CodeGenerator_sample.RewrState
          State label for rewriting engine.
(パッケージプライベート)  class CodeGenerator_sample.State
          State label for instruction selection engine.
 
クラス coins.backend.gen.CodeGenerator から継承した入れ子クラス
CodeGenerator.FunctionAttr, CodeGenerator.LexpToString, CodeGenerator.Match
 
フィールドの概要
(パッケージプライベート)  CodeGenerator_sample.State[] stateVec
          State vector for labeling LIR nodes.
 
クラス coins.backend.gen.CodeGenerator から継承したフィールド
addrType, asmWriter, convention, debOut, disableRewrite, F128, F32, F64, func, funcAttrTbl, I16, I32, I64, I8, INLINECOPYUNIT, lexpConv, lir, localEarlyRewritingTrig, localLateRewritingTrig, machineName, machineParams, module, optSpeed, ProcessFramesTrig, root, typeParamWord
 
コンストラクタの概要
CodeGenerator_sample()
          Create code generator engine.
 
メソッドの概要
(パッケージプライベート)  java.lang.String defaultRegsetForType(int type)
          Return default register set for type.
(パッケージプライベート)  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.
(パッケージプライベート)  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 initLabeling(LirFactory lir)
          Initialize for labeling.
(パッケージプライベート)  void initRewriteLabeling()
          Initialization for rewriting.
(パッケージプライベート)  java.lang.String jmac1(java.lang.String x)
           
(パッケージプライベート)  void labelTree(LirNode t)
          Label LIR tree t.
(パッケージプライベート)  java.lang.Object quiltLir(LirNode node)
          Expand building-macro, for LirNode
(パッケージプライベート)  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.
 
クラス coins.backend.gen.CodeGenerator から継承したメソッド
alignForType, buildCode, clcvnClobbers, clcvnParamMem, clcvnParamOffset, clcvnParamReg, clcvnParamWord, clcvnPartialWord, clcvnPassFloatRegMem, clcvnRegLimit, clcvnReturnValue, clcvnSetPartialWord, clcvnStructReturnAsFirst, clcvnStructReturnPtr, close, codeInfo, convToAsm, dropRegToFrame, earlyRewritingSequence, emitAlign, emitAsmCode, emitBeginningOfModule, emitBeginningOfSegment, emitCode, emitCodeLabel, emitComment, emitCommon, emitData, emitDataLabel, emitEndOfModule, emitEndOfSegment, emitIdent, emitLinkage, emitLirDefault, emitListDefault, emitNamedConst, emitObject, emitObjectX, emitSegment, emitTop, emitZeros, equalArg, frameIsEmpty, frameSize, genHeader, genTrailer, getFunctionAttr, getMachineParams, initialize, initializeMachineDep, insertPostProcessor, instructionSelection, isComplex, isSimple, lateRewritingSequence, makeAsmSymbol, makeLabelDef, mapRegToFrame, nActualOperands, newFunctionAttr, noRescan, notifyEndToPostProcessor, paramOffset, paramToBeSaved, peepHoleOpt, phyReg, prepareCodeInfo, prerewrite, printLabel, quiltLirDefault, reduce, reserveFrame, rewriteAggregateCopy, rewriteAsm, rewriteCall, rewriteCONVFU, rewriteCONVUF, rewriteEpilogue, rewriteFrame, rewriteJumpn, rewritePrologue, segmentForConst, setAsmStream
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

stateVec

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

コンストラクタの詳細

CodeGenerator_sample

public CodeGenerator_sample()
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

jmac1

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