Package net.sf.rej.java.instruction

Classes that model the java bytecode instructions.

See:
          Description

Interface Summary
Widenable Interface for instructions to signal that the Instruction in question can be "widened".
 

Class Summary
_aaload Load reference from array.
_aastore Store into reference array (..., arrayref, index -> ..., value).
_aconst_null Push null.
_aload Load reference from local variable
_aload_0 Load reference from local variable 0.
_aload_1 Load reference from local variable 1.
_aload_2 Load reference from local variable 2.
_aload_3 Load reference from local variable 3.
_anewarray Create new array of reference.
_anewarray_quick  
_areturn Return reference from method.
_arraylength Get length of array.
_astore Store reference into local variable.
_astore_0 Store reference into local variable 0.
_astore_1 Store reference into local variable 1.
_astore_2 Store reference into local variable 2.
_astore_3 Store reference into local variable 3.
_athrow Throw exception.
_baload Load byte or boolean from array.
_bastore Store into byte or boolean array.
_bipush Push byte.
_breakpoint (Reserved)breakpoint.
_caload Load char from array.
_castore Store into char array.
_checkcast Check whether object is of given type.
_checkcast_quick Check whether object is of given type.
_d2f Convert double to float.
_d2i Convert double to int.
_d2l Convert double to long.
_dadd Add long.
_daload Load double from array.
_dastore Store into double array.
_dcmpg Compare double.
_dcmpl Compare double.
_dconst_0 Push the double constant 0.0 onto the operand stack.
_dconst_1 Push the double constant 1.0 onto the operand stack.
_ddiv Divide double.
_dload Load double from local variable.
_dload_0 Load double from local variable 0.
_dload_1 Load double from local variable 1.
_dload_2 Load double from local variable 2.
_dload_3 Load double from local variable 3.
_dmul Multiply double.
_dneg Negate double.
_drem Remainder double.
_dreturn Return float from method.
_dstore Store double into local variable.
_dstore_0 Store double into local variable 0.
_dstore_1 Store double into local variable 1.
_dstore_2 Store double into local variable 2.
_dstore_3 Store double into local variable 3.
_dsub Subtract double.
_dup Duplicate top operand stack word.
_dup_x1 Duplicate the top operand stack value and insert two values down.
_dup_x2 Duplicate the top operand stack value and insert two or three values down.
_dup2 Duplicate the top one or two operand stack values.
_dup2_x1 Duplicate the top one or two operand stack values and insert two or three values down.
_dup2_x2 Duplicate the top one or two operand stack values and insert two, three, or four values down.
_f2d Convert float to double.
_f2i Convert float to int.
_f2l Convert float to long.
_fadd Add float.
_faload Load float from array.
_fastore Store into float array.
_fcmpg Compare float.
_fcmpl Compare float.
_fconst_0 Push the float constant 0.0 onto the operand stack.
_fconst_1 Push the float constant 1.0 onto the operand stack.
_fconst_2 Push the float constant 2.0 onto the operand stack.
_fdiv Divide float.
_fload Load float from local variable.
_fload_0 Load float from local variable 0.
_fload_1 Load float from local variable 1.
_fload_2 Load float from local variable 2.
_fload_3 Load float from local variable 3.
_fmul Multiply float.
_fneg Negate float.
_frem Remainder float.
_freturn Return float from method.
_fstore Store float into local variable.
_fstore_0 Store float into local variable 0.
_fstore_1 Store float into local variable 1.
_fstore_2 Store float into local variable 2.
_fstore_3 Store float into local variable 3.
_fsub Subtract float.
_getfield Fetch field from object.
_getfield_quick  
_getfield_quick_w  
_getfield2_quick  
_getstatic Get static field from class.
_getstatic_quick Get static field from class.
_getstatic2_quick  
_goto Branch always.
_goto_w Branch always(wide index).
_i2b Convert int to byte.
_i2c Convert int to char.
_i2d Convert int to double.
_i2f Convert int to float.
_i2l Convert int to long.
_i2s Convert int to short.
_iadd Add int.
_iaload Load int from array.
_iand Boolean AND int.
_iastore Store into int array.
_iconst_0 Push int constant 0.
_iconst_1 Push int constant 1.
_iconst_2 Push int constant 2.
_iconst_3 Push int constant 3.
_iconst_4 Push int constant 4.
_iconst_5 Push int constant 5.
_iconst_m1 Push int constant -1.
_idiv Divide int.
_if_acmpeq Branch if reference comparison(equals) succeeds.
_if_acmpne Branch if reference comparison(not equals) succeeds.
_if_icmpeq Branch if int comparison(equals) succeeds.
_if_icmpge Branch if int comparison(greater than or equal) succeeds.
_if_icmpgt Branch if int comparison(greater than) succeeds.
_if_icmple Branch if int comparison(lower than or equal) succeeds.
_if_icmplt Branch if int comparison(lower than) succeeds.
_if_icmpne Branch if int comparison(not equals) succeeds.
_ifeq Branch if int comparison with zero succeeds(if int is zero).
_ifge Branch if int comparison with zero succeeds(if int is greater than or equal to zero).
_ifgt Branch if int comparison with zero succeeds(if int is greater than zero).
_ifle Branch if int comparison with zero succeeds(if int is lower than or equal to zero).
_iflt Branch if int comparison with zero succeeds(if int is lower than zero).
_ifne Branch if int comparison with zero succeeds(if int is not zero).
_ifnonnull Branch if reference not null.
_ifnull Branch if reference is null.
_iinc Increment local variable by constant.
_iload Load int from local variable.
_iload_0 Load int from local variable 0.
_iload_1 Load int from local variable 1.
_iload_2 Load int from local variable 2.
_iload_3 Load int from local variable 3.
_impdep1 (Reserved) impdep1.
_impdep2 (Reserved) impdp2.
_imul Multiply int.
_ineg Negate int.
_instanceof Determine if object is of given type.
_instanceof_quick  
_invokeinterface Invoke interface method.
_invokeinterface_quick  
_invokenonvirtual_quick  
_invokespecial Invoke instance method; special handling for superclass, private, and instance initialization method invocations.
_invokestatic Invoke a class (static) method.
_invokestatic_quick  
_invokesuper_quick  
_invokevirtual Invoke instance method.
_invokevirtual_quick  
_invokevirtual_quick_w  
_invokevirtualobject_quick  
_ior Boolean OR int.
_irem Remainder int.
_ireturn Return int from method.
_ishl Shift left int.
_ishr Arithmetic shift right int.
_istore Store int into local variable.
_istore_0 Store int into local variable 0.
_istore_1 Store int into local variable 1.
_istore_2 Store int into local variable 2.
_istore_3 Store int into local variable 3.
_isub Subtract int.
_iushr Logical shift right int.
_ixor Boolean XOR int.
_jsr Jump subroutine.
_jsr_w Jump subroutine(wide index).
_l2d Convert long to double.
_l2f Convert long to float.
_l2i Convert long to int.
_ladd Add long.
_laload Load long from array.
_land Boolean AND long.
_lastore Store into long array.
_lcmp Compare long.
_lconst_0 Push the long constant 0 onto the operand stack.
_lconst_1 Push the long constant 1 onto the operand stack.
_ldc Push item from constant pool.
_ldc_quick  
_ldc_w Push item from constant pool.
_ldc_w_quick  
_ldc2_w Push long or double from constant pool.
_ldc2_w_quick Push long or double from constant pool.
_ldiv Divide long.
_lload Load long from local variable.
_lload_0 Load long from local variable 0.
_lload_1 Load long from local variable 1.
_lload_2 Load long from local variable 2.
_lload_3 Load long from local variable 3.
_lmul Multiply long.
_lneg Negate long.
_lookupswitch Access jump table by key match and jump.
_lor Boolean OR long.
_lrem Remainder long.
_lreturn Return long from method.
_lshl Shift left.
_lshr Arithmetic shift right long.
_lstore Store long into local variable.
_lstore_0 Store long into local variable 0.
_lstore_1 Store long into local variable 1.
_lstore_2 Store long into local variable 2.
_lstore_3 Store long into local variable 3.
_lsub Subtract long.
_lushr Logical shift right long.
_lxor Boolean XOR long.
_monitorenter Enter monitor for object.
_monitorexit Exit monitor for object.
_multianewarray Create new multidimensional array.
_multianewarray_quick  
_new Create new object.
_new_quick  
_newarray Create new array.
_nop Do nothing.
_pop Pop top operand stack word.
_pop2 Pop top two operand stack words.
_putfield Set field in object.
_putfield_quick  
_putfield_quick_w  
_putfield2_quick  
_putstatic Set static field in class.
_putstatic_quick  
_putstatic2_quick  
_ret Return from subroutine.
_return Return void from method.
_saload Load short from array.
_sastore Store into short array.
_sipush Push short.
_swap Swap top two operand stack words.
_tableswitch Access jump table by index and jump.
_wide The first form of the wide instruction modifies one of the instructions iload, fload, aload, lload, dload, istore, fstore, astore, lstore, dstore, or ret.
_xxxunusedxxx Undefined instruction 0xBA.
DecompilationContext DecompilationContext is a context class used by instruction instances to obtain information about the context they appear in.
ExecutionContext ExecutionContext - For possible future considerations :)
Instruction This class represents a java bytecode instruction.
Label The concept "label" does not exist in the java bytecode.
Parameters  
StackElement A class that models a stack elements / operands that is pushed onto or popped from the stack.
 

Enum Summary
ParameterType  
StackElementType An enumeration which identifies the type of a stack element.
 

Package net.sf.rej.java.instruction Description

Classes that model the java bytecode instructions. The classes fail to comply with the java naming conventions, but since many instruction names (new, return, goto, ...) clash with java keywords a decision was made to start the names of the instruction classes with an underscore.