org.apache.jdo.impl.enhancer.classfile
Class VMOp

java.lang.Object
  extended byorg.apache.jdo.impl.enhancer.classfile.VMOp
All Implemented Interfaces:
VMConstants

public class VMOp
extends java.lang.Object
implements VMConstants

Description of the VM opcodes


Field Summary
private  java.lang.String opcodeName
           
private  int opcodeValue
           
(package private) static VMOp[] ops
           
private  int stackArgs
           
private  java.lang.String stackArgTypes
           
private  int stackResults
           
private  java.lang.String stackResultTypes
           
 
Fields inherited from interface org.apache.jdo.impl.enhancer.classfile.VMConstants
ACCAbstract, ACCFinal, ACCInterface, ACCNative, ACCPrivate, ACCProtected, ACCPublic, ACCStatic, ACCSuper, ACCSynchronized, ACCTransient, ACCVolatile, CONSTANTClass, CONSTANTDouble, CONSTANTFieldRef, CONSTANTFloat, CONSTANTInteger, CONSTANTInterfaceMethodRef, CONSTANTLong, CONSTANTMethodRef, CONSTANTNameAndType, CONSTANTString, CONSTANTUnicode, CONSTANTUtf8, opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_athrow, opc_baload, opc_bastore, opc_bipush, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_invokeinterface, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putstatic, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_swap, opc_tableswitch, opc_wide, opc_xxxunusedxxx, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, T_TWOWORD, T_UNKNOWN, T_WORD, TC_INTERFACE, TC_OBJECT, TC_STRING
 
Constructor Summary
VMOp(int theOpcode, java.lang.String theOpcodeName, int nArgs, int nResults, java.lang.String argDescr, java.lang.String resultDescr)
          constructor for a VMOp
 
Method Summary
 java.lang.String argTypes()
          Return the type descriptor for the stack arguments to the operation.
private static void check()
          Check that each entry in the ops array has a valid VMOp entry
private static void checkTypes(java.lang.String types, int n, VMOp op)
           
 java.lang.String name()
          Return the opcode name
 int nStackArgs()
          Return the number of words of stack arguments expected by this operation.
 int nStackResults()
          Return the number of words of stack results produced by this operation.
 int opcode()
          Return the opcode value
 java.lang.String resultTypes()
          Return the type descriptor for the stack results of the operation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

opcodeValue

private int opcodeValue

opcodeName

private java.lang.String opcodeName

stackArgs

private int stackArgs

stackResults

private int stackResults

stackArgTypes

private java.lang.String stackArgTypes

stackResultTypes

private java.lang.String stackResultTypes

ops

static VMOp[] ops
Constructor Detail

VMOp

public VMOp(int theOpcode,
            java.lang.String theOpcodeName,
            int nArgs,
            int nResults,
            java.lang.String argDescr,
            java.lang.String resultDescr)
constructor for a VMOp

Method Detail

opcode

public final int opcode()
Return the opcode value


name

public final java.lang.String name()
Return the opcode name


nStackArgs

public final int nStackArgs()
Return the number of words of stack arguments expected by this operation. If the number is not a fixed value, return -1;


nStackResults

public final int nStackResults()
Return the number of words of stack results produced by this operation. If the number is not a fixed value, return -1;


argTypes

public final java.lang.String argTypes()
Return the type descriptor for the stack arguments to the operation.


resultTypes

public final java.lang.String resultTypes()
Return the type descriptor for the stack results of the operation.


check

private static void check()
Check that each entry in the ops array has a valid VMOp entry


checkTypes

private static void checkTypes(java.lang.String types,
                               int n,
                               VMOp op)