|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object
|
+--coins.backend.gen.CodeGenerator
|
+--coins.backend.gen.CodeGenerator_x86
| 入れ子クラスの概要 | |
(パッケージプライベート) class |
CodeGenerator_x86.RewrState
State label for rewriting engine. |
(パッケージプライベート) class |
CodeGenerator_x86.State
State label for instruction selection engine. |
(パッケージプライベート) static class |
CodeGenerator_x86.X86Attr
X86's function attribute |
| クラス coins.backend.gen.CodeGenerator から継承した入れ子クラス |
CodeGenerator.LexpToString, CodeGenerator.Match |
| フィールドの概要 | |
(パッケージプライベート) static int |
MAXREGPARAM
|
(パッケージプライベート) ImList |
regCallClobbers
|
(パッケージプライベート) CodeGenerator_x86.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_x86()
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. |
(パッケージプライベート) java.lang.String |
emitAfter(java.lang.String x,
java.lang.String y)
|
(パッケージプライベート) void |
emitBeginningOfSegment(java.io.PrintWriter out,
java.lang.String segment)
Emit beginning of segment |
(パッケージプライベート) 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 |
(パッケージプライベート) 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. |
(パッケージプライベート) boolean |
equalArg(LirNode x,
LirNode y)
Return true if variable x and y are same. |
(パッケージプライベート) java.lang.Object |
expandBuildMacro(ImList form)
Expand building-macro. |
(パッケージプライベート) java.lang.String |
floatSizeSuffix(java.lang.Object arg)
Return floating point memory's size. |
(パッケージプライベート) int |
fregNum(java.lang.Object operand)
Return nonnegative number if operand is "%fX" register. |
(パッケージプライベート) 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.Object |
jmac1(LirNode x)
Decode SUBREG node. |
(パッケージプライベート) java.lang.String |
jmac10(java.lang.String x)
|
(パッケージプライベート) java.lang.String |
jmac11(java.lang.String x)
|
(パッケージプライベート) java.lang.String |
jmac12(java.lang.String type,
java.lang.String x)
|
(パッケージプライベート) java.lang.String |
jmac13(java.lang.String base,
java.lang.String index)
|
(パッケージプライベート) java.lang.String |
jmac14(java.lang.String con,
java.lang.String reg)
|
(パッケージプライベート) java.lang.String |
jmac15(java.lang.String reg,
java.lang.String scale)
|
(パッケージプライベート) java.lang.String |
jmac16(java.lang.String x)
Return lower half register name. |
(パッケージプライベート) java.lang.String |
jmac17(java.lang.String x)
Return lowest byte register name. |
(パッケージプライベート) java.lang.String |
jmac18(java.lang.String x)
Return lower 32bit of memory/register/constant operand. |
(パッケージプライベート) java.lang.String |
jmac19(java.lang.String x)
Return upper 32bit of memory/register/constant operand. |
(パッケージプライベート) java.lang.Object |
jmac2()
|
(パッケージプライベート) java.lang.String |
jmac20(java.lang.Object f)
Generate prologue sequence. |
(パッケージプライベート) java.lang.String |
jmac21(java.lang.Object f,
java.lang.String rettype)
Generate epilogue sequence. |
(パッケージプライベート) java.lang.String |
jmac22(java.lang.String con)
|
(パッケージプライベート) java.lang.String |
jmac23(java.lang.String x)
|
(パッケージプライベート) java.lang.String |
jmac24(java.lang.String x)
|
(パッケージプライベート) java.lang.String |
jmac25(java.lang.String format,
java.lang.Object args)
|
(パッケージプライベート) java.lang.Object |
jmac3()
|
(パッケージプライベート) java.lang.Object |
jmac4()
|
(パッケージプライベート) java.lang.Object |
jmac5()
|
(パッケージプライベート) java.lang.String |
jmac6(java.lang.String x,
java.lang.String y)
|
(パッケージプライベート) java.lang.String |
jmac7(java.lang.String x,
java.lang.String y)
|
(パッケージプライベート) java.lang.String |
jmac8(java.lang.String x,
java.lang.String y)
|
(パッケージプライベート) java.lang.String |
jmac9(java.lang.String x)
|
(パッケージプライベート) void |
labelTree(LirNode t)
Label LIR tree t. |
Transformer[] |
lateRewritingSequence()
Return late time pre-rewriting sequence. |
(パッケージプライベート) java.lang.String |
makeAsmSymbol(java.lang.String symbol)
Convert symbol to assembler form. |
(パッケージプライベート) int |
makeVaStart(LirNode arg)
Return offset for va_start position. |
(パッケージプライベート) CodeGenerator.FunctionAttr |
newFunctionAttr(Function func)
Prepare new function attribute information. |
(パッケージプライベート) void |
peepHoleOpt(BiList list)
Postprocess list-form assembler source. |
(パッケージプライベート) void |
postRewriteFloatOps(BiList list)
Postrewrite floating point instructions. |
(パッケージプライベート) java.lang.Object |
quiltLir(LirNode node)
Expand building-macro, for LirNode |
(パッケージプライベート) LirNode |
returnReg(int type)
Return the register for value returned. |
(パッケージプライベート) LirNode |
rewriteCall(LirNode node,
BiList pre,
BiList post)
Rewrite CALL node. |
(パッケージプライベート) 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. |
(パッケージプライベート) void |
setAllocaCalled()
Set alloca called. |
(パッケージプライベート) java.lang.String |
showLabel(LirNode t)
Return label state |
(パッケージプライベート) int |
startNT()
Return start nonterminal symbol. |
(パッケージプライベート) LirNode |
stripConv(LirNode tree)
|
(パッケージプライベート) int |
tregNum(java.lang.Object operand)
Return nonnegative number if operand is "%tX" register. |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
CodeGenerator_x86.State[] stateVec
ImList regCallClobbers
static final int MAXREGPARAM
| コンストラクタの詳細 |
public CodeGenerator_x86()
| メソッドの詳細 |
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 内の emitLirCodeGenerator.FunctionAttr newFunctionAttr(Function func)
CodeGenerator の記述:
CodeGenerator 内の newFunctionAttrvoid setAllocaCalled()
int makeVaStart(LirNode arg)
boolean equalArg(LirNode x,
LirNode y)
CodeGenerator の記述:
CodeGenerator 内の equalArgLirNode stripConv(LirNode tree)
LirNode rewriteFrame(LirNode node)
CodeGenerator 内の rewriteFramepublic Transformer[] earlyRewritingSequence()
CodeGenerator 内の earlyRewritingSequencepublic Transformer[] lateRewritingSequence()
CodeGenerator 内の lateRewritingSequence
LirNode rewritePrologue(LirNode node,
BiList post)
CodeGenerator 内の rewritePrologueLirNode returnReg(int type)
LirNode rewriteEpilogue(LirNode node,
BiList pre)
CodeGenerator 内の rewriteEpilogue
LirNode rewriteCall(LirNode node,
BiList pre,
BiList post)
CodeGenerator 内の rewriteCallvoid peepHoleOpt(BiList list)
CodeGenerator 内の peepHoleOptlist - assembler source in list form.void postRewriteFloatOps(BiList list)
int tregNum(java.lang.Object operand)
operand - to be tested.
int fregNum(java.lang.Object operand)
operand - to be tested.
java.lang.String floatSizeSuffix(java.lang.Object arg)
arg - memory operand list.
java.lang.Object jmac1(LirNode x)
java.lang.Object jmac2()
java.lang.Object jmac3()
java.lang.Object jmac4()
java.lang.Object jmac5()
java.lang.String jmac6(java.lang.String x,
java.lang.String y)
java.lang.String emitAfter(java.lang.String x,
java.lang.String y)
java.lang.String jmac7(java.lang.String x,
java.lang.String y)
java.lang.String jmac8(java.lang.String x,
java.lang.String y)
java.lang.String jmac9(java.lang.String x)
java.lang.String jmac10(java.lang.String x)
java.lang.String jmac11(java.lang.String x)
java.lang.String jmac12(java.lang.String type,
java.lang.String x)
java.lang.String jmac13(java.lang.String base,
java.lang.String index)
java.lang.String jmac14(java.lang.String con,
java.lang.String reg)
java.lang.String jmac15(java.lang.String reg,
java.lang.String scale)
java.lang.String jmac16(java.lang.String x)
java.lang.String jmac17(java.lang.String x)
java.lang.String jmac18(java.lang.String x)
java.lang.String jmac19(java.lang.String x)
java.lang.String jmac20(java.lang.Object f)
java.lang.String jmac21(java.lang.Object f,
java.lang.String rettype)
java.lang.String jmac22(java.lang.String con)
java.lang.String jmac23(java.lang.String x)
java.lang.String jmac24(java.lang.String x)
java.lang.String jmac25(java.lang.String format,
java.lang.Object args)
void emitBeginningOfSegment(java.io.PrintWriter out,
java.lang.String segment)
CodeGenerator 内の emitBeginningOfSegmentjava.lang.String makeAsmSymbol(java.lang.String symbol)
CodeGenerator 内の makeAsmSymbolpublic int alignForType(int type)
CodeGenerator の記述:
CodeGenerator 内の alignForTypejava.lang.String segmentForConst()
CodeGenerator の記述:
CodeGenerator 内の segmentForConst
void emitData(java.io.PrintWriter out,
int type,
LirNode node)
CodeGenerator 内の emitData
void emitCommon(java.io.PrintWriter out,
SymStatic symbol,
int bytes)
CodeGenerator 内の emitCommon
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||