Uses of Package
org.apache.bcel.generic

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.
 



Copyright © 2002-2003 Apache Software Foundation. All Rights Reserved.