|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--coins.backend.gen.CodeGenerator.Match
Node of matching tree (or DAG)
フィールドの概要 | |
(パッケージプライベート) int |
cost1
cost |
(パッケージプライベート) int |
cost2
cost |
(パッケージプライベート) LirNode |
dest
Destination register variable node. |
(パッケージプライベート) java.util.Map |
genLabelTbl
Label table. |
(パッケージプライベート) CodeGenerator.Match[] |
kid
Direct children of this operator. |
(パッケージプライベート) int[] |
order
Code generation order. |
(パッケージプライベート) LirNode |
orig
Original LIR operator being matched. |
(パッケージプライベート) CodeGenerator.Match[] |
rLeaf
Place of leaf nodes in the rule. |
(パッケージプライベート) int[] |
rLeafIndex
|
(パッケージプライベート) Rule |
rule
The rule best-matched. |
(パッケージプライベート) LirNode[] |
src
Source register variable nodes. |
(パッケージプライベート) CodeGenerator.Match[] |
subtrees
Root of subinstruction tree. |
(パッケージプライベート) int |
suNumber
Sethi-Ullman number. |
(パッケージプライベート) CodeGenerator.Match[] |
tLeaf
Place of leaf node in the output instruction tree. |
(パッケージプライベート) int[] |
tLeafIndex
|
コンストラクタの概要 | |
(パッケージプライベート) |
CodeGenerator.Match(LirNode orig,
CodeGenerator.Match[] kid,
Rule rule,
int cost1,
int cost2)
Create match object. |
メソッドの概要 | |
(パッケージプライベート) void |
allocTemp(LirNode required,
java.lang.String regset)
Assign destination register variable. |
(パッケージプライベート) void |
decompLir(BiList list)
Generate decomposed LIR from match tree. |
(パッケージプライベート) void |
generateDecomposed(BiList list)
Decompose original LIR tree. |
(パッケージプライベート) boolean |
hasCode()
Return true if this node has assembler code to be generated. |
(パッケージプライベート) boolean |
isCheaperThan(CodeGenerator.Match x)
Return true if this match is cheaper than x |
(パッケージプライベート) boolean |
isCore()
Return true if this node is the root of a instruction tree. |
(パッケージプライベート) boolean |
isDerived()
Return true if this node is derived rule. |
(パッケージプライベート) void |
printIt(java.io.PrintWriter out)
Print contents of Match instance on Stream out for debugging. |
(パッケージプライベート) ImList |
quiltCode()
Generate assembler in ImList form. |
(パッケージプライベート) CodeGenerator.Match |
removeSet(boolean pass1)
Remove SET operation if possible. |
(パッケージプライベート) void |
scheduleBySuNumber()
Compute Sethi-Ullman number and reorder instructions. |
(パッケージプライベート) CodeGenerator.Match |
skipNonOpRules()
Skip non-operational rules at root. |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
LirNode orig
Rule rule
int cost1
int cost2
LirNode dest
LirNode[] src
CodeGenerator.Match[] kid
CodeGenerator.Match[] rLeaf
int[] rLeafIndex
CodeGenerator.Match[] tLeaf
int[] tLeafIndex
CodeGenerator.Match[] subtrees
int suNumber
int[] order
java.util.Map genLabelTbl
コンストラクタの詳細 |
CodeGenerator.Match(LirNode orig, CodeGenerator.Match[] kid, Rule rule, int cost1, int cost2)
メソッドの詳細 |
void printIt(java.io.PrintWriter out)
boolean hasCode()
boolean isCore()
boolean isDerived()
boolean isCheaperThan(CodeGenerator.Match x)
CodeGenerator.Match removeSet(boolean pass1)
void allocTemp(LirNode required, java.lang.String regset)
void scheduleBySuNumber()
void generateDecomposed(BiList list)
void decompLir(BiList list)
CodeGenerator.Match skipNonOpRules()
ImList quiltCode()
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |