public class Node
extends java.lang.Object
implements java.lang.Cloneable
Modifier and Type | Class and Description |
---|---|
static class |
Node.aload |
static class |
Node.assign |
static class |
Node.astore |
static class |
Node.Cast |
static class |
Node.cdouble |
static class |
Node.cfloat |
static class |
Node.cint |
static class |
Node.clong |
static class |
Node.cnull |
static class |
Node.constant |
static class |
Node.cString |
static class |
Node.getfield |
static class |
Node.Goto |
static class |
Node.invokeinit |
static class |
Node.invokenoa |
static class |
Node.invokes |
static class |
Node.invokesnoa |
static class |
Node.invokev |
static class |
Node.invokevnoa |
static class |
Node.Label |
static class |
Node.marker |
static class |
Node.monitorop |
static class |
Node.MultiNewArray |
static class |
Node.N1 |
static class |
Node.N2 |
static class |
Node.New |
static class |
Node.NewArray |
static class |
Node.param |
static class |
Node.ret |
static class |
Node.setfield |
static class |
Node.SubMethod |
static class |
Node.var |
Modifier and Type | Field and Description |
---|---|
int |
clocal |
java.lang.String |
comment |
int |
count |
java.util.HashSet |
destinations |
boolean |
done |
boolean |
esneed |
static Node |
EXIT |
boolean |
external |
static int[] |
jvm2node |
static Node.var[] |
NONE |
int |
op |
static int |
OP_ARRAYLENGTH |
static int |
OP_CINT |
static int |
OP_CSTRING |
static int |
OP_D2F |
static int |
OP_D2I |
static int |
OP_D2L |
static int |
OP_DADD |
static int |
OP_DCMPG |
static int |
OP_DCMPL |
static int |
OP_DDIV |
static int |
OP_DMUL |
static int |
OP_DNEG |
static int |
OP_DREM |
static int |
OP_DSUB |
static int |
OP_F2D |
static int |
OP_F2I |
static int |
OP_F2L |
static int |
OP_FADD |
static int |
OP_FCMPG |
static int |
OP_FCMPL |
static int |
OP_FDIV |
static int |
OP_FMUL |
static int |
OP_FNEG |
static int |
OP_FREM |
static int |
OP_FSUB |
static int |
OP_GETFIELD |
static int |
OP_GETSTATIC |
static int |
OP_I2B |
static int |
OP_I2C |
static int |
OP_I2D |
static int |
OP_I2F |
static int |
OP_I2L |
static int |
OP_I2S |
static int |
OP_IADD |
static int |
OP_IAND |
static int |
OP_IDIV |
static int |
OP_IMUL |
static int |
OP_INEG |
static int |
OP_INVOKEINTERFACE |
static int |
OP_INVOKESTATIC |
static int |
OP_INVOKEVIRTUAL |
static int |
OP_IOR |
static int |
OP_IREM |
static int |
OP_ISHL |
static int |
OP_ISHR |
static int |
OP_ISUB |
static int |
OP_IUSHR |
static int |
OP_IXOR |
static int |
OP_L2D |
static int |
OP_L2F |
static int |
OP_L2I |
static int |
OP_LADD |
static int |
OP_LAND |
static int |
OP_LCMP |
static int |
OP_LDIV |
static int |
OP_LMUL |
static int |
OP_LNEG |
static int |
OP_LOR |
static int |
OP_LREM |
static int |
OP_LSHL |
static int |
OP_LSHR |
static int |
OP_LSUB |
static int |
OP_LUSHR |
static int |
OP_LXOR |
static int |
OP_PUTFIELD |
static int |
OP_PUTSTATIC |
static int |
OP_VAR |
static int[] |
op1jvm |
static int[] |
op2jvm |
java.lang.Object |
otype |
boolean |
required |
java.util.Vector |
requires |
BasicBlock |
sb |
int |
serial |
static int |
TOSTR_COMMENT |
static int |
TOSTR_DFL |
static int |
TOSTR_EXTRA |
static int |
TOSTR_FLAGS1 |
static int |
TOSTR_SRC |
Constructor and Description |
---|
Node() |
Modifier and Type | Method and Description |
---|---|
void |
addDestination(Node n) |
void |
addDestination2(Node.var n) |
void |
addrefcounts() |
java.util.HashSet |
allnodes() |
void |
allnodes(java.util.Collection v) |
void |
allnodes(java.util.Collection v,
boolean doRequires) |
void |
codegen1(Snippit out) |
static Node |
Constant(java.lang.Object val) |
int |
countDests(int extra,
boolean leaveonstack) |
java.lang.String |
destinationString() |
void |
findinputs(int[] mk) |
boolean |
hasSideEffect() |
boolean |
idempotent() |
boolean |
isFake() |
boolean |
isinit() |
int |
jvm2node(int jvm_op) |
int |
numParams()
Return the count of input parameters for this
subtype of Node.
|
Type |
paramType(int i) |
Node |
replace(java.util.Hashtable subs,
Node.SubMethod sm) |
Node |
replace(java.util.Hashtable subs,
Node.SubMethod sm,
boolean recursive) |
protected void |
replace1(java.util.Hashtable subs,
Node.SubMethod sm) |
void |
require(java.util.Collection c) |
void |
require(Node n)
indicate that this node requires another as input
|
void |
require2(java.util.Collection c) |
void |
require2(Node n) |
InternSet |
requires() |
void |
storeDests(Snippit out,
LocalAccess locals,
int extra,
boolean leaveonstack)
Generate code for storing to the destinations (which should have been
pushed by the code generated by this.codegen().
|
java.lang.String |
toString() |
java.lang.String |
toString(int flags) |
protected java.lang.String |
toString1(int flags) |
Type |
type() |
void |
urequire(java.util.Collection c) |
Node |
usesAt(int i) |
public BasicBlock sb
public int op
public int count
public java.util.HashSet destinations
public boolean esneed
public int clocal
public boolean done
public boolean required
public boolean external
public java.lang.Object otype
public java.lang.String comment
public java.util.Vector requires
public int serial
public static Node.var[] NONE
public static Node EXIT
public static final int OP_VAR
public static final int OP_CINT
public static final int OP_CSTRING
public static final int OP_INEG
public static final int OP_ARRAYLENGTH
public static final int OP_L2I
public static final int OP_I2L
public static final int OP_FNEG
public static final int OP_L2F
public static final int OP_I2F
public static final int OP_F2I
public static final int OP_F2L
public static final int OP_DNEG
public static final int OP_L2D
public static final int OP_I2D
public static final int OP_F2D
public static final int OP_D2I
public static final int OP_D2L
public static final int OP_D2F
public static final int OP_I2B
public static final int OP_I2C
public static final int OP_I2S
public static final int OP_LNEG
public static final int OP_IADD
public static final int OP_ISUB
public static final int OP_IMUL
public static final int OP_IDIV
public static final int OP_IAND
public static final int OP_IOR
public static final int OP_IXOR
public static final int OP_LADD
public static final int OP_LSUB
public static final int OP_LMUL
public static final int OP_LDIV
public static final int OP_LAND
public static final int OP_LOR
public static final int OP_LXOR
public static final int OP_LCMP
public static final int OP_FADD
public static final int OP_FSUB
public static final int OP_FMUL
public static final int OP_FDIV
public static final int OP_FCMPL
public static final int OP_FCMPG
public static final int OP_DADD
public static final int OP_DSUB
public static final int OP_DMUL
public static final int OP_DDIV
public static final int OP_DCMPL
public static final int OP_DCMPG
public static final int OP_IREM
public static final int OP_ISHR
public static final int OP_ISHL
public static final int OP_LSHR
public static final int OP_LSHL
public static final int OP_LREM
public static final int OP_IUSHR
public static final int OP_LUSHR
public static final int OP_FREM
public static final int OP_DREM
public static final int OP_INVOKESTATIC
public static final int OP_INVOKEVIRTUAL
public static final int OP_INVOKEINTERFACE
public static final int OP_GETFIELD
public static final int OP_GETSTATIC
public static final int OP_PUTFIELD
public static final int OP_PUTSTATIC
public static final int TOSTR_DFL
public static final int TOSTR_EXTRA
public static final int TOSTR_SRC
public static final int TOSTR_FLAGS1
public static final int TOSTR_COMMENT
public static final int[] op1jvm
public static final int[] op2jvm
public static final int[] jvm2node
public boolean isFake()
public boolean isinit()
public Node usesAt(int i)
public Type paramType(int i)
public int numParams()
public final java.lang.String toString()
toString
in class java.lang.Object
public final java.lang.String toString(int flags)
protected java.lang.String toString1(int flags)
public final int jvm2node(int jvm_op)
public final java.lang.String destinationString()
public void addDestination(Node n)
public void addDestination2(Node.var n)
public void findinputs(int[] mk)
public final void addrefcounts()
public final java.util.HashSet allnodes()
public final void allnodes(java.util.Collection v)
public void allnodes(java.util.Collection v, boolean doRequires)
public boolean idempotent()
public boolean hasSideEffect()
public final int countDests(int extra, boolean leaveonstack)
public final void storeDests(Snippit out, LocalAccess locals, int extra, boolean leaveonstack)
public Type type()
public final InternSet requires()
public void require(Node n)
public final void require(java.util.Collection c)
public void require2(Node n)
public final void require2(java.util.Collection c)
public final void urequire(java.util.Collection c)
public final Node replace(java.util.Hashtable subs, Node.SubMethod sm) throws java.lang.Throwable
java.lang.Throwable
public final Node replace(java.util.Hashtable subs, Node.SubMethod sm, boolean recursive) throws java.lang.Throwable
java.lang.Throwable
protected final void replace1(java.util.Hashtable subs, Node.SubMethod sm) throws java.lang.Throwable
java.lang.Throwable
public void codegen1(Snippit out)
public static Node Constant(java.lang.Object val)