|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--coins.backend.lir.LirFactory
Generate LIR nodes.
フィールドの概要 | |
static ImList |
optUntagged
&untagged option |
コンストラクタの概要 | |
LirFactory(Module module)
|
メソッドの概要 | |
LirNode |
decodeDataCompo(ImList node,
Module module)
Parse (DATA) component. |
LirNode |
decodeLir(java.lang.Object node,
Function func,
Module mod)
Convert LIR in ImList to LirNode. |
LirNode |
evalTree(LirNode tree)
Fold all constant-expressions in tree . |
LirNode |
fconst(int type,
double value)
Create FLOATCONST node (short form). |
LirNode |
fconst(int type,
double value,
ImList opt)
Create FLOATCONST node |
LirNode |
foldConstant(LirNode node)
Fold constant-expression in a L-exp. |
int |
getLabelVariant()
Return new LABEL variant number. |
LirNode |
iconst(int type,
long value)
Create INTCONST node (short form) |
LirNode |
iconst(int type,
long value,
ImList opt)
Create INTCONST node |
int |
idBound()
Return upper bound of LirNode id numbers. |
LirNode |
labelRef(int opCode,
int type,
Label label,
ImList opt)
Create LABEL node |
LirNode |
labelRef(int opCode,
int type,
Label label,
int variant,
ImList opt)
Create LABEL node with variant |
LirNode |
labelRef(Label label)
Create LABEL node, short form |
LirNode |
labelRefVariant(Label label)
Create LABEL node with variant, short form |
LirNode |
makeCopy(LirNode inst)
Make a deep copy of node. |
LirNode |
makeShallowCopy(LirNode inst)
Make a shallow copy of node. |
LirNode |
node(int opCode,
int type)
Create empty operator LirNode (generic name) |
LirNode |
node(int opCode,
int type,
double value)
Create floating point constant LirNode (generic name) |
LirNode |
node(int opCode,
int type,
Label label)
Create label reference LirNode (generic name) |
LirNode |
node(int opCode,
int type,
LirNode operand)
Create unary operator LirNode (generic name) |
LirNode |
node(int opCode,
int type,
LirNode[] operands)
Create n-ary operator LirNode (generic name) |
LirNode |
node(int opCode,
int type,
LirNode operand0,
LirNode operand1)
Create binary operator LirNode (generic name) |
LirNode |
node(int opCode,
int type,
LirNode operand0,
LirNode operand1,
LirNode operand2)
Create ternary operator LirNode (generic name) |
LirNode |
node(int opCode,
int type,
long value)
Create integer constant LirNode (generic name) |
LirNode |
node(int opCode,
int type,
Symbol symbol)
Create symbol reference LirNode (generic name) |
LirNode |
operator(int opCode,
int type,
LirNode[] operands,
ImList opt)
Create n-ary operator node |
LirNode |
operator(int opCode,
int type,
LirNode operand,
ImList opt)
Create unary operator node |
LirNode |
operator(int opCode,
int type,
LirNode operand0,
LirNode operand1,
ImList opt)
Create binary operator node |
LirNode |
operator(int opCode,
int type,
LirNode operand0,
LirNode operand1,
LirNode operand2,
ImList opt)
Create ternary operator node |
LirNode |
operator0(int opCode,
int type,
LirNode operand)
推奨されていません。 use node() instead. |
LirNode |
operator0(int opCode,
int type,
LirNode[] operands)
推奨されていません。 use node() instead. |
LirNode |
operator0(int opCode,
int type,
LirNode operand0,
LirNode operand1)
推奨されていません。 use node() instead. |
LirNode |
operator0(int opCode,
int type,
LirNode operand0,
LirNode operand1,
LirNode operand2)
推奨されていません。 use node() instead. |
LirNode |
replaceOptions(LirNode inst,
ImList newOpt)
Replace options of LIR node. |
LirNode |
stringconst(java.lang.String string)
Create STRING node |
LirNode |
symRef(int opCode,
int type,
Symbol symbol,
ImList opt)
Create STATIC/FRAME/REG node |
LirNode |
symRef(Symbol symbol)
Create STATIC/FRAME/REG node, short form |
LirNode |
untaggedIconst(int type,
long value)
Create hidden INTCONST node |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final ImList optUntagged
コンストラクタの詳細 |
public LirFactory(Module module)
メソッドの詳細 |
public int idBound()
public int getLabelVariant()
public LirNode stringconst(java.lang.String string)
public LirNode fconst(int type, double value, ImList opt)
public LirNode fconst(int type, double value)
public LirNode iconst(int type, long value, ImList opt)
public LirNode iconst(int type, long value)
public LirNode untaggedIconst(int type, long value)
public LirNode symRef(int opCode, int type, Symbol symbol, ImList opt)
public LirNode symRef(Symbol symbol)
public LirNode labelRef(int opCode, int type, Label label, ImList opt)
public LirNode labelRef(int opCode, int type, Label label, int variant, ImList opt)
public LirNode labelRef(Label label)
public LirNode labelRefVariant(Label label)
public LirNode operator(int opCode, int type, LirNode operand, ImList opt)
public LirNode operator0(int opCode, int type, LirNode operand)
public LirNode operator(int opCode, int type, LirNode operand0, LirNode operand1, ImList opt)
public LirNode operator0(int opCode, int type, LirNode operand0, LirNode operand1)
public LirNode operator(int opCode, int type, LirNode operand0, LirNode operand1, LirNode operand2, ImList opt)
public LirNode operator0(int opCode, int type, LirNode operand0, LirNode operand1, LirNode operand2)
public LirNode operator(int opCode, int type, LirNode[] operands, ImList opt)
public LirNode operator0(int opCode, int type, LirNode[] operands)
public LirNode node(int opCode, int type, double value)
public LirNode node(int opCode, int type, long value)
public LirNode node(int opCode, int type, Symbol symbol)
public LirNode node(int opCode, int type, Label label)
public LirNode node(int opCode, int type)
public LirNode node(int opCode, int type, LirNode operand)
public LirNode node(int opCode, int type, LirNode operand0, LirNode operand1)
public LirNode node(int opCode, int type, LirNode operand0, LirNode operand1, LirNode operand2)
public LirNode node(int opCode, int type, LirNode[] operands)
public LirNode makeCopy(LirNode inst)
public LirNode makeShallowCopy(LirNode inst)
public LirNode replaceOptions(LirNode inst, ImList newOpt)
public LirNode decodeLir(java.lang.Object node, Function func, Module mod) throws SyntaxError
SyntaxError
public LirNode decodeDataCompo(ImList node, Module module) throws SyntaxError
SyntaxError
public LirNode evalTree(LirNode tree)
tree
.
public LirNode foldConstant(LirNode node)
node
.
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |