|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcoins.backend.lir.LirFactory
Generate LIR nodes.
| Field Summary | |
static ImList |
optUntagged
&untagged option |
| Constructor Summary | |
LirFactory(Module module)
|
|
| Method Summary | |
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)
Deprecated. use node() instead. |
LirNode |
operator0(int opCode,
int type,
LirNode[] operands)
Deprecated. use node() instead. |
LirNode |
operator0(int opCode,
int type,
LirNode operand0,
LirNode operand1)
Deprecated. use node() instead. |
LirNode |
operator0(int opCode,
int type,
LirNode operand0,
LirNode operand1,
LirNode operand2)
Deprecated. 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 |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final ImList optUntagged
| Constructor Detail |
public LirFactory(Module module)
| Method Detail |
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
SyntaxErrorpublic LirNode evalTree(LirNode tree)
tree.
public LirNode foldConstant(LirNode node)
node.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||