| 
 | |||||||||||
| PREV NEXT | FRAMES NO FRAMES | ||||||||||
| Packages that use org.apache.bcel.generic | |
| org.apache.bcel.classfile | This package contains the classes that describe the structure of a Java class file and a class file parser. | 
| org.apache.bcel.generic | This package contains the "generic" part of the Byte Code Engineering Library, i.e., classes to dynamically modify class objects and byte code instructions. | 
| org.apache.bcel.util | This package contains utility classes for the Byte Code Engineering Library, namely: Collection classes for JavaClass objects A converter for class files to HTML A tool to find instructions patterns via regular expressions A class to find classes as defined in the CLASSPATH A class loader that allows to create clases at run time | 
| org.apache.bcel.verifier.statics | Provides PassVerifier classes used internally by JustIce. | 
| org.apache.bcel.verifier.structurals | Provides a PassVerifier class mostly used internally by JustIce, yielding a control flow graph for public use as a nice side effect. | 
| Classes in org.apache.bcel.generic used by org.apache.bcel.classfile | Type | Abstract super class for all possible java types, namely basic types such as int, object types like String and array types, e.g. int[] | |
| Classes in org.apache.bcel.generic used by org.apache.bcel.generic | 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: ... AllocationInstruction | Denote family of instructions that allocates space in the heap. ALOAD | ALOAD - Load reference from local variable Stack: ... ANEWARRAY | ANEWARRAY - Create new array of references Stack: ..., count -> ..., arrayref ARETURN | ARETURN - Return reference from method Stack: ..., objectref -> <empty> ArithmeticInstruction | Super class for the family of arithmetic instructions. ArrayInstruction | Super class for instructions dealing with array access such as IALOAD. ARRAYLENGTH | ARRAYLENGTH - Get length of array Stack: ..., arrayref -> ..., length ArrayType | Denotes array type, such as int[][] 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 BasicType | Denotes basic type such as int. BASTORE | BASTORE - Store into byte or boolean array Stack: ..., arrayref, index, value -> ... 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. ClassObserver | Implement this interface if you're interested in changes to a ClassGen object and register yourself with addObserver(). 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. CompoundInstruction | Wrapper class for `compound' operations, virtual instructions that don't exist as byte code, but give a useful meaning. ConstantPoolGen | This class is used to build up a constant pool. ConstantPushInstruction | Denotes a push instruction that produces a literal on the stack such as SIPUSH, BIPUSH, ICONST, etc. 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 < value2 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 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 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 ExceptionThrower | Denote an instruction that may throw a run-time or a linking exception (or both) during execution. 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 < value2 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. FieldObserver | Imnplement this interface if you're interested in changes to a FieldGen object and register yourself with addObserver(). 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 GOTO | GOTO - Branch always (to relative offset, not absolute address) GOTO_W | GOTO_W - Branch always (to relative offset, not absolute address) GotoInstruction | Super class for GOTO 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 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 -> ... 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 -> ... IfInstruction | Super class for the IFxxx family of instructions. 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 -> ... 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 IndexedInstruction | Denote entity that refers to an index, e.g. local variable instructions, RET, CPInstruction, etc. INEG | INEG - Negate int Stack: ..., value -> ..., result INSTANCEOF | INSTANCEOF - Determine if object is of given type Stack: ..., objectref -> ..., result Instruction | Abstract super class for all Java byte codes. InstructionComparator | Equality of instructions isn't clearly to be defined. InstructionConstants | This interface contains shareable instruction objects. InstructionConstants.Clinit | 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. InstructionListObserver | Implement this interface if you're interested in changes to an InstructionList object and register yourself with addObserver(). InstructionTargeter | Denote that a class targets InstructionHandles within an InstructionList. InvokeInstruction | Super class for the INVOKExxx family of instructions. 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 JSR | JSR - Jump to subroutine JSR_W | JSR_W - Jump to subroutine JsrInstruction | Super class for JSR - 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: ... 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 LoadClass | Denotes that an instruction may start the process of loading and resolving the referenced class in the Virtual Machine. 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. MethodObserver | Implement this interface if you're interested in changes to a MethodGen object and register yourself with addObserver(). 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, ...] NamedAndTyped | Denote entity that has both name and type. NEW | NEW - Create new object Stack: ... NEWARRAY | NEWARRAY - Create new array of basic type (int, 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 -> ... PopInstruction | Denotes an unparameterized instruction to pop a value on top from the stack, such as ISTORE, POP, PUTSTATIC. PushInstruction | Denotes an unparameterized instruction to produce a value on top of the stack, such as ILOAD, LDC, SIPUSH, DUP, ICONST, etc. 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. RET | RET - Return from subroutine Stack: ..., -> ..., address RETURN | RETURN - Return from void method Stack: ... ReturnaddressType | Returnaddress, the type JSR or JSR_W instructions push upon the stack. ReturnInstruction | Super class for the xRETURN family of instructions. 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: ... StackConsumer | Denote an instruction that may consume a value from the stack. StackInstruction | Super class for stack operations like DUP and POP. StackProducer | Denote an instruction that may produce a value on top of the stack (this excludes DUP_X1, e.g.) 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 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. int[] TypedInstruction | Get the type associated with an instruction, int for ILOAD, or the type of the field of a PUTFIELD instruction, e.g.. UnconditionalBranch | Denotes an instruction to perform an unconditional branch, i.e., GOTO, JSR. VariableLengthInstruction | Denotes an instruction to be a variable length instruction, such as GOTO, JSR, LOOKUPSWITCH and TABLESWITCH. Visitor | Interface implementing the Visitor pattern programming style. | |
| Classes in org.apache.bcel.generic used by org.apache.bcel.util | 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. | |
| Classes in org.apache.bcel.generic used by org.apache.bcel.verifier.statics | Type | Abstract super class for all possible java types, namely basic types such as int, object types like String and array types, e.g. int[] | |
| Classes in org.apache.bcel.generic used by org.apache.bcel.verifier.structurals | 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 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 -> ... BIPUSH | BIPUSH - Push byte on stack Stack: ... 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 ConstantPoolGen | This class is used to build up a constant pool. 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 < value2 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 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 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 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 < value2 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 FieldInstruction | Super class for the GET/PUTxxx family of instructions. 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 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 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 -> ... 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 -> ... 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 INEG | INEG - Negate int Stack: ..., value -> ..., result INSTANCEOF | INSTANCEOF - Determine if object is of given type Stack: ..., objectref -> ..., result InstructionHandle | Instances of this class give users a handle to the instructions contained in an InstructionList. InvokeInstruction | Super class for the INVOKExxx family of instructions. 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 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. LDC_W | LDC_W - Push item from constant pool (wide index) Stack: ... LDC2_W | LDC2_W - Push long or double from constant pool Stack: ... LDIV | LDIV - Divide longs Stack: ..., value1.word1, value1.word2, value2.word1, value2.word2 -> ..., result.word1, result.word2 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 LoadClass | Denotes that an instruction may start the process of loading and resolving the referenced class in the Virtual Machine. LoadInstruction | Denotes an unparameterized instruction to load a value from a local variable, e.g. 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, ...] NEW | NEW - Create new object Stack: ... NEWARRAY | NEWARRAY - Create new array of basic type (int, 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 -> ... 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. RET | RET - Return from subroutine Stack: ..., -> ..., address RETURN | RETURN - Return from void method Stack: ... ReturnInstruction | Super class for the xRETURN family of instructions. SALOAD | SALOAD - Load short from array Stack: ..., arrayref, index -> ..., value SASTORE | SASTORE - Store into short array Stack: ..., arrayref, index, value -> ... SIPUSH | SIPUSH - Push short Stack: ... StackConsumer | Denote an instruction that may consume a value from the stack. StackInstruction | Super class for stack operations like DUP and POP. StackProducer | Denote an instruction that may produce a value on top of the stack (this excludes DUP_X1, e.g.) 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 TABLESWITCH | TABLESWITCH - Switch within given range of values, i.e., low..high Type | Abstract super class for all possible java types, namely basic types such as int, object types like String and array types, e.g. int[] Visitor | Interface implementing the Visitor pattern programming style. | |
| 
 | |||||||||||
| PREV NEXT | FRAMES NO FRAMES | ||||||||||