|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--coins.backend.gen.CodeGenerator | +--coins.backend.gen.CodeGenerator_mips
入れ子クラスの概要 | |
(パッケージプライベート) class |
CodeGenerator_mips.mipsAggregateByReference
Convert aggregate parameter passing from by-value to by-reference. |
(パッケージプライベート) class |
CodeGenerator_mips.mipsArgumentPassingUtil
Processing of Save-and-Restore(SR), as utility class. |
(パッケージプライベート) static class |
CodeGenerator_mips.mipsAttr
mips's function attribute |
(パッケージプライベート) class |
CodeGenerator_mips.mipsSRR
Processing of Save-and-Restore Registers(SRR) |
(パッケージプライベート) class |
CodeGenerator_mips.RewrState
State label for rewriting engine. |
(パッケージプライベート) class |
CodeGenerator_mips.State
State label for instruction selection engine. |
クラス coins.backend.gen.CodeGenerator から継承した入れ子クラス |
CodeGenerator.LexpToString, CodeGenerator.Match |
フィールドの概要 | |
CodeGenerator_mips.mipsAggregateByReference |
mipsAggregateByReferenceTrig
|
CodeGenerator_mips.mipsArgumentPassingUtil |
mipsArgumentPassing
|
CodeGenerator_mips.mipsSRR |
mipsSRRTrig
|
(パッケージプライベート) CodeGenerator_mips.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_mips()
Create code generator engine. |
メソッドの概要 | |
int |
alignForType(int type)
Return alignment for type. |
(パッケージプライベート) java.lang.String |
defaultRegsetForType(int type)
Return default register set for type. |
Transformer[] |
earlyRewritingSequence()
Return early time pre-rewriting sequence. |
(パッケージプライベート) void |
emitAlign(java.io.PrintWriter out,
int align)
Emit data align |
(パッケージプライベート) 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 |
emitIdent(java.io.PrintWriter out,
java.lang.String word)
Emit ident |
(パッケージプライベート) 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 |
initializeMachineDep()
Do Machine-dependent initialization (subclass may override this). |
(パッケージプライベート) void |
initLabeling(LirFactory lir)
Initialize for labeling. |
(パッケージプライベート) void |
initRewriteLabeling()
Initialization for rewriting. |
(パッケージプライベート) java.lang.Object |
jmac1(LirNode x)
|
(パッケージプライベート) java.lang.String |
jmac10(java.lang.Object f,
java.lang.String rettype)
|
(パッケージプライベート) 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 |
jmac2(java.lang.String x,
java.lang.String y)
|
(パッケージプライベート) java.lang.String |
jmac3(java.lang.String x,
java.lang.String y)
|
(パッケージプライベート) 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 |
jmac9(java.lang.Object f)
|
(パッケージプライベート) void |
labelTree(LirNode t)
Label LIR tree t. |
(パッケージプライベート) CodeGenerator.FunctionAttr |
newFunctionAttr(Function func)
Prepare new function attribute information(override for mips). |
(パッケージプライベート) java.lang.Object |
quiltLir(LirNode node)
Expand building-macro, for LirNode |
(パッケージプライベート) LirNode |
rewriteCall(LirNode node,
BiList pre,
BiList post)
Rewrite CALL node. |
(パッケージプライベート) LirNode |
rewriteCONVFU(LirNode node,
BiList pre)
Rewrite CONVFU(x) to: if (x < 2147483648) CONVFS(x) else CONVFS(x - 2147483648) + 214748648 |
(パッケージプライベート) LirNode |
rewriteCONVUF(LirNode node,
BiList pre)
Rewrite CONVUF |
(パッケージプライベート) 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_mips.State[] stateVec
public final CodeGenerator_mips.mipsSRR mipsSRRTrig
public final CodeGenerator_mips.mipsArgumentPassingUtil mipsArgumentPassing
public final CodeGenerator_mips.mipsAggregateByReference mipsAggregateByReferenceTrig
コンストラクタの詳細 |
public CodeGenerator_mips()
メソッドの詳細 |
void initRewriteLabeling()
CodeGenerator
の記述:
CodeGenerator
内の initRewriteLabeling
LirNode rewriteTree(LirNode tree, java.lang.String phase, BiList pre, BiList post)
CodeGenerator
内の rewriteTree
java.lang.String defaultRegsetForType(int type)
CodeGenerator
内の defaultRegsetForType
void initLabeling(LirFactory lir)
CodeGenerator
の記述:
CodeGenerator
内の initLabeling
java.lang.String showLabel(LirNode t)
CodeGenerator
の記述:
CodeGenerator
内の showLabel
void 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
内の getCost2
int startNT()
CodeGenerator
の記述:
CodeGenerator
内の startNT
java.lang.Object expandBuildMacro(ImList form)
CodeGenerator
内の expandBuildMacro
java.lang.Object quiltLir(LirNode node)
CodeGenerator
内の quiltLir
java.lang.String emitList(ImList form, boolean topLevel)
CodeGenerator
内の emitList
java.lang.String emitLir(LirNode node)
CodeGenerator
内の emitLir
void initializeMachineDep()
CodeGenerator
の記述:
CodeGenerator
内の initializeMachineDep
CodeGenerator.FunctionAttr newFunctionAttr(Function func)
CodeGenerator
内の newFunctionAttr
LirNode rewriteFrame(LirNode node)
CodeGenerator
内の rewriteFrame
public Transformer[] earlyRewritingSequence()
CodeGenerator
内の earlyRewritingSequence
LirNode rewriteCONVUF(LirNode node, BiList pre)
CodeGenerator
内の rewriteCONVUF
LirNode rewriteCONVFU(LirNode node, BiList pre)
CodeGenerator
内の rewriteCONVFU
LirNode rewritePrologue(LirNode node, BiList post)
CodeGenerator
内の rewritePrologue
LirNode rewriteEpilogue(LirNode node, BiList pre)
CodeGenerator
内の rewriteEpilogue
LirNode rewriteCall(LirNode node, BiList pre, BiList post)
CodeGenerator
内の rewriteCall
java.lang.Object jmac1(LirNode x)
java.lang.String jmac2(java.lang.String x, java.lang.String y)
java.lang.String jmac3(java.lang.String x, java.lang.String y)
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 jmac9(java.lang.Object f)
java.lang.String jmac10(java.lang.Object f, java.lang.String rettype)
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 segmentForConst()
CodeGenerator
内の segmentForConst
public int alignForType(int type)
CodeGenerator
内の alignForType
void emitComment(java.io.PrintWriter out, java.lang.String comment)
CodeGenerator
の記述:
CodeGenerator
内の emitComment
void emitBeginningOfSegment(java.io.PrintWriter out, java.lang.String segment)
CodeGenerator
の記述:
CodeGenerator
内の emitBeginningOfSegment
void emitEndOfSegment(java.io.PrintWriter out, java.lang.String segment)
CodeGenerator
の記述:
CodeGenerator
内の emitEndOfSegment
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 emitAlign(java.io.PrintWriter out, int align)
CodeGenerator
内の emitAlign
void emitCommon(java.io.PrintWriter out, SymStatic symbol, int bytes)
CodeGenerator
内の emitCommon
void emitLinkage(java.io.PrintWriter out, SymStatic symbol)
CodeGenerator
内の emitLinkage
void emitZeros(java.io.PrintWriter out, int bytes)
CodeGenerator
内の emitZeros
void emitIdent(java.io.PrintWriter out, java.lang.String word)
CodeGenerator
内の emitIdent
void emitData(java.io.PrintWriter out, int type, LirNode node)
CodeGenerator
内の emitData
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |