|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--coins.backend.gen.CodeGenerator | +--coins.backend.gen.CodeGenerator_sh4
入れ子クラスの概要 | |
(パッケージプライベート) class |
CodeGenerator_sh4.CodeAnalysisInfo
|
(パッケージプライベート) static class |
CodeGenerator_sh4.LabelRegister
|
(パッケージプライベート) static class |
CodeGenerator_sh4.RegistLabel
|
(パッケージプライベート) class |
CodeGenerator_sh4.RewrState
State label for rewriting engine. |
(パッケージプライベート) static class |
CodeGenerator_sh4.SH4Attr
Sparc's function attribute |
(パッケージプライベート) class |
CodeGenerator_sh4.State
State label for instruction selection engine. |
クラス coins.backend.gen.CodeGenerator から継承した入れ子クラス |
CodeGenerator.LexpToString, CodeGenerator.Match |
フィールドの概要 | |
(パッケージプライベート) static int |
BASEREGPARAM
|
(パッケージプライベート) static int |
code_size_inblock
|
(パッケージプライベート) static int |
F32
|
(パッケージプライベート) static int |
F64
|
(パッケージプライベート) static int |
fpscr_ctrl
|
(パッケージプライベート) static int |
I16
|
(パッケージプライベート) static int |
I32
|
(パッケージプライベート) static int |
I8
|
(パッケージプライベート) static CodeGenerator_sh4.RegistLabel |
label_long_const
|
(パッケージプライベート) static CodeGenerator_sh4.RegistLabel |
label_short_const
|
(パッケージプライベート) static BiList |
list
|
(パッケージプライベート) static int |
MAXREGPARAM
Late time pre-rewriting of LIR. |
(パッケージプライベート) static int |
MAXREGPARAM_F
|
(パッケージプライベート) static int |
offset_calc
Rewrite FRAME node to target machine form. |
(パッケージプライベート) ImList |
regCallClobbers
|
(パッケージプライベート) static java.lang.String[] |
regist_global_label
|
(パッケージプライベート) static int |
regist_global_label_count
|
(パッケージプライベート) static int |
stackshift
|
(パッケージプライベート) CodeGenerator_sh4.State[] |
stateVec
State vector for labeling LIR nodes. |
クラス coins.backend.gen.CodeGenerator から継承したフィールド |
addrType, asmWriter, convention, debOut, disableRewrite, F128, func, funcAttrTbl, I64, INLINECOPYUNIT, lexpConv, lir, localEarlyRewritingTrig, localLateRewritingTrig, machineName, machineParams, module, optSpeed, ProcessFramesTrig, root, typeParamWord |
コンストラクタの概要 | |
CodeGenerator_sh4()
Create code generator engine. |
メソッドの概要 | |
(パッケージプライベート) boolean |
codeSizeAnalysis(Function f)
|
(パッケージプライベート) java.lang.String |
defaultRegsetForType(int type)
Return default register set for type. |
void |
earlyRewritingMachineDep(Module module)
Early time pre-rewriting of LIR. |
(パッケージプライベート) void |
emitAlign(java.io.PrintWriter out,
int align)
Emit data align |
(パッケージプライベート) 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 |
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 |
emitEndOfModule(java.io.PrintWriter out)
|
(パッケージプライベート) 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. |
(パッケージプライベート) java.lang.String |
emitObjectX(java.lang.Object x,
boolean top)
Convert S-expression assembly code to string. |
(パッケージプライベート) 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. |
(パッケージプライベート) java.lang.Object |
expandBuildMacro(ImList form)
Expand building-macro. |
(パッケージプライベート) int |
frameSize(Function f)
Return frame size (in positive) of function. |
(パッケージプライベート) int |
getCost1(LirNode t,
int goal)
Return the cost for LIR node t and goal nonterminal goal. |
(パッケージプライベート) int |
getCost2(LirNode t,
int goal)
|
(パッケージプライベート) int |
getOffset(Function f,
java.lang.String s)
|
(パッケージプライベート) Rule |
getRule(LirNode t,
int goal)
Return the chosen rule for LIR node t and goal nonterminal goal. |
(パッケージプライベート) int |
getStringCodeSize(java.lang.String line)
|
(パッケージプライベート) LirNode |
highlong(LirNode exp)
|
(パッケージプライベート) void |
initLabeling(LirFactory lir)
Initialize for labeling. |
(パッケージプライベート) void |
initRewriteLabeling()
Initialization for rewriting. |
(パッケージプライベート) boolean |
is8bitConst(LirNode node)
|
(パッケージプライベート) boolean |
isComplex(LirNode node)
Return true if node is a complex one. |
(パッケージプライベート) java.lang.Object |
jmac1(java.lang.Object x)
Return aggregate size & 0xfff. |
(パッケージプライベート) java.lang.String |
jmac10(java.lang.String x,
java.lang.String y)
|
(パッケージプライベート) java.lang.String |
jmac11(java.lang.String x,
java.lang.String y)
Expand _set macro s.t. copying 32bit constant x to 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 sign,
java.lang.String x,
java.lang.String y,
java.lang.String z)
|
(パッケージプライベート) java.lang.String |
jmac15(java.lang.String sign,
java.lang.String x,
java.lang.String y,
java.lang.String z)
|
(パッケージプライベート) java.lang.String |
jmac16(java.lang.String x,
java.lang.String y)
|
(パッケージプライベート) java.lang.String |
jmac17(java.lang.String x,
java.lang.String y)
|
(パッケージプライベート) java.lang.String |
jmac18(java.lang.String x)
|
(パッケージプライベート) java.lang.String |
jmac19(java.lang.String x)
|
(パッケージプライベート) java.lang.Object |
jmac2(LirNode 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.Object f)
|
(パッケージプライベート) java.lang.String |
jmac24(java.lang.Object f,
java.lang.String rettype)
|
(パッケージプライベート) java.lang.String |
jmac25(java.lang.String x)
|
(パッケージプライベート) java.lang.String |
jmac26(java.lang.String x)
|
(パッケージプライベート) java.lang.String |
jmac3(java.lang.String x)
|
(パッケージプライベート) java.lang.String |
jmac4(java.lang.String x,
java.lang.String y)
|
(パッケージプライベート) java.lang.String |
jmac5(java.lang.String code,
java.lang.String arg)
|
(パッケージプライベート) java.lang.String |
jmac6(java.lang.String code,
java.lang.String arg1)
|
(パッケージプライベート) java.lang.String |
jmac7(java.lang.String code,
java.lang.String arg1,
java.lang.String arg2)
|
(パッケージプライベート) java.lang.String |
jmac8(java.lang.String s,
java.lang.String code,
java.lang.String arg)
|
(パッケージプライベート) java.lang.String |
jmac9(java.lang.String mode,
java.lang.String code,
java.lang.String arg1,
java.lang.String arg2)
|
(パッケージプライベート) void |
labelTree(LirNode t)
Label LIR tree t. |
(パッケージプライベート) LirNode |
lowlong(LirNode exp)
|
(パッケージプライベート) int |
makeVaStart(LirNode arg)
Return offset for va_start position. |
(パッケージプライベート) CodeGenerator.FunctionAttr |
newFunctionAttr(Function func)
Prepare new function attribute information. |
(パッケージプライベート) void |
peepHoleOpt(BiList list)
Peep-hole optimizer. |
(パッケージプライベート) BiList |
preBuildCode(Function f)
|
(パッケージプライベート) void |
printBasicBlk(BasicBlk blk)
|
(パッケージプライベート) java.lang.Object |
quiltLir(LirNode node)
Expand building-macro, for LirNode |
(パッケージプライベート) LirNode |
rewriteAggregateCopy(LirNode node,
BiList pre)
Rewrite AGGREGATE COPY |
(パッケージプライベート) LirNode |
rewriteCall(LirNode node,
BiList pre,
BiList post)
Rewrite CALL. |
(パッケージプライベート) LirNode |
rewriteCONVFLOAT(LirNode node,
BiList pre)
Return early time pre-rewriting sequence. |
(パッケージプライベート) LirNode |
rewriteCONVFU(LirNode node)
|
(パッケージプライベート) LirNode |
rewriteCONVUF(LirNode node,
BiList pre)
Rewrite CONVUF |
(パッケージプライベート) LirNode |
rewriteDIV(LirNode node,
BiList pre)
|
(パッケージプライベート) LirNode |
rewriteEpilogue(LirNode node,
BiList pre)
Rewrite EPILOGUE |
(パッケージプライベート) LirNode |
rewriteFrame(LirNode node)
Rewrite FRAME node to target machine form. |
(パッケージプライベート) LirNode |
rewriteJumpc(LirNode node)
|
(パッケージプライベート) LirNode |
rewriteMOD(LirNode node,
BiList pre)
|
(パッケージプライベート) LirNode |
rewriteMUL(LirNode node)
|
(パッケージプライベート) 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 |
showLabel(LirNode t)
Return label state |
(パッケージプライベート) int |
startNT()
Return start nonterminal symbol. |
(パッケージプライベート) LirNode |
ToRegister(LirNode iReg,
BiList iOut)
|
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
CodeGenerator_sh4.State[] stateVec
static int fpscr_ctrl
static int code_size_inblock
static int stackshift
static CodeGenerator_sh4.RegistLabel label_long_const
static CodeGenerator_sh4.RegistLabel label_short_const
static java.lang.String[] regist_global_label
static int regist_global_label_count
ImList regCallClobbers
static BiList list
static final int I32
static final int I16
static final int I8
static final int F64
static final int F32
static int offset_calc
static final int MAXREGPARAM
static final int MAXREGPARAM_F
static final int BASEREGPARAM
コンストラクタの詳細 |
public CodeGenerator_sh4()
メソッドの詳細 |
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
int frameSize(Function f)
CodeGenerator
の記述:
CodeGenerator
内の frameSize
int getOffset(Function f, java.lang.String s)
int getStringCodeSize(java.lang.String line)
java.lang.String emitObjectX(java.lang.Object x, boolean top)
CodeGenerator
の記述:
CodeGenerator
内の emitObjectX
top
- true if this is a top-level.BiList preBuildCode(Function f)
boolean codeSizeAnalysis(Function f)
CodeGenerator.FunctionAttr newFunctionAttr(Function func)
CodeGenerator
の記述:
CodeGenerator
内の newFunctionAttr
int makeVaStart(LirNode arg)
boolean equalArg(LirNode x, LirNode y)
CodeGenerator
の記述:
CodeGenerator
内の equalArg
void printBasicBlk(BasicBlk blk)
LirNode rewriteCONVFLOAT(LirNode node, BiList pre)
LirNode rewriteMUL(LirNode node)
LirNode rewriteCONVFU(LirNode node)
LirNode rewriteDIV(LirNode node, BiList pre)
LirNode rewriteMOD(LirNode node, BiList pre)
LirNode ToRegister(LirNode iReg, BiList iOut)
LirNode rewriteCONVUF(LirNode node, BiList pre)
CodeGenerator
内の rewriteCONVUF
LirNode rewriteFrame(LirNode node)
CodeGenerator
の記述:
CodeGenerator
内の rewriteFrame
public void earlyRewritingMachineDep(Module module)
void peepHoleOpt(BiList list)
CodeGenerator
の記述:
CodeGenerator
内の peepHoleOpt
LirNode rewriteJumpc(LirNode node)
LirNode rewritePrologue(LirNode node, BiList post)
CodeGenerator
内の rewritePrologue
LirNode rewriteCall(LirNode node, BiList pre, BiList post)
CodeGenerator
の記述:
CodeGenerator
内の rewriteCall
LirNode lowlong(LirNode exp)
LirNode highlong(LirNode exp)
LirNode rewriteAggregateCopy(LirNode node, BiList pre)
CodeGenerator
内の rewriteAggregateCopy
LirNode rewriteEpilogue(LirNode node, BiList pre)
CodeGenerator
内の rewriteEpilogue
boolean isComplex(LirNode node)
CodeGenerator
内の isComplex
boolean is8bitConst(LirNode node)
java.lang.Object jmac1(java.lang.Object x)
java.lang.Object jmac2(LirNode x)
java.lang.String jmac3(java.lang.String x)
java.lang.String jmac4(java.lang.String x, java.lang.String y)
java.lang.String jmac5(java.lang.String code, java.lang.String arg)
java.lang.String jmac6(java.lang.String code, java.lang.String arg1)
java.lang.String jmac7(java.lang.String code, java.lang.String arg1, java.lang.String arg2)
java.lang.String jmac8(java.lang.String s, java.lang.String code, java.lang.String arg)
java.lang.String jmac9(java.lang.String mode, java.lang.String code, java.lang.String arg1, java.lang.String arg2)
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 sign, java.lang.String x, java.lang.String y, java.lang.String z)
java.lang.String jmac15(java.lang.String sign, java.lang.String x, java.lang.String y, java.lang.String z)
java.lang.String jmac16(java.lang.String x, java.lang.String y)
java.lang.String jmac17(java.lang.String x, java.lang.String y)
java.lang.String jmac18(java.lang.String x)
java.lang.String jmac19(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.Object f)
java.lang.String jmac24(java.lang.Object f, java.lang.String rettype)
java.lang.String jmac25(java.lang.String x)
java.lang.String jmac26(java.lang.String x)
void emitComment(java.io.PrintWriter out, java.lang.String comment)
CodeGenerator
の記述:
CodeGenerator
内の emitComment
void emitBeginningOfModule(java.io.PrintWriter out)
void emitEndOfModule(java.io.PrintWriter out)
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 emitData(java.io.PrintWriter out, int type, LirNode node)
CodeGenerator
内の emitData
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |