Enum Constant and Description |
---|
AALOAD
Loads an references from an array onto the stack.
|
AASTORE
Stores a reference in an array.
|
ACONST_NULL
Pushes a
null references onto the stack. |
ALOAD
Loads a reference onto the stack from local variable
index . |
ALOAD_0
Loads a reference onto the stack from local variable
0 . |
ALOAD_1
Loads a reference onto the stack from local variable
1 . |
ALOAD_2
Loads a reference onto the stack from local variable
2 . |
ALOAD_3
Loads a reference onto the stack from local variable
3 . |
ANEWARRAY
Creates a new array of length
count and type typeref . |
ARETURN
Returns a reference from a method and clears the stack.
|
ARRAYLENGTH
Replaces
arrayref on the top of the stack with its length. |
ASTORE
Stores a reference into local variable
index . |
ASTORE_0
Stores a references into local variable
0 . |
ASTORE_1
Stores a references into local variable
1 . |
ASTORE_2
Stores a references into local variable
2 . |
ASTORE_3
Stores a references into local variable
3 . |
ATHROW
Throws an error or exception and clears the stack save the reference to the Throwable at the top.
|
BALOAD
Loads a byte or boolean value from an array.
|
BASTORE
Stores a byte or boolean value into an array.
|
BIPUSH
Pushes a byte onto the stack as an integer value.
|
BREAKPOINT
Reserved for breakpoints in Java debuggers; should not appear in a class file.
|
CALOAD
Loads a char from an array.
|
CASTORE
Stores a char into an array.
|
CHECKCAST
Checks whether
objectref matches of the type of the class at index of the constant
pool. |
D2F
Converts a double to a float.
|
D2I
Converts a double to an integer.
|
D2L
Converts a double to an long.
|
DADD
Adds two doubles.
|
DALOAD
Loads a double from an array.
|
DASTORE
Stores a double into an array.
|
DCMPG
Checks whether double
value1 is greater than double value2 . |
DCMPL
Checks whether double
value1 is less than double value2 . |
DCONST_0
Pushes the double constant
0.0 onto the stack. |
DCONST_1
Pushes the double constant
1.0 onto the stack. |
DDIV
Divides two doubles.
|
DLOAD
Loads a double from local variable
index . |
DLOAD_0
Loads a double from local variable
0 . |
DLOAD_1
Loads a double from local variable
1 . |
DLOAD_2
Loads a double from local variable
2 . |
DLOAD_3
Loads a double from local variable
3 . |
DMUL
Multiplies two doubles.
|
DNEG
Negates a double.
|
DREM
Gets the remainder from division between two doubles (modulus).
|
DRETURN
Returns a double from a method and clears the stack.
|
DSTORE
Stores double
value into local variable index . |
DSTORE_0
Stores double
value into local variable 0 . |
DSTORE_1
Stores double
value into local variable 1 . |
DSTORE_2
Stores double
value into local variable 2 . |
DSTORE_3
Stores double
value into local variable 3 . |
DSUB
Subtracts a double from another.
|
DUP
Duplicates the value on top of the stack.
|
DUP_X1
Inserts a copy of the top value of the stack two values from the top.
|
DUP_X2
Inserts a copy of the top value of the stack two (if
value2 is double or long, in which case it
occupies the entry of value3 ) or three (if value2 is neither a double or long) values
from the top. |
DUP2
Duplicates the top two stack words (a word being two entries or 8 bytes).
|
DUP2_X1
Duplicates the top two stack words and inserts them beneath the third word.
|
DUP2_X2
Duplicates the top two stack words and inserts them beneath the fourth word.
|
F2D
Converts a float to a double.
|
F2I
Converts a float to an int.
|
F2L
Converts a float to a long.
|
FADD
Adds two floats.
|
FALOAD
Loads a float from an array.
|
FASTORE
Stores a float in an array.
|
FCMPG
Checks whether float
value1 is greater than float value2 . |
FCMPL
Checks whether float
value1 is less than float value2 . |
FCONST_0
Pushes the float constant
0.0 onto the stack. |
FCONST_1
Pushes the float constant
1.0 onto the stack. |
FCONST_2
Pushes the float constant
2.0 onto the stack. |
FDIV
Divides two floats.
|
FLOAD
Loads a float onto the stack from local variable
index . |
FLOAD_0
Loads a float onto the stack from local variable
0 . |
FLOAD_1
Loads a float onto the stack from local variable
1 . |
FLOAD_2
Loads a float onto the stack from local variable
2 . |
FLOAD_3
Loads a float onto the stack from local variable
3 . |
FMUL
Multiplies two floats.
|
FNEG
Negates a float.
|
FREM
Gets the remainder from a division between two floats (modulus).
|
FRETURN
Returns a float from a method.
|
FSTORE
Stores a float in local variable
index . |
FSTORE_0
Stores a float in local variable
0 . |
FSTORE_1
Stores a float in local variable
1 . |
FSTORE_2
Stores a float in local variable
2 . |
FSUB
Subtracts two floats.
|
GETFIELD
Gets field
fieldref of object objectref . |
GETSTATIC
Gets static field
fieldref of object objectref . |
GOTO
Goes to instruction at
branchoffset . |
GOTO_W
Goes to instruction at
branchoffset . |
I2B
Converts an int to a byte.
|
I2C
Converts an int to a byte.
|
I2D
Converts an int to a character.
|
I2F
Converts an int to a double.
|
I2L
Converts an int to a long.
|
I2S
Converts an int to a short.
|
IADD
Adds two ints.
|
IALOAD
Loads an int from an array.
|
IAND
Performs a bitwise AND on two ints.
|
IASTORE
Stores an int into an array.
|
ICONST_0
Loads the int constant
0 onto the stack. |
ICONST_1
Loads the int constant
1 onto the stack. |
ICONST_2
Loads the int constant
2 onto the stack. |
ICONST_3
Loads the int constant
3 onto the stack. |
ICONST_4
Loads the int constant
4 onto the stack. |
ICONST_5
Loads the int constant
5 onto the stack. |
ICONST_M1
Loads the int constant
-1 onto the stack. |
IDIV
Divides two ints.
|
IF_ACMPEQ
Branches to instruction at
branchoffset if the two references are equal. |
IF_ACMPNE
Branches to instruction at
branchoffset if the two references are not equal. |
IF_ICMPEQ
Branches to instruction at
branchoffset if the two ints are equal. |
IF_ICMPGE
Branches to instruction at
branchoffset if value1 is greater than or equal to
value2 . |
IF_ICMPGT
Branches to instruction at
branchoffset if value1 is greater than value2 . |
IF_ICMPLE
Branches to instruction at
branchoffset if value1 is less than or equal to
value2 . |
IF_ICMPLT
Branches to instruction at
branchoffset if value1 is less than value2 . |
IF_ICMPNE
Branches to instruction at
branchoffset if the two ints are not equal. |
IFEQ
Branches to instruction at
branchoffset if value is equal to 0. |
IFGE
Branches to instruction at
branchoffset if value is greater than or equal to 0. |
IFGT
Branches to instruction at
branchoffset if value is greater than 0. |
IFLE
Branches to instruction at
branchoffset if value is less than or equal to 0. |
IFLT
Branches to instruction at
branchoffset if value is less than 0. |
IFNE
Branches to instruction at
branchoffset if value is not equal to 0. |
IFNONNULL
Branches to instruction at
branchoffset if value is not null . |
IFNULL
Branches to instruction at
branchoffset if value is null . |
IINC
Increment local variable
index by signed byte const . |
ILOAD
Loads int
value from local variable index . |
ILOAD_0
Loads int
value from local variable 0 . |
ILOAD_1
Loads int
value from local variable 1 . |
ILOAD_2
Loads int
value from local variable 2 . |
ILOAD_3
Loads int
value from local variable 3 . |
IMPDEP1
Reserved for implementation-dependent operations within debuggers.
|
IMPDEP2
Reserved for implementation-dependent operations within debuggers.
|
IMUL
Multiplies two ints.
|
INEG
Negates an int.
|
INSTANCEOF
Determines if
objectref is of the type referenced by index . |
INVOKEDYNAMIC
Invokes a dynamic method referenced by
index and puts the result on the stack. |
INVOKEINTERFACE
Invokes an interface method on object
objectref and puts the result on the stack. |
INVOKESPECIAL
Invokes an instance method on object
objectref and puts the result on the stack. |
INVOKESTATIC
Invokes a static method on object
objectref and puts the result on the stack. |
INVOKEVIRTUAL
Invokes a virtual method on object
objectref and puts the result on the stack. |
IOR
Performs a bitwise int OR operation on the two values.
|
IREM
Performs a logical int remainder operation on the two values.
|
IRETURN
Returns an int from a method.
|
ISHL
Performs an int shift left operation on the two values.
|
ISHR
Performs an int arithmetic shift right operation on the two values.
|
ISTORE
Stores int
value into variable index . |
ISTORE_0
Stores int
value into variable 0 . |
ISTORE_1
Stores int
value into variable 1 . |
ISTORE_2
Stores int
value into variable 2 . |
ISTORE_3
Stores int
value into variable 3 . |
ISUB
Subtracts two ints.
|
IUSHR
Performs an int logical shift right operation on the two values.
|
IXOR
Performs an int XOR operation on the two values.
|
JSR
Jumps to the instruction at
branchoffset and places the current address on the stack. |
JSR_W
Jumps to the instruction at
branchoffset and places the current address on the stack. |
L2D
Converts a long to a double.
|
L2F
Converts a long to a float.
|
L2I
Converts a long to an int.
|
LADD
Adds two long values.
|
LALOAD
Loads a long from an array.
|
LAND
Performs a bitwise AND operation on two longs.
|
LASTORE
Stores a long into an array.
|
LCMP
Checks whether long
value1 is greater than long value2 . |
LCONST_0
Pushes the long constant
0L onto the stack. |
LCONST_1
Pushes the long constant
1L onto the stack. |
LDC
Pushes a constant
index (String, int, or float) from the constant pool onto the stack. |
LDC_W
Pushes a constant
index (String, int, or float) from the constant pool onto the stack. |
LDC2_W
Pushes a constant
index (double or long) from the constant pool onto the stack. |
LDIV
Divides two longs.
|
LLOAD
Loads a long value onto the stack from local variable
index . |
LLOAD_0
Loads a long value onto the stack from local variable
0 . |
LLOAD_1
Loads a long value onto the stack from local variable
1 . |
LLOAD_2
Loads a long value onto the stack from local variable
2 . |
LLOAD_3
Loads a long value onto the stack from local variable
3 . |
LMUL
Multiplies two longs.
|
LNEG
Negates a long.
|
LOOKUPSWITCH
TODO: I have no idea how this works at the moment.
|
LOR
Performs a bitwise OR operation on two longs.
|
LREM
Gets the remainder of division of two longs (modulus).
|
LRETURN
Returns a long value from a method and clears the stack.
|
LSHL
Performs a bitwise left shift operation of long
value1 by value2 positions. |
LSHR
Performs a bitwise right shift operation of long
value2 by value2 positions. |
LSTORE
Stores long
value in local variable index . |
LSTORE_0
Stores long
value in local variable 0 . |
LSTORE_1
Stores long
value in local variable 1 . |
LSTORE_2
Stores long
value in local variable 2 . |
LSTORE_3
Stores long
value in local variable 3 . |
LSUB
Subtracts a long value from another.
|
LUSHR
Performs a bitwise right shift operation of long
value2 by value2 positions, unsigned. |
LXOR
Performs a bitwise XOR operation on two long values.
|
MONITORENTER
Enters monitor state for an object (equivalent to start of
synchronized block). |
MONITOREXIT
Exits monitor state for an object (equivalent to end of
synchronized block). |
MULTIANEWARRAY
Creates a new array of
dimensions with elements of type classref . |
NEW
Creates a new object of type
classref . |
NEWARRAY
Creates a new array with
count elements of primitive type atype . |
NOP
Performs no operation.
|
POP
Discards the top value of the stack.
|
POP2
Discards the top two values of the stack (or one, if it is of type
double or long . |
PUTFIELD
Sets
fieldref to value in objectref to value . |
PUTSTATIC
Sets static field
fieldref to value in a class. |
RET
Continues execution from
address . |
RETURN
Returns
void from a method. |
SALOAD
Loads a short from an array.
|
SASTORE
Stores a short in an array.
|
SIPUSH
Pushes short
value onto the stack. |
SWAP
Swaps the two top words of the stack, provided they are not
double or long . |
TABLESWITCH
Continues execution from an address in the table at offset
index . |
UNKNOWN
Unknown opcode.
|
WIDE
TODO: research.
|
Modifier and Type | Method and Description |
---|---|
static Opcode |
fromByte(byte byteCode) |
int |
getAdditionalBytes()
Returns the number of additional bytes which follow this
Opcode . |
byte |
getByteCode()
Returns the byte associated with this
Opcode . |
static Opcode |
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.
|
static Opcode[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final Opcode AALOAD
Stack: arrayref, index -> value
public static final Opcode AASTORE
Stack: arrayref, index, value -> ()
public static final Opcode ACONST_NULL
null
references onto the stack.
Stack: () -> null
public static final Opcode ALOAD
index
.
Accepts: byte index
Stack: () -> objectref
public static final Opcode ALOAD_0
0
.
Stack: () -> objectref
public static final Opcode ALOAD_1
1
.
Stack: () -> objectref
public static final Opcode ALOAD_2
2
.
Stack: () -> objectref
public static final Opcode ALOAD_3
3
.
Stack: () -> objectref
public static final Opcode ANEWARRAY
count
and type typeref
.
Accepts: short typeref
Stack: count -> arrayref
public static final Opcode ARETURN
Stack: objectref -> [empty]
public static final Opcode ARRAYLENGTH
arrayref
on the top of the stack with its length.
Stack: arrayref -> length
public static final Opcode ASTORE
index
.
Accepts: byte index
Stack: objectref -> ()
public static final Opcode ASTORE_0
0
.
Stack: objectref -> ()
public static final Opcode ASTORE_1
1
.
Stack: objectref -> ()
public static final Opcode ASTORE_2
2
.
Stack: objectref -> ()
public static final Opcode ASTORE_3
3
.
Stack: objectref -> ()
public static final Opcode ATHROW
Stack: objectref -> [empty], objectref
public static final Opcode BALOAD
Stack: arrayref, index -> value
public static final Opcode BASTORE
Stack: arrayref, index, value
public static final Opcode BIPUSH
Accepts: byte value
Stack: () -> value
public static final Opcode BREAKPOINT
public static final Opcode CALOAD
Stack: arrayref, index -> value
public static final Opcode CASTORE
Stack: arrayref, index, value -> ()
public static final Opcode CHECKCAST
objectref
matches of the type of the class at index
of the constant
pool.
Accepts: short index
Stack: objectref -> objectref
public static final Opcode D2F
Stack: value -> result
public static final Opcode D2I
Stack: value -> result
public static final Opcode D2L
Stack: value -> result
public static final Opcode DADD
Stack: value1, value2 -> result
public static final Opcode DALOAD
Stack: arrayref, index -> value
public static final Opcode DASTORE
Stack: arrayref, index, value -> ()
public static final Opcode DCMPG
value1
is greater than double value2
.
Stack: value1, value2 -> result
public static final Opcode DCMPL
value1
is less than double value2
.
Stack: value1, value2 -> result
public static final Opcode DCONST_0
0.0
onto the stack.
Stack: () -> 0.0
public static final Opcode DCONST_1
1.0
onto the stack.
Stack: () -> 1.0
public static final Opcode DDIV
Stack: value1, value2 -> result
public static final Opcode DLOAD
index
.
Accepts: byte index
Stack: () -> value
public static final Opcode DLOAD_0
0
.
Stack: () -> value
public static final Opcode DLOAD_1
1
.
Stack: () -> value
public static final Opcode DLOAD_2
2
.
Stack: () -> value
public static final Opcode DLOAD_3
3
.
Stack: () -> value
public static final Opcode DMUL
Stack: value1, value2 -> result
public static final Opcode DNEG
Stack: value -> result
public static final Opcode DREM
Stack: value1, value2 -> result
public static final Opcode DRETURN
Stack: value -> [empty]
public static final Opcode DSTORE
value
into local variable index
.
Stack: value -> ()
public static final Opcode DSTORE_0
value
into local variable 0
.
Stack: value -> ()
public static final Opcode DSTORE_1
value
into local variable 1
.
Stack: value -> ()
public static final Opcode DSTORE_2
value
into local variable 2
.
Stack: value -> ()
public static final Opcode DSTORE_3
value
into local variable 3
.
Stack: value -> ()
public static final Opcode DSUB
Stack: value1, value2 -> result
public static final Opcode DUP
Stack: value -> value, value
public static final Opcode DUP_X1
Precondition: The top two values of the stack must not be of type double or long
Stack: value1,
value2 -> value2, value1, value2
public static final Opcode DUP_X2
value2
is double or long, in which case it
occupies the entry of value3
) or three (if value2
is neither a double or long) values
from the top.
Stack: value1, value2, value3 -> value3, value1, value2, value3
public static final Opcode DUP2
Stack: value1, value2 -> value1, value2, value1, value2
public static final Opcode DUP2_X1
Stack: value1, value2, value3 -> value2, value3, value1, value2, value3
public static final Opcode DUP2_X2
Stack: value1, value2, value3, value4 -> value3, value4, value1, value2, value3, value4
public static final Opcode F2D
Stack: value -> result
public static final Opcode F2I
Stack: value -> result
public static final Opcode F2L
Stack: value -> result
public static final Opcode FADD
Stack: value1, value2 -> result
public static final Opcode FALOAD
Stack: arrayref, index -> value
public static final Opcode FASTORE
Stack: arrayref, index, value -> ()
public static final Opcode FCMPG
value1
is greater than float value2
.
Stack: value1, value2 -> result
public static final Opcode FCMPL
value1
is less than float value2
.
Stack: value1, value2 -> result
public static final Opcode FCONST_0
0.0
onto the stack.
Stack: () -> 0.0f
public static final Opcode FCONST_1
1.0
onto the stack.
Stack: () -> 1.0f
public static final Opcode FCONST_2
2.0
onto the stack.
Stack: () -> 2.0f
public static final Opcode FDIV
Stack: value1, value2 -> result
public static final Opcode FLOAD
index
.
Accepts: byte index
Stack: () -> value
public static final Opcode FLOAD_0
0
.
Accepts: byte index
Stack: () -> value
public static final Opcode FLOAD_1
1
.
Accepts: byte index
Stack: () -> value
public static final Opcode FLOAD_2
2
.
Accepts: byte index
Stack: () -> value
public static final Opcode FLOAD_3
3
.
Accepts: byte index
Stack: () -> value
public static final Opcode FMUL
Stack: value1, value2 -> result
public static final Opcode FNEG
Stack: value -> result
public static final Opcode FREM
Stack: value1, value2 -> result
public static final Opcode FRETURN
Stack: value -> [empty]
public static final Opcode FSTORE
index
.
Accepts: byte index
Stack: value -> ()
public static final Opcode FSTORE_0
0
.
Stack: value -> ()
public static final Opcode FSTORE_1
1
.
Stack: value -> ()
public static final Opcode FSTORE_2
2
.
Stack: value -> ()
public static final Opcode FSUB
Stack: value1, value2 -> result
public static final Opcode GETFIELD
fieldref
of object objectref
.
Accepts: short fieldref
Stack: objectref -> value
public static final Opcode GETSTATIC
fieldref
of object objectref
.
Accepts: short fieldref
Stack: () -> value
public static final Opcode GOTO
branchoffset
.
Accepts: short branchoffset
public static final Opcode GOTO_W
branchoffset
.
Accepts: int branchoffset
public static final Opcode I2B
Stack: value -> result
public static final Opcode I2C
Stack: value -> result
public static final Opcode I2D
Stack: value -> result
public static final Opcode I2F
Stack: value -> result
public static final Opcode I2L
Stack: value -> result
public static final Opcode I2S
Stack: value -> result
public static final Opcode IADD
Stack: value1, value2 -> result
public static final Opcode IALOAD
Stack: arrayref, index -> value
public static final Opcode IAND
Stack: value1, value2 -> result
public static final Opcode IASTORE
Stack: arrayref, index, value -> ()
public static final Opcode ICONST_M1
-1
onto the stack.
Stack: () -> -1
public static final Opcode ICONST_0
0
onto the stack.
Stack: () -> 0
public static final Opcode ICONST_1
1
onto the stack.
Stack: () -> 1
public static final Opcode ICONST_2
2
onto the stack.
Stack: () -> 2
public static final Opcode ICONST_3
3
onto the stack.
Stack: () -> 3
public static final Opcode ICONST_4
4
onto the stack.
Stack: () -> 4
public static final Opcode ICONST_5
5
onto the stack.
Stack: () -> 5
public static final Opcode IDIV
Stack: value1, value2 -> result
public static final Opcode IF_ACMPEQ
branchoffset
if the two references are equal.
Accepts: short branchoffset
Stack: value1, value2 -> ()
public static final Opcode IF_ACMPNE
branchoffset
if the two references are not equal.
Accepts: short branchoffset
Stack: value1, value2 -> ()
public static final Opcode IF_ICMPEQ
branchoffset
if the two ints are equal.
Accepts: short branchoffset
Stack: value1, value2 -> ()
public static final Opcode IF_ICMPGE
branchoffset
if value1
is greater than or equal to
value2
.
Accepts: short branchoffset
Stack: value1, value2 -> ()
public static final Opcode IF_ICMPGT
branchoffset
if value1
is greater than value2
.
Accepts: short branchoffset
Stack: value1, value2 -> ()
public static final Opcode IF_ICMPLE
branchoffset
if value1
is less than or equal to
value2
.
Accepts: short branchoffset
Stack: value1, value2 -> ()
public static final Opcode IF_ICMPLT
branchoffset
if value1
is less than value2
.
Accepts: short branchoffset
Stack: value1, value2 -> ()
public static final Opcode IF_ICMPNE
branchoffset
if the two ints are not equal.
Accepts: short branchoffset
Stack: value1, value2 -> ()
public static final Opcode IFEQ
branchoffset
if value
is equal to 0.
Accepts: short branchoffset
Stack: value -> ()
public static final Opcode IFGE
branchoffset
if value
is greater than or equal to 0.
Accepts: short branchoffset
Stack: value -> ()
public static final Opcode IFGT
branchoffset
if value
is greater than 0.
Accepts: short branchoffset
Stack: value -> ()
public static final Opcode IFLE
branchoffset
if value
is less than or equal to 0.
Accepts: short branchoffset
Stack: value -> ()
public static final Opcode IFLT
branchoffset
if value
is less than 0.
Accepts: short branchoffset
Stack: value -> ()
public static final Opcode IFNE
branchoffset
if value
is not equal to 0.
Accepts: short branchoffset
Stack: value -> ()
public static final Opcode IFNONNULL
branchoffset
if value
is not null
.
Accepts: short branchoffset
Stack: value -> ()
public static final Opcode IFNULL
branchoffset
if value
is null
.
Accepts: short branchoffset
Stack: value -> ()
public static final Opcode IINC
index
by signed byte const
.
Accepts: byte index, byte const
public static final Opcode ILOAD
value
from local variable index
.
Accepts: byte index
Stack: () -> value
public static final Opcode ILOAD_0
value
from local variable 0
.
Accepts: byte index
Stack: () -> value
public static final Opcode ILOAD_1
value
from local variable 1
.
Accepts: byte index
Stack: () -> value
public static final Opcode ILOAD_2
value
from local variable 2
.
Accepts: byte index
Stack: () -> value
public static final Opcode ILOAD_3
value
from local variable 3
.
Accepts: byte index
Stack: () -> value
public static final Opcode IMPDEP1
public static final Opcode IMPDEP2
public static final Opcode IMUL
Stack: value1, value2 -> result
public static final Opcode INEG
Stack: value -> result
public static final Opcode INSTANCEOF
objectref
is of the type referenced by index
.
Stack: short index
public static final Opcode INVOKEDYNAMIC
index
and puts the result on the stack.
Accepts: short index, 0, 0
Stack: args... -> result
public static final Opcode INVOKEINTERFACE
objectref
and puts the result on the stack.
Accepts: short index, count, 0
Stack: objectref, args... -> result
public static final Opcode INVOKESPECIAL
objectref
and puts the result on the stack.
Accepts: short index, count, 0
Stack: objectref, args... -> result
public static final Opcode INVOKESTATIC
objectref
and puts the result on the stack.
Accepts: short index, count, 0
Stack: objectref, args... -> result
public static final Opcode INVOKEVIRTUAL
objectref
and puts the result on the stack.
Accepts: short index, count, 0
Stack: objectref, args... -> result
public static final Opcode IOR
Stack: value1, value2 -> result
public static final Opcode IREM
Stack: value1, value2 -> result
public static final Opcode IRETURN
Stack: value -> [empty]
public static final Opcode ISHL
Stack: value1, value2 -> result
public static final Opcode ISHR
Stack: value1, value2 -> result
public static final Opcode ISTORE
value
into variable index
.
Accepts: byte index
Stack: value -> ()
public static final Opcode ISTORE_0
value
into variable 0
.
Accepts: byte index
Stack: value -> ()
public static final Opcode ISTORE_1
value
into variable 1
.
Accepts: byte index
Stack: value -> ()
public static final Opcode ISTORE_2
value
into variable 2
.
Accepts: byte index
Stack: value -> ()
public static final Opcode ISTORE_3
value
into variable 3
.
Accepts: byte index
Stack: value -> ()
public static final Opcode ISUB
Stack: value2, value2 -> result
public static final Opcode IUSHR
Stack: value2, value2 -> result
public static final Opcode IXOR
Stack: value2, value2 -> result
public static final Opcode JSR
branchoffset
and places the current address on the stack.
Accepts: short branchoffset
Stack: () -> address
public static final Opcode JSR_W
branchoffset
and places the current address on the stack.
Accepts: int branchoffset
Stack: () -> address
public static final Opcode L2D
Stack: value -> result
public static final Opcode L2F
Stack: value -> result
public static final Opcode L2I
Stack: value -> result
public static final Opcode LADD
Stack: value1, value2 -> result
public static final Opcode LALOAD
Stack: arrayref, index -> value
public static final Opcode LAND
Stack: value1, value2 -> result
public static final Opcode LASTORE
Stack: arrayref, index, value -> ()
public static final Opcode LCMP
value1
is greater than long value2
.
Stack: value1, value2 -> result
public static final Opcode LCONST_0
0L
onto the stack.
Stack: () -> 0L
public static final Opcode LCONST_1
1L
onto the stack.
Stack: () -> 1L
public static final Opcode LDC
index
(String, int, or float) from the constant pool onto the stack.
Accepts: byte index
Stack: () -> value
public static final Opcode LDC_W
index
(String, int, or float) from the constant pool onto the stack.
Accepts: short index
Stack: () -> value
public static final Opcode LDC2_W
index
(double or long) from the constant pool onto the stack.
Accepts: index
Stack: () -> value
public static final Opcode LDIV
Stack: value1, value2 -> result
public static final Opcode LLOAD
index
.
Accepts: byte index
Stack: () -> value
public static final Opcode LLOAD_0
0
.
Stack: () -> value
public static final Opcode LLOAD_1
1
.
Stack: () -> value
public static final Opcode LLOAD_2
2
.
Stack: () -> value
public static final Opcode LLOAD_3
3
.
Stack: () -> value
public static final Opcode LMUL
Stack: value1, value2 -> result
public static final Opcode LNEG
Stack: value -> result
public static final Opcode LOOKUPSWITCH
public static final Opcode LOR
Stack: value1, value2 -> result
public static final Opcode LREM
Stack: value1, value2 -> result
public static final Opcode LRETURN
Stack: value -> [empty]
public static final Opcode LSHL
value1
by value2
positions.
Stack: value1, value2 -> result
public static final Opcode LSHR
value2
by value2
positions.
Stack: value1, value2 -> result
public static final Opcode LSTORE
value
in local variable index
.
Accepts: byte index
Stack: value -> ()
public static final Opcode LSTORE_0
value
in local variable 0
.
Stack: value -> ()
public static final Opcode LSTORE_1
value
in local variable 1
.
Stack: value -> ()
public static final Opcode LSTORE_2
value
in local variable 2
.
Stack: value -> ()
public static final Opcode LSTORE_3
value
in local variable 3
.
Stack: value -> ()
public static final Opcode LSUB
Stack: value1, value2 -> result
public static final Opcode LUSHR
value2
by value2
positions, unsigned.
Stack: value1, value2 -> result
public static final Opcode LXOR
Stack: value1, value2 -> result
public static final Opcode MONITORENTER
synchronized
block).
Stack: objectref -> ()
public static final Opcode MONITOREXIT
synchronized
block).
Stack: objectref -> ()
public static final Opcode MULTIANEWARRAY
dimensions
with elements of type classref
. The size of each
repsective dimension is defined by count1, count2,
etc.
Accepts: short classref, byte dimensions
Stack: count1[, count2,...] ->
arrayref
public static final Opcode NEW
classref
.
Accepts: short classref
Stack: () -> objectref
public static final Opcode NEWARRAY
count
elements of primitive type atype
.
Accepts: byte atype
Stack: count -> arrayref
public static final Opcode NOP
public static final Opcode POP
Stack: value -> ()
public static final Opcode POP2
double
or long
.
Stack: value1, value2 -> ()
public static final Opcode PUTFIELD
fieldref
to value
in objectref
to value
.
Accepts: short fieldref
Stack: objectref, value -> ()
public static final Opcode PUTSTATIC
fieldref
to value
in a class.
Accepts: short fieldref
Stack: value -> ()
public static final Opcode RET
address
.
Accepts: byte index
public static final Opcode RETURN
void
from a method.public static final Opcode SALOAD
Stack: arrayref, index -> value
public static final Opcode SASTORE
Stack: arrayref, index, value -> ()
public static final Opcode SIPUSH
value
onto the stack.
Accepts: short value
Stack: () -> value
public static final Opcode SWAP
double
or long
.
Stack: value1, value2 -> value2, value1
public static final Opcode TABLESWITCH
index
. TODO: Research this
Accepts: TODO
Stack: index -> ()
public static final Opcode WIDE
public static final Opcode UNKNOWN
public static Opcode[] values()
for (Opcode c : Opcode.values()) System.out.println(c);
public static Opcode valueOf(java.lang.String name)
name
- the name of the enum constant to be returned.java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is nullpublic byte getByteCode()
Opcode
.byte
representing this Opcode
.public int getAdditionalBytes()
Opcode
.Opcode
public static Opcode fromByte(byte byteCode)