| AALOAD | AALOAD - Load reference from array
Stack: ..., arrayref, index -> value
|
| AASTORE | AASTORE - Store into reference array
Stack: ..., arrayref, index, value -> ... |
| ACONST_NULL | ACONST_NULL - Push null reference
Stack: ... |
| ALOAD | ALOAD - Load reference from local variable
Stack: ... |
| ANEWARRAY | ANEWARRAY - Create new array of references
Stack: ..., count -> ..., arrayref
|
| ArithmeticInstruction | Super class for the family of arithmetic instructions. |
| ArrayInstruction | Super class for instructions dealing with array access such as IALOAD. |
| ArrayType | Denotes array type, such as int[][]
|
| ARETURN | ARETURN - Return reference from method
Stack: ..., objectref -> <empty>
|
| ARRAYLENGTH | ARRAYLENGTH - Get length of array
Stack: ..., arrayref -> ..., length
|
| ASTORE | ASTORE - Store reference into local variable
Stack ..., objectref -> ... |
| ATHROW | ATHROW - Throw exception
Stack: ..., objectref -> objectref
|
| BALOAD | BALOAD - Load byte or boolean from array
Stack: ..., arrayref, index -> ..., value
|
| BASTORE | BASTORE - Store into byte or boolean array
Stack: ..., arrayref, index, value -> ... |
| BasicType | Denotes basic type such as int. |
| BIPUSH | BIPUSH - Push byte on stack
Stack: ... |
| BranchHandle | BranchHandle is returned by specialized InstructionList.append() whenever a
BranchInstruction is appended. |
| BranchInstruction | Abstract super class for branching instructions like GOTO, IFEQ, etc.. |
| BREAKPOINT | BREAKPOINT, JVM dependent, ignored by default
|
| CALOAD | CALOAD - Load char from array
Stack: ..., arrayref, index -> ..., value
|
| CASTORE | CASTORE - Store into char array
Stack: ..., arrayref, index, value -> ... |
| CHECKCAST | CHECKCAST - Check whether object is of given type
Stack: ..., objectref -> ..., objectref
|
| ClassGen | Template class for building up a java class. |
| ClassGenException | Thrown on internal errors. |
| CodeExceptionGen | This class represents an exception handler, i.e., specifies the region where
a handler is active and an instruction where the actual handling is done. |
| ConstantPoolGen | This class is used to build up a constant pool. |
| ConversionInstruction | Super class for the x2y family of instructions. |
| CPInstruction | Abstract super class for instructions that use an index into the
constant pool such as LDC, INVOKEVIRTUAL, etc. |
| D2F | D2F - Convert double to float
Stack: ..., value.word1, value.word2 -> ..., result
|
| D2I | D2I - Convert double to int
Stack: ..., value.word1, value.word2 -> ..., result
|
| D2L | D2L - Convert double to long
Stack: ..., value.word1, value.word2 -> ..., result.word1, result.word2
|
| DADD | DADD - Add doubles
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result1.word2
|
| DALOAD | DALOAD - Load double from array
Stack: ..., arrayref, index -> ..., result.word1, result.word2
|
| DASTORE | DASTORE - Store into double array
Stack: ..., arrayref, index, value.word1, value.word2 -> ... |
| DCMPG | DCMPG - Compare doubles: value1 > value2
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result
|
| DCMPL | DCMPL - Compare doubles: value1 <32value2
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result
|
| DCONST | DCONST - Push 0.0 or 1.0, other values cause an exception
Stack: ... |
| DDIV | DDIV - Divide doubles
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
|
| DLOAD | DLOAD - Load double from local variable
Stack ... |
| DMUL | DMUL - Multiply doubles
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
|
| DNEG | DNEG - Negate double
Stack: ..., value.word1, value.word2 -> ..., result.word1, result.word2
|
| DREM | DREM - Remainder of doubles
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
|
| DRETURN | DRETURN - Return double from method
Stack: ..., value.word1, value.word2 -> <empty>
|
| DSTORE | DSTORE - Store double into local variable
Stack: ..., value.word1, value.word2 -> ... |
| DSUB | DSUB - Substract doubles
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
|
| DUP | DUP - Duplicate top operand stack word
Stack: ..., word -> ..., word, word
|
| DUP2 | DUP2 - Duplicate two top operand stack words
Stack: ..., word2, word1 -> ..., word2, word1, word2, word1
|
| DUP2_X1 | DUP2_X1 - Duplicate two top operand stack words and put three down
Stack: ..., word3, word2, word1 -> ..., word2, word1, word3, word2, word1
|
| DUP2_X2 | DUP2_X2 - Duplicate two top operand stack words and put four down
Stack: ..., word4, word3, word2, word1 -> ..., word2, word1, word4, word3, word2, word1
|
| DUP_X1 | DUP_X1 - Duplicate top operand stack word and put two down
Stack: ..., word2, word1 -> ..., word1, word2, word1
|
| DUP_X2 | DUP_X2 - Duplicate top operand stack word and put three down
Stack: ..., word3, word2, word1 -> ..., word1, word3, word2, word1
|
| EmptyVisitor | Supplies empty method bodies to be overridden by subclasses. |
| F2D | F2D - Convert float to double
Stack: ..., value -> ..., result.word1, result.word2
|
| F2I | F2I - Convert float to int
Stack: ..., value -> ..., result
|
| F2L | F2L - Convert float to long
Stack: ..., value -> ..., result.word1, result.word2
|
| FADD | FADD - Add floats
Stack: ..., value1, value2 -> result
|
| FALOAD | FALOAD - Load float from array
Stack: ..., arrayref, index -> ..., value
|
| FASTORE | FASTORE - Store into float array
Stack: ..., arrayref, index, value -> ... |
| FCMPG | FCMPG - Compare floats: value1 > value2
Stack: ..., value1, value2 -> ..., result
|
| FCMPL | FCMPL - Compare floats: value1 <32value2
Stack: ..., value1, value2 -> ..., result
|
| FCONST | FCONST - Push 0.0, 1.0 or 2.0, other values cause an exception
Stack: ... |
| FDIV | FDIV - Divide floats
Stack: ..., value1, value2 -> result
|
| FieldGen | Template class for building up a field. |
| FieldGenOrMethodGen | Super class for FieldGen and MethodGen objects, since they have
some methods in common!
|
| FieldInstruction | Super class for the GET/PUTxxx family of instructions. |
| FieldOrMethod | Super class for InvokeInstruction and FieldInstruction, since they have
some methods in common!
|
| FLOAD | FLOAD - Load float from local variable
Stack ... |
| FMUL | FMUL - Multiply floats
Stack: ..., value1, value2 -> result
|
| FNEG | FNEG - Negate float
Stack: ..., value -> ..., result
|
| FREM | FREM - Remainder of floats
Stack: ..., value1, value2 -> result
|
| FRETURN | FRETURN - Return float from method
Stack: ..., value -> <empty>
|
| FSTORE | FSTORE - Store float into local variable
Stack: ..., value -> ... |
| FSUB | FSUB - Substract floats
Stack: ..., value1, value2 -> result
|
| GETFIELD | GETFIELD - Fetch field from object
Stack: ..., objectref -> ..., value
OR
Stack: ..., objectref -> ..., value.word1, value.word2
|
| GETSTATIC | GETSTATIC - Fetch static field from class
Stack: ..., -> ..., value
OR
Stack: ..., -> ..., value.word1, value.word2
|
| GotoInstruction | Super class for GOTO
|
| GOTO | GOTO - Branch always (to relative offset, not absolute address)
|
| GOTO_W | GOTO_W - Branch always (to relative offset, not absolute address)
|
| I2B | I2B - Convert int to byte
Stack: ..., value -> ..., result
|
| I2C | I2C - Convert int to char
Stack: ..., value -> ..., result
|
| I2D | I2D - Convert int to double
Stack: ..., value -> ..., result.word1, result.word2
|
| I2F | I2F - Convert int to float
Stack: ..., value -> ..., result
|
| I2L | I2L - Convert int to long
Stack: ..., value -> ..., result.word1, result.word2
|
| I2S | I2S - Convert int to short
Stack: ..., value -> ..., result
|
| IADD | IADD - Add ints
Stack: ..., value1, value2 -> result
|
| IALOAD | IALOAD - Load int from array
Stack: ..., arrayref, index -> ..., value
|
| IAND | IAND - Bitwise AND int
Stack: ..., value1, value2 -> ..., result
|
| IASTORE | IASTORE - Store into int array
Stack: ..., arrayref, index, value -> ... |
| ICONST | ICONST - Push value between -1, ..., 5, other values cause an exception
Stack: ... |
| IDIV | IDIV - Divide ints
Stack: ..., value1, value2 -> result
|
| IfInstruction | Super class for the IFxxx family of instructions. |
| IFEQ | IFEQ - Branch if int comparison with zero succeeds
Stack: ..., value -> ... |
| IFGE | IFGE - Branch if int comparison with zero succeeds
Stack: ..., value -> ... |
| IFGT | IFGT - Branch if int comparison with zero succeeds
Stack: ..., value -> ... |
| IFLE | IFLE - Branch if int comparison with zero succeeds
Stack: ..., value -> ... |
| IFLT | IFLT - Branch if int comparison with zero succeeds
Stack: ..., value -> ... |
| IFNE | IFNE - Branch if int comparison with zero succeeds
Stack: ..., value -> ... |
| IFNONNULL | IFNONNULL - Branch if reference is not null
Stack: ..., reference -> ... |
| IFNULL | IFNULL - Branch if reference is not null
Stack: ..., reference -> ... |
| IF_ACMPEQ | IF_ACMPEQ - Branch if reference comparison succeeds
Stack: ..., value1, value2 -> ... |
| IF_ACMPNE | IF_ACMPNE - Branch if reference comparison doesn't succeed
Stack: ..., value1, value2 -> ... |
| IF_ICMPEQ | IF_ICMPEQ - Branch if int comparison succeeds
Stack: ..., value1, value2 -> ... |
| IF_ICMPGE | IF_ICMPGE - Branch if int comparison succeeds
Stack: ..., value1, value2 -> ... |
| IF_ICMPGT | IF_ICMPGT - Branch if int comparison succeeds
Stack: ..., value1, value2 -> ... |
| IF_ICMPLE | IF_ICMPLE - Branch if int comparison succeeds
Stack: ..., value1, value2 -> ... |
| IF_ICMPLT | IF_ICMPLT - Branch if int comparison succeeds
Stack: ..., value1, value2 -> ... |
| IF_ICMPNE | IF_ICMPNE - Branch if int comparison doesn't succeed
Stack: ..., value1, value2 -> ... |
| IINC | IINC - Increment local variable by constant
|
| ILOAD | ILOAD - Load int from local variable onto stack
Stack: ... |
| IMPDEP1 | IMPDEP1 - Implementation dependent
|
| IMPDEP2 | IMPDEP2 - Implementation dependent
|
| IMUL | IMUL - Multiply ints
Stack: ..., value1, value2 -> result
|
| Instruction | Abstract super class for all Java byte codes. |
| InstructionConstants.Clinit | |
| InstructionFactory | Instances of this class may be used, e.g., to generate typed
versions of instructions. |
| InstructionHandle | Instances of this class give users a handle to the instructions contained in
an InstructionList. |
| InstructionList | This class is a container for a list of Instruction objects. |
| InvokeInstruction | Super class for the INVOKExxx family of instructions. |
| INEG | INEG - Negate int
Stack: ..., value -> ..., result
|
| INSTANCEOF | INSTANCEOF - Determine if object is of given type
Stack: ..., objectref -> ..., result
|
| INVOKEINTERFACE | INVOKEINTERFACE - Invoke interface method
Stack: ..., objectref, [arg1, [arg2 ...]] -> ... |
| INVOKESPECIAL | INVOKESPECIAL - Invoke instance method; special handling for superclass, private
and instance initialization method invocations
Stack: ..., objectref, [arg1, [arg2 ...]] -> ... |
| INVOKESTATIC | INVOKESTATIC - Invoke a class (static) method
Stack: ..., [arg1, [arg2 ...]] -> ... |
| INVOKEVIRTUAL | INVOKEVIRTUAL - Invoke instance method; dispatch based on class
Stack: ..., objectref, [arg1, [arg2 ...]] -> ... |
| IOR | IOR - Bitwise OR int
Stack: ..., value1, value2 -> ..., result
|
| IREM | IREM - Remainder of int
Stack: ..., value1, value2 -> result
|
| IRETURN | IRETURN - Return int from method
Stack: ..., value -> <empty>
|
| ISHL | ISHL - Arithmetic shift left int
Stack: ..., value1, value2 -> ..., result
|
| ISHR | ISHR - Arithmetic shift right int
Stack: ..., value1, value2 -> ..., result
|
| ISTORE | ISTORE - Store int from stack into local variable
Stack: ..., value -> ... |
| ISUB | ISUB - Substract ints
Stack: ..., value1, value2 -> result
|
| IUSHR | IUSHR - Logical shift right int
Stack: ..., value1, value2 -> ..., result
|
| IXOR | IXOR - Bitwise XOR int
Stack: ..., value1, value2 -> ..., result
|
| JsrInstruction | Super class for JSR - Jump to subroutine
|
| JSR | JSR - Jump to subroutine
|
| JSR_W | JSR_W - Jump to subroutine
|
| L2D | L2D - Convert long to double
Stack: ..., value.word1, value.word2 -> ..., result.word1, result.word2
|
| L2F | L2F - Convert long to float
Stack: ..., value.word1, value.word2 -> ..., result
|
| L2I | L2I - Convert long to int
Stack: ..., value.word1, value.word2 -> ..., result
|
| LADD | LADD - Add longs
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
|
| LALOAD | LALOAD - Load long from array
Stack: ..., arrayref, index -> ..., value1, value2
|
| LAND | LAND - Bitwise AND longs
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
|
| LASTORE | LASTORE - Store into long array
Stack: ..., arrayref, index, value.word1, value.word2 -> ... |
| LCMP | LCMP - Compare longs:
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result <= -1, 0, 1>
|
| LCONST | LCONST - Push 0 or 1, other values cause an exception
Stack: ... |
| LDC | LDC - Push item from constant pool. |
| LDC2_W | LDC2_W - Push long or double from constant pool
Stack: ... |
| LDC_W | LDC_W - Push item from constant pool (wide index)
Stack: ... |
| LDIV | LDIV - Divide longs
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
|
| LineNumberGen | This class represents a line number within a method, i.e., give an instruction
a line number corresponding to the source code line. |
| LLOAD | LLOAD - Load long from local variable
Stack ... |
| LMUL | LMUL - Multiply longs
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
|
| LNEG | LNEG - Negate long
Stack: ..., value.word1, value.word2 -> ..., result.word1, result.word2
|
| LoadInstruction | Denotes an unparameterized instruction to load a value from a local
variable, e.g. |
| LocalVariableGen | This class represents a local variable within a method. |
| LocalVariableInstruction | Abstract super class for instructions dealing with local variables. |
| LOOKUPSWITCH | LOOKUPSWITCH - Switch with unordered set of values
|
| LOR | LOR - Bitwise OR long
Stack: ..., value1, value2 -> ..., result
|
| LREM | LREM - Remainder of long
Stack: ..., value1, value2 -> result
|
| LRETURN | LRETURN - Return long from method
Stack: ..., value.word1, value.word2 -> <empty>
|
| LSHL | LSHL - Arithmetic shift left long
Stack: ..., value1.word1, value1.word2, value2 -> ..., result.word1, result.word2
|
| LSHR | LSHR - Arithmetic shift right long
Stack: ..., value1.word1, value1.word2, value2 -> ..., result.word1, result.word2
|
| LSTORE | LSTORE - Store long into local variable
Stack: ..., value.word1, value.word2 -> ... |
| LSUB | LSUB - Substract longs
Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 ->
..., result.word1, result.word2
|
| LUSHR | LUSHR - Logical shift right long
Stack: ..., value1, value2 -> ..., result
|
| LXOR | LXOR - Bitwise XOR long
Stack: ..., value1, value2 -> ..., result
|
| MethodGen | Template class for building up a method. |
| MONITORENTER | MONITORENTER - Enter monitor for object
Stack: ..., objectref -> ... |
| MONITOREXIT | MONITOREXIT - Exit monitor for object
Stack: ..., objectref -> ... |
| MULTIANEWARRAY | MULTIANEWARRAY - Create new mutidimensional array of references
Stack: ..., count1, [count2, ...] -> ..., arrayref
|
| NEW | NEW - Create new object
Stack: ... |
| NEWARRAY | NEWARRAY - Create new array of basic type (int, short, ...)
Stack: ..., count -> ..., arrayref
type must be one of T_INT, T_SHORT, ... |
| NOP | NOP - Do nothing
|
| ObjectType | Denotes reference such as java.lang.String. |
| POP | POP - Pop top operand stack word
Stack: ..., word -> ... |
| POP2 | POP2 - Pop two top operand stack words
Stack: ..., word2, word1 -> ... |
| PUSH | Wrapper class for push operations, which are implemented either as BIPUSH,
LDC or xCONST_n instructions. |
| PUTFIELD | PUTFIELD - Put field in object
Stack: ..., objectref, value -> ... |
| PUTSTATIC | PUTSTATIC - Put static field in class
Stack: ..., value -> ... |
| ReferenceType | Super class for object and array types. |
| ReturnaddressType | Returnaddress, the type JSR or JSR_W instructions push upon the stack. |
| ReturnInstruction | Super class for the xRETURN family of instructions. |
| RET | RET - Return from subroutine
Stack: ..., -> ..., address
|
| RETURN | RETURN - Return from void method
Stack: ... |
| SALOAD | SALOAD - Load short from array
Stack: ..., arrayref, index -> ..., value
|
| SASTORE | SASTORE - Store into short array
Stack: ..., arrayref, index, value -> ... |
| Select | Select - Abstract super class for LOOKUPSWITCH and TABLESWITCH instructions. |
| SIPUSH | SIPUSH - Push short
Stack: ... |
| StackInstruction | Super class for stack operations like DUP and POP. |
| StoreInstruction | Denotes an unparameterized instruction to store a value into a local variable,
e.g. |
| SWAP | SWAP - Swa top operand stack word
Stack: ..., word2, word1 -> ..., word1, word2
|
| SWITCH | SWITCH - Branch depending on int value, generates either LOOKUPSWITCH or
TABLESWITCH instruction, depending on whether the match values (int[]) can be
sorted with no gaps between the numbers. |
| TABLESWITCH | TABLESWITCH - Switch within given range of values, i.e., low..high
|
| TargetLostException | Thrown by InstructionList.remove() when one or multiple disposed instruction
are still being referenced by a InstructionTargeter object. |
| Type | Abstract super class for all possible java types, namely basic types
such as int, object types like String and array types, e.g. |