Fields Summary |
---|
public static final int | NOPnop() |
public static final int | MOVET: any type; r,x: T :: r = x; |
public static final int | MOVE_PARAMT: any type; r,param(x): T :: r = param(x) |
public static final int | MOVE_EXCEPTIONT: Throwable; r: T :: r = caught_exception .
Note: This opcode should only ever be used in the
first instruction of a block, and such blocks must be
the start of an exception handler. |
public static final int | CONSTT: any type; r, literal: T :: r = literal; |
public static final int | GOTOgoto label |
public static final int | IF_EQT: int or Object; x,y: T :: if (x == y) goto
label |
public static final int | IF_NET: int or Object; x,y: T :: if (x != y) goto
label |
public static final int | IF_LTx,y: int :: if (x < y) goto label |
public static final int | IF_GEx,y: int :: if (x >= y) goto label |
public static final int | IF_LEx,y: int :: if (x <= y) goto label |
public static final int | IF_GTx,y: int :: if (x > y) goto label |
public static final int | SWITCHx: int :: goto table[x] |
public static final int | ADDT: any numeric type; r,x,y: T :: r = x + y |
public static final int | SUBT: any numeric type; r,x,y: T :: r = x - y |
public static final int | MULT: any numeric type; r,x,y: T :: r = x * y |
public static final int | DIVT: any numeric type; r,x,y: T :: r = x / y |
public static final int | REMT: any numeric type; r,x,y: T :: r = x % y
(Java-style remainder) |
public static final int | NEGT: any numeric type; r,x: T :: r = -x |
public static final int | ANDT: any integral type; r,x,y: T :: r = x & y |
public static final int | ORT: any integral type; r,x,y: T :: r = x | y |
public static final int | XORT: any integral type; r,x,y: T :: r = x ^ y |
public static final int | SHLT: any integral type; r,x: T; y: int :: r = x <<
y |
public static final int | SHRT: any integral type; r,x: T; y: int :: r = x >>
y (signed right-shift) |
public static final int | USHRT: any integral type; r,x: T; y: int :: r = x
>>> y (unsigned right-shift) |
public static final int | NOTT: any integral type; r,x: T :: r = ~x |
public static final int | CMPLT: any numeric type; r: int; x,y: T :: r = (x == y) ? 0
: (x > y) ? 1 : -1 (Java-style "cmpl" where a NaN is
considered "less than" all other values; also used for integral
comparisons) |
public static final int | CMPGT: any floating point type; r: int; x,y: T :: r = (x == y) ? 0
: (x < y) ? -1 : 1 (Java-style "cmpg" where a NaN is
considered "greater than" all other values) |
public static final int | CONVT: any numeric type; U: any numeric type; r: T; x: U ::
r = (T) x (numeric type conversion between the four
"real" numeric types) |
public static final int | TO_BYTEr,x: int :: r = (x << 24) >> 24 (Java-style
convert int to byte) |
public static final int | TO_CHARr,x: int :: r = x & 0xffff (Java-style
convert int to char) |
public static final int | TO_SHORTr,x: int :: r = (x << 16) >> 16 (Java-style
convert int to short) |
public static final int | RETURNT: return type for the method; x: T; return x |
public static final int | ARRAY_LENGTHT: any type; r: int; x: T[]; :: r = x.length |
public static final int | THROWx: Throwable :: throw(x) |
public static final int | MONITOR_ENTERx: Object :: monitorenter(x) |
public static final int | MONITOR_EXITx: Object :: monitorexit(x) |
public static final int | AGETT: any type; r: T; x: T[]; y: int :: r = x[y] |
public static final int | APUTT: any type; x: T; y: T[]; z: int :: x[y] = z |
public static final int | NEW_INSTANCET: any non-array object type :: r =
alloc(T) (allocate heap space for an object) |
public static final int | NEW_ARRAYT: any array type; r: T; x: int :: r = new T[x] |
public static final int | FILLED_NEW_ARRAYT: any array type; r: T; x: int; v0..vx: T :: r = new T[x]
{v0, ..., vx} |
public static final int | CHECK_CASTT: any object type; x: Object :: (T) x (can
throw ClassCastException ) |
public static final int | INSTANCE_OFT: any object type; x: Object :: x instanceof
T |
public static final int | GET_FIELDT: any type; r: T; x: Object; f: instance field spec of
type T :: r = x.f |
public static final int | GET_STATICT: any type; r: T; f: static field spec of type T :: r =
f |
public static final int | PUT_FIELDT: any type; x: T; y: Object; f: instance field spec of type
T :: y.f = x |
public static final int | PUT_STATICT: any type; f: static field spec of type T; x: T :: f =
x |
public static final int | INVOKE_STATICTr, T0, T1...: any types; r: Tr; m: static method spec;
y0: T0; y1: T1 ... :: r = m(y0, y1, ...) (call static
method) |
public static final int | INVOKE_VIRTUALTr, T0, T1...: any types; r: Tr; x: Object; m: instance method
spec; y0: T0; y1: T1 ... :: r = x.m(y0, y1, ...) (call normal
virtual method) |
public static final int | INVOKE_SUPERTr, T0, T1...: any types; r: Tr; x: Object; m: instance method
spec; y0: T0; y1: T1 ... :: r = x.m(y0, y1, ...) (call
superclass virtual method) |
public static final int | INVOKE_DIRECTTr, T0, T1...: any types; r: Tr; x: Object; m: instance method
spec; y0: T0; y1: T1 ... :: r = x.m(y0, y1, ...) (call
direct/special method) |
public static final int | INVOKE_INTERFACETr, T0, T1...: any types; r: Tr; x: Object; m: interface
(instance) method spec; y0: T0; y1: T1 ... :: r = x.m(y0, y1,
...) (call interface method) |
public static final int | MARK_LOCAL T0: any type; (mark beginning or end of local variable
name |
public static final int | MOVE_RESULTT: Any type; r: T :: r = return_type .
Note: This opcode should only ever be used in the
first instruction of a block following an invoke-*. |
public static final int | MOVE_RESULT_PSEUDOT: Any type; r: T :: r = return_type .
Note: This opcode should only ever be used in the
first instruction of a block following a non-invoke throwing insn |
public static final int | FILL_ARRAY_DATAT: Any primitive type; v0..vx: T :: {v0, ..., vx} |