byucc.jhdl.synth.classparse
Class OpCodeWideop

java.lang.Object
  extended bybyucc.jhdl.synth.classparse.ClassFileParser
      extended bybyucc.jhdl.synth.classparse.OpCode
          extended bybyucc.jhdl.synth.classparse.OpCodeWide
              extended bybyucc.jhdl.synth.classparse.OpCodeWideop

public class OpCodeWideop
extends OpCodeWide

If you read the VM spec. you will notice that there is no opcode named wideop. Howver, the opcode wide exists in two forms. One of these forms applies only when the sub_opcode is iinc. I take care of that case in OpCodeWideiinc. The other form of of wide applies to any of iload, fload, aload, lload, dload, istore, fstore, astore, lstore, dstore, or ret and is handled in this class.


Field Summary
 
Fields inherited from class byucc.jhdl.synth.classparse.OpCodeWide
sub_op
 
Fields inherited from class byucc.jhdl.synth.classparse.OpCode
codes, mnemonic, OP_AALOAD, OP_AASTORE, OP_ACONST_NULL, OP_ALOAD, OP_ALOAD_0, OP_ALOAD_1, OP_ALOAD_2, OP_ALOAD_3, OP_ANEWARRAY, OP_ARETURN, OP_ARRAYLENGTH, OP_ASTORE, OP_ASTORE_0, OP_ASTORE_1, OP_ASTORE_2, OP_ASTORE_3, OP_ATHROW, OP_BALOAD, OP_BASTORE, OP_BIPUSH, OP_CALOAD, OP_CASTORE, OP_CHECKCAST, op_code, OP_D2F, OP_D2I, OP_D2L, OP_DADD, OP_DALOAD, OP_DASTORE, OP_DCMPG, OP_DCMPL, OP_DCONST_0, OP_DCONST_1, OP_DDIV, OP_DLOAD, OP_DLOAD_0, OP_DLOAD_1, OP_DLOAD_2, OP_DLOAD_3, OP_DMUL, OP_DNEG, OP_DREM, OP_DRETURN, OP_DSTORE, OP_DSTORE_0, OP_DSTORE_1, OP_DSTORE_2, OP_DSTORE_3, OP_DSUB, OP_DUP, OP_DUP_X1, OP_DUP_X2, OP_DUP2, OP_DUP2_X1, OP_DUP2_X2, OP_F2D, OP_F2I, OP_F2L, OP_FADD, OP_FALOAD, OP_FASTORE, OP_FCMPG, OP_FCMPL, OP_FCONST_0, OP_FCONST_1, OP_FCONST_2, OP_FDIV, OP_FLOAD, OP_FLOAD_0, OP_FLOAD_1, OP_FLOAD_2, OP_FLOAD_3, OP_FMUL, OP_FNEG, OP_FREM, OP_FRETURN, OP_FSTORE, OP_FSTORE_0, OP_FSTORE_1, OP_FSTORE_2, OP_FSTORE_3, OP_FSUB, OP_GETFIELD, OP_GETSTATIC, OP_GOTO, OP_GOTO_W, OP_I2B, OP_I2C, OP_I2D, OP_I2F, OP_I2L, OP_I2S, OP_IADD, OP_IALOAD, OP_IAND, OP_IASTORE, OP_ICONST_0, OP_ICONST_1, OP_ICONST_2, OP_ICONST_3, OP_ICONST_4, OP_ICONST_5, OP_ICONST_M1, OP_IDIV, OP_IF_ACMPEQ, OP_IF_ACMPNE, OP_IF_ICMPEQ, OP_IF_ICMPGE, OP_IF_ICMPGT, OP_IF_ICMPLE, OP_IF_ICMPLT, OP_IF_ICMPNE, OP_IFEQ, OP_IFGE, OP_IFGT, OP_IFLE, OP_IFLT, OP_IFNE, OP_IFNONNULL, OP_IFNULL, OP_IINC, OP_ILOAD, OP_ILOAD_0, OP_ILOAD_1, OP_ILOAD_2, OP_ILOAD_3, OP_IMUL, OP_INEG, OP_INSTANCEOF, OP_INVOKEINTERFACE, OP_INVOKENONVIRTUAL, OP_INVOKESTATIC, OP_INVOKEVIRTUAL, OP_IOR, OP_IREM, OP_IRETURN, OP_ISHL, OP_ISHR, OP_ISTORE, OP_ISTORE_0, OP_ISTORE_1, OP_ISTORE_2, OP_ISTORE_3, OP_ISUB, OP_IUSHR, OP_IXOR, OP_JSR, OP_JSR_W, OP_L2D, OP_L2F, OP_L2I, OP_LADD, OP_LALOAD, OP_LAND, OP_LASTORE, OP_LCMP, OP_LCONST_0, OP_LCONST_1, OP_LDC, OP_LDC_W, OP_LDC2_W, OP_LDIV, OP_LLOAD, OP_LLOAD_0, OP_LLOAD_1, OP_LLOAD_2, OP_LLOAD_3, OP_LMUL, OP_LNEG, OP_LOOKUPSWITCH, OP_LOR, OP_LREM, OP_LRETURN, OP_LSHL, OP_LSHR, OP_LSTORE, OP_LSTORE_0, OP_LSTORE_1, OP_LSTORE_2, OP_LSTORE_3, OP_LSUB, OP_LUSHR, OP_LXOR, OP_MONITORENTER, OP_MONITOREXIT, OP_MULTIANEWARRAY, OP_NEW, OP_NEWARRAY, OP_NOP, OP_POP, OP_POP2, OP_PUTFIELD, OP_PUTSTATIC, OP_RET, OP_RETURN, OP_SALOAD, OP_SASTORE, OP_SIPUSH, OP_SWAP, OP_TABLESWITCH, OP_UNUSED, OP_WIDE, pc
 
Fields inherited from class byucc.jhdl.synth.classparse.ClassFileParser
CONSTANT_Class, CONSTANT_Double, CONSTANT_Fieldref, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodref, CONSTANT_Long, CONSTANT_Methodref, CONSTANT_NameAndType, CONSTANT_String, CONSTANT_Utf8
 
Constructor Summary
OpCodeWideop(int pc, java.lang.String mnemonic, int op_code, int sub_op)
           
 
Method Summary
 void toClass(ClassFileWriter output)
          Spit out the contents of this OpCodeWideop to the given ClassFileWriter.
 java.lang.StringBuffer toJasmin(java.lang.StringBuffer result)
           
 java.lang.String toString()
           
 
Methods inherited from class byucc.jhdl.synth.classparse.OpCodeWide
parse
 
Methods inherited from class byucc.jhdl.synth.classparse.OpCode
execute, getImmediate, getLineNumber, getName, getOpCode, getPC, getPossibleTargets, hasImmediate, isConditionalBranch, isControl, isSwitch, isTarget, isUnconditionalBranch, jasminHeader, registerOpCodeArray, setTarget
 
Methods inherited from class byucc.jhdl.synth.classparse.ClassFileParser
getClassFile, getConstantPool, length, parseAttributeInfo, parseAttributes, parseConstantPool, parseCPInfo, parseDouble, parseFieldInfo, parseFields, parseFloat, parseLong, parseMethodInfo, parseMethods, parseOpCode, parseSuccess, parseUTF, s2, toJasmin, u1, u2, u4
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OpCodeWideop

public OpCodeWideop(int pc,
                    java.lang.String mnemonic,
                    int op_code,
                    int sub_op)
Method Detail

toClass

public void toClass(ClassFileWriter output)
Spit out the contents of this OpCodeWideop to the given ClassFileWriter. This method is basically the opposite of the constructor. The constructor reads in a OpCodeWideop from a DataInputStream and this method spits the OpCodeWideop out to a DataOutputStream, (which is in the ClassFileWriter).

Overrides:
toClass in class OpCodeWide
Parameters:
output - a ClassFileWriter constructed with a DataOutputStram to contain the output class file.

toString

public java.lang.String toString()
Overrides:
toString in class OpCodeWide

toJasmin

public java.lang.StringBuffer toJasmin(java.lang.StringBuffer result)
Overrides:
toJasmin in class OpCodeWide


Copyright ? 2006 Brigham Young University, Configurable Computing Laboratory. All Rights Reserved.