|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object
|
+--coins.backend.gen.CodeGenerator
|
+--coins.backend.gen.CodeGenerator_alpha
| 入れ子クラスの概要 | |
(パッケージプライベート) static class |
CodeGenerator_alpha.AlphaAttr
|
(パッケージプライベート) class |
CodeGenerator_alpha.RewrState
State label for rewriting engine. |
(パッケージプライベート) class |
CodeGenerator_alpha.State
State label for instruction selection engine. |
| クラス coins.backend.gen.CodeGenerator から継承した入れ子クラス |
CodeGenerator.LexpToString, CodeGenerator.Match |
| フィールドの概要 | |
(パッケージプライベート) static int |
FirstArgument
|
(パッケージプライベート) static int |
NumRegArgument
|
(パッケージプライベート) ImList |
regCallClobbers
|
(パッケージプライベート) static int |
Regsize
|
(パッケージプライベート) CodeGenerator_alpha.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_alpha()
Create code generator engine. |
|
| メソッドの概要 | |
(パッケージプライベート) java.lang.String |
_getRegsetOf(Symbol sym)
|
(パッケージプライベート) void |
_setRegsetOf(Symbol sym,
java.lang.String regset)
|
int |
alignForType(int type)
Return the alignment bytes for specified type. |
(パッケージプライベート) java.lang.String |
defaultRegsetForType(int type)
Return default register set for type. |
Transformer[] |
earlyRewritingSequence()
Return early time pre-rewriting sequence. |
(パッケージプライベート) void |
emitBeginningOfModule(java.io.PrintWriter out)
|
(パッケージプライベート) 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 |
emitData(java.io.PrintWriter out,
int type,
LirNode node)
Emit data for big endian machine. |
(パッケージプライベート) void |
emitDataLabel(java.io.PrintWriter out,
java.lang.String label)
Emit label for data |
(パッケージプライベート) void |
emitEndOfModule(java.io.PrintWriter out)
|
(パッケージプライベート) void |
emitEndOfSegment(java.io.PrintWriter out,
java.lang.String segment)
Emit end of segment |
(パッケージプライベート) void |
emitIdent(java.io.PrintWriter out,
java.lang.String str)
Print .ident in assembly language. |
(パッケージプライベート) 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 |
(パッケージプライベート) 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. |
(パッケージプライベート) boolean |
isComplex(LirNode node)
Return true if node is a complex one. |
(パッケージプライベート) java.lang.Object |
jmac1(LirNode x)
|
(パッケージプライベート) java.lang.String |
jmac10(java.lang.String dest,
java.lang.String src)
|
(パッケージプライベート) java.lang.String |
jmac11(java.lang.String x)
|
(パッケージプライベート) java.lang.String |
jmac12(java.lang.String x)
|
(パッケージプライベート) java.lang.String |
jmac13(java.lang.String x)
|
(パッケージプライベート) java.lang.String |
jmac14(java.lang.String x)
|
(パッケージプライベート) java.lang.Object |
jmac2(java.lang.Object name)
|
(パッケージプライベート) java.lang.String |
jmac3(java.lang.Object f)
|
(パッケージプライベート) java.lang.String |
jmac4(java.lang.Object f,
java.lang.String rettype)
|
(パッケージプライベート) java.lang.String |
jmac5(java.lang.String x,
java.lang.String y)
|
(パッケージプライベート) java.lang.String |
jmac6(java.lang.String x,
java.lang.String y)
|
(パッケージプライベート) java.lang.String |
jmac7(java.lang.String x)
|
(パッケージプライベート) java.lang.String |
jmac8(java.lang.String x)
|
(パッケージプライベート) 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. |
(パッケージプライベート) CodeGenerator.FunctionAttr |
newFunctionAttr(Function func)
Prepare new function attribute information. |
(パッケージプライベート) java.lang.Object |
quiltLir(LirNode node)
Expand building-macro, for LirNode |
(パッケージプライベート) LirNode |
returnReg(int type)
|
(パッケージプライベート) LirNode |
rewriteCall(LirNode node,
BiList pre,
BiList post)
Rewrite CALL. |
(パッケージプライベート) LirNode |
rewriteEpilogue(LirNode node,
BiList pre)
Rewrite EPILOGUE |
(パッケージプライベート) LirNode |
rewriteFrame(LirNode node)
Rewrite FRAME node to target machine form. |
(パッケージプライベート) LirNode |
rewritePrologue(LirNode node,
BiList post)
Rewrite PROLOGUE |
(パッケージプライベート) LirNode |
rewriteTree(LirNode tree,
java.lang.String phase,
BiList pre,
BiList post)
Rewrite L-expression. |
(パッケージプライベート) java.lang.String |
segmentForConst()
Return segment for read-only constant. |
(パッケージプライベート) java.lang.String |
showLabel(LirNode t)
Return label state |
(パッケージプライベート) int |
startNT()
Return start nonterminal symbol. |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
CodeGenerator_alpha.State[] stateVec
ImList regCallClobbers
static final int Regsize
static final int FirstArgument
static final int NumRegArgument
| コンストラクタの詳細 |
public CodeGenerator_alpha()
| メソッドの詳細 |
void initRewriteLabeling()
CodeGenerator の記述:
CodeGenerator 内の initRewriteLabeling
LirNode rewriteTree(LirNode tree,
java.lang.String phase,
BiList pre,
BiList post)
CodeGenerator 内の rewriteTreejava.lang.String defaultRegsetForType(int type)
CodeGenerator 内の defaultRegsetForTypevoid initLabeling(LirFactory lir)
CodeGenerator の記述:
CodeGenerator 内の initLabelingjava.lang.String showLabel(LirNode t)
CodeGenerator の記述:
CodeGenerator 内の showLabelvoid labelTree(LirNode t)
CodeGenerator の記述:
CodeGenerator 内の labelTree
Rule getRule(LirNode t,
int goal)
CodeGenerator の記述:
CodeGenerator 内の getRule
int getCost1(LirNode t,
int goal)
CodeGenerator の記述:
CodeGenerator 内の getCost1
int getCost2(LirNode t,
int goal)
CodeGenerator 内の getCost2int startNT()
CodeGenerator の記述:
CodeGenerator 内の startNTjava.lang.Object expandBuildMacro(ImList form)
CodeGenerator 内の expandBuildMacrojava.lang.Object quiltLir(LirNode node)
CodeGenerator 内の quiltLir
java.lang.String emitList(ImList form,
boolean topLevel)
CodeGenerator 内の emitListjava.lang.String emitLir(LirNode node)
CodeGenerator 内の emitLirLirNode rewriteFrame(LirNode node)
CodeGenerator の記述:
CodeGenerator 内の rewriteFramepublic Transformer[] earlyRewritingSequence()
CodeGenerator の記述:
CodeGenerator 内の earlyRewritingSequencepublic Transformer[] lateRewritingSequence()
CodeGenerator の記述:
CodeGenerator 内の lateRewritingSequence
void _setRegsetOf(Symbol sym,
java.lang.String regset)
java.lang.String _getRegsetOf(Symbol sym)
LirNode rewritePrologue(LirNode node,
BiList post)
CodeGenerator の記述:
CodeGenerator 内の rewritePrologueLirNode returnReg(int type)
LirNode rewriteEpilogue(LirNode node,
BiList pre)
CodeGenerator の記述:
CodeGenerator 内の rewriteEpilogueboolean isComplex(LirNode node)
CodeGenerator の記述:
CodeGenerator 内の isComplex
LirNode rewriteCall(LirNode node,
BiList pre,
BiList post)
CodeGenerator の記述:
CodeGenerator 内の rewriteCalljava.lang.String segmentForConst()
CodeGenerator の記述:
CodeGenerator 内の segmentForConstpublic int alignForType(int type)
CodeGenerator 内の alignForType
void emitComment(java.io.PrintWriter out,
java.lang.String comment)
CodeGenerator の記述:
CodeGenerator 内の emitCommentvoid emitBeginningOfModule(java.io.PrintWriter out)
void emitEndOfModule(java.io.PrintWriter out)
void emitEndOfSegment(java.io.PrintWriter out,
java.lang.String segment)
CodeGenerator の記述:
CodeGenerator 内の emitEndOfSegmentCodeGenerator.FunctionAttr newFunctionAttr(Function func)
CodeGenerator の記述:
CodeGenerator 内の newFunctionAttr
void emitBeginningOfSegment(java.io.PrintWriter out,
java.lang.String segment)
CodeGenerator の記述:
CodeGenerator 内の emitBeginningOfSegment
void emitDataLabel(java.io.PrintWriter out,
java.lang.String label)
CodeGenerator の記述:
CodeGenerator 内の emitDataLabel
void emitCodeLabel(java.io.PrintWriter out,
java.lang.String label)
CodeGenerator の記述:
CodeGenerator 内の emitCodeLabel
void emitLinkage(java.io.PrintWriter out,
SymStatic symbol)
CodeGenerator の記述:
CodeGenerator 内の emitLinkage
void emitZeros(java.io.PrintWriter out,
int bytes)
CodeGenerator の記述:
CodeGenerator 内の emitZeros
void emitData(java.io.PrintWriter out,
int type,
LirNode node)
CodeGenerator の記述:
CodeGenerator 内の emitDatajava.lang.Object jmac1(LirNode x)
java.lang.Object jmac2(java.lang.Object name)
void emitIdent(java.io.PrintWriter out,
java.lang.String str)
CodeGenerator の記述:
CodeGenerator 内の emitIdentjava.lang.String jmac3(java.lang.Object f)
java.lang.String jmac4(java.lang.Object f,
java.lang.String rettype)
java.lang.String jmac5(java.lang.String x,
java.lang.String y)
java.lang.String jmac6(java.lang.String x,
java.lang.String y)
java.lang.String jmac7(java.lang.String x)
java.lang.String jmac8(java.lang.String x)
java.lang.String jmac9(java.lang.String x,
java.lang.String y)
java.lang.String jmac10(java.lang.String dest,
java.lang.String src)
java.lang.String jmac11(java.lang.String x)
java.lang.String jmac12(java.lang.String x)
java.lang.String jmac13(java.lang.String x)
java.lang.String jmac14(java.lang.String x)
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||