Index: include/open/bytecodes.h
===================================================================
--- include/open/bytecodes.h (revision 517135)
+++ include/open/bytecodes.h (working copy)
@@ -22,217 +22,427 @@
#ifndef _BYTECODES_H_
#define _BYTECODES_H_
-/**
- * Enum of bytecode opcodes.
+/** @file bytecodes.h
+ * The list of byte codes is used by interpreter, jitrino, verifier, class_support and jvmti.
+ * */
+
+/** Enumerator of bytecode opcodes.
+ * An enumerator sets up a correspondence between instruction mnemonics
+ * and instruction opcode values.
+ * An enumerator identifier contains instruction mnemonic.
+ * The value of the constant is the opcode value.
*/
+
enum JavaByteCodes {
- OPCODE_NOP = 0, /* 0x00 */
- OPCODE_ACONST_NULL, /* 0x01 */
- OPCODE_ICONST_M1, /* 0x02 */
- OPCODE_ICONST_0, /* 0x03 */
- OPCODE_ICONST_1, /* 0x04 */
- OPCODE_ICONST_2, /* 0x05 */
- OPCODE_ICONST_3, /* 0x06 */
- OPCODE_ICONST_4, /* 0x07 */
- OPCODE_ICONST_5, /* 0x08 */
- OPCODE_LCONST_0, /* 0x09 */
- OPCODE_LCONST_1, /* 0x0a */
- OPCODE_FCONST_0, /* 0x0b */
- OPCODE_FCONST_1, /* 0x0c */
- OPCODE_FCONST_2, /* 0x0d */
- OPCODE_DCONST_0, /* 0x0e */
- OPCODE_DCONST_1, /* 0x0f */
- OPCODE_BIPUSH, /* 0x10 + s1 */
- OPCODE_SIPUSH, /* 0x11 + s2 */
- OPCODE_LDC, /* 0x12 + u1 */
- OPCODE_LDC_W, /* 0x13 + u2 */
- OPCODE_LDC2_W, /* 0x14 + u2 */
- OPCODE_ILOAD, /* 0x15 + u1|u2 */
- OPCODE_LLOAD, /* 0x16 + u1|u2 */
- OPCODE_FLOAD, /* 0x17 + u1|u2 */
- OPCODE_DLOAD, /* 0x18 + u1|u2 */
- OPCODE_ALOAD, /* 0x19 + u1|u2 */
- OPCODE_ILOAD_0, /* 0x1a */
- OPCODE_ILOAD_1, /* 0x1b */
- OPCODE_ILOAD_2, /* 0x1c */
- OPCODE_ILOAD_3, /* 0x1d */
- OPCODE_LLOAD_0, /* 0x1e */
- OPCODE_LLOAD_1, /* 0x1f */
- OPCODE_LLOAD_2, /* 0x20 */
- OPCODE_LLOAD_3, /* 0x21 */
- OPCODE_FLOAD_0, /* 0x22 */
- OPCODE_FLOAD_1, /* 0x23 */
- OPCODE_FLOAD_2, /* 0x24 */
- OPCODE_FLOAD_3, /* 0x25 */
- OPCODE_DLOAD_0, /* 0x26 */
- OPCODE_DLOAD_1, /* 0x27 */
- OPCODE_DLOAD_2, /* 0x28 */
- OPCODE_DLOAD_3, /* 0x29 */
- OPCODE_ALOAD_0, /* 0x2a */
- OPCODE_ALOAD_1, /* 0x2b */
- OPCODE_ALOAD_2, /* 0x2c */
- OPCODE_ALOAD_3, /* 0x2d */
- OPCODE_IALOAD, /* 0x2e */
- OPCODE_LALOAD, /* 0x2f */
- OPCODE_FALOAD, /* 0x30 */
- OPCODE_DALOAD, /* 0x31 */
- OPCODE_AALOAD, /* 0x32 */
- OPCODE_BALOAD, /* 0x33 */
- OPCODE_CALOAD, /* 0x34 */
- OPCODE_SALOAD, /* 0x35 */
- OPCODE_ISTORE, /* 0x36 + u1|u2 */
- OPCODE_LSTORE, /* 0x37 + u1|u2 */
- OPCODE_FSTORE, /* 0x38 + u1|u2 */
- OPCODE_DSTORE, /* 0x39 + u1|u2 */
- OPCODE_ASTORE, /* 0x3a + u1|u2 */
- OPCODE_ISTORE_0, /* 0x3b */
- OPCODE_ISTORE_1, /* 0x3c */
- OPCODE_ISTORE_2, /* 0x3d */
- OPCODE_ISTORE_3, /* 0x3e */
- OPCODE_LSTORE_0, /* 0x3f */
- OPCODE_LSTORE_1, /* 0x40 */
- OPCODE_LSTORE_2, /* 0x41 */
- OPCODE_LSTORE_3, /* 0x42 */
- OPCODE_FSTORE_0, /* 0x43 */
- OPCODE_FSTORE_1, /* 0x44 */
- OPCODE_FSTORE_2, /* 0x45 */
- OPCODE_FSTORE_3, /* 0x46 */
- OPCODE_DSTORE_0, /* 0x47 */
- OPCODE_DSTORE_1, /* 0x48 */
- OPCODE_DSTORE_2, /* 0x49 */
- OPCODE_DSTORE_3, /* 0x4a */
- OPCODE_ASTORE_0, /* 0x4b */
- OPCODE_ASTORE_1, /* 0x4c */
- OPCODE_ASTORE_2, /* 0x4d */
- OPCODE_ASTORE_3, /* 0x4e */
- OPCODE_IASTORE, /* 0x4f */
- OPCODE_LASTORE, /* 0x50 */
- OPCODE_FASTORE, /* 0x51 */
- OPCODE_DASTORE, /* 0x52 */
- OPCODE_AASTORE, /* 0x53 */
- OPCODE_BASTORE, /* 0x54 */
- OPCODE_CASTORE, /* 0x55 */
- OPCODE_SASTORE, /* 0x56 */
- OPCODE_POP, /* 0x57 */
- OPCODE_POP2, /* 0x58 */
- OPCODE_DUP, /* 0x59 */
- OPCODE_DUP_X1, /* 0x5a */
- OPCODE_DUP_X2, /* 0x5b */
- OPCODE_DUP2, /* 0x5c */
- OPCODE_DUP2_X1, /* 0x5d */
- OPCODE_DUP2_X2, /* 0x5e */
- OPCODE_SWAP, /* 0x5f */
- OPCODE_IADD, /* 0x60 */
- OPCODE_LADD, /* 0x61 */
- OPCODE_FADD, /* 0x62 */
- OPCODE_DADD, /* 0x63 */
- OPCODE_ISUB, /* 0x64 */
- OPCODE_LSUB, /* 0x65 */
- OPCODE_FSUB, /* 0x66 */
- OPCODE_DSUB, /* 0x67 */
- OPCODE_IMUL, /* 0x68 */
- OPCODE_LMUL, /* 0x69 */
- OPCODE_FMUL, /* 0x6a */
- OPCODE_DMUL, /* 0x6b */
- OPCODE_IDIV, /* 0x6c */
- OPCODE_LDIV, /* 0x6d */
- OPCODE_FDIV, /* 0x6e */
- OPCODE_DDIV, /* 0x6f */
- OPCODE_IREM, /* 0x70 */
- OPCODE_LREM, /* 0x71 */
- OPCODE_FREM, /* 0x72 */
- OPCODE_DREM, /* 0x73 */
- OPCODE_INEG, /* 0x74 */
- OPCODE_LNEG, /* 0x75 */
- OPCODE_FNEG, /* 0x76 */
- OPCODE_DNEG, /* 0x77 */
- OPCODE_ISHL, /* 0x78 */
- OPCODE_LSHL, /* 0x79 */
- OPCODE_ISHR, /* 0x7a */
- OPCODE_LSHR, /* 0x7b */
- OPCODE_IUSHR, /* 0x7c */
- OPCODE_LUSHR, /* 0x7d */
- OPCODE_IAND, /* 0x7e */
- OPCODE_LAND, /* 0x7f */
- OPCODE_IOR, /* 0x80 */
- OPCODE_LOR, /* 0x81 */
- OPCODE_IXOR, /* 0x82 */
- OPCODE_LXOR, /* 0x83 */
- OPCODE_IINC, /* 0x84 + u1|u2 + s1|s2 */
- OPCODE_I2L, /* 0x85 */
- OPCODE_I2F, /* 0x86 */
- OPCODE_I2D, /* 0x87 */
- OPCODE_L2I, /* 0x88 */
- OPCODE_L2F, /* 0x89 */
- OPCODE_L2D, /* 0x8a */
- OPCODE_F2I, /* 0x8b */
- OPCODE_F2L, /* 0x8c */
- OPCODE_F2D, /* 0x8d */
- OPCODE_D2I, /* 0x8e */
- OPCODE_D2L, /* 0x8f */
- OPCODE_D2F, /* 0x90 */
- OPCODE_I2B, /* 0x91 */
- OPCODE_I2C, /* 0x92 */
- OPCODE_I2S, /* 0x93 */
- OPCODE_LCMP, /* 0x94 */
- OPCODE_FCMPL, /* 0x95 */
- OPCODE_FCMPG, /* 0x96 */
- OPCODE_DCMPL, /* 0x97 */
- OPCODE_DCMPG, /* 0x98 */
- OPCODE_IFEQ, /* 0x99 + s2 (c) */
- OPCODE_IFNE, /* 0x9a + s2 (c) */
- OPCODE_IFLT, /* 0x9b + s2 (c) */
- OPCODE_IFGE, /* 0x9c + s2 (c) */
- OPCODE_IFGT, /* 0x9d + s2 (c) */
- OPCODE_IFLE, /* 0x9e + s2 (c) */
- OPCODE_IF_ICMPEQ, /* 0x9f + s2 (c) */
- OPCODE_IF_ICMPNE, /* 0xa0 + s2 (c) */
- OPCODE_IF_ICMPLT, /* 0xa1 + s2 (c) */
- OPCODE_IF_ICMPGE, /* 0xa2 + s2 (c) */
- OPCODE_IF_ICMPGT, /* 0xa3 + s2 (c) */
- OPCODE_IF_ICMPLE, /* 0xa4 + s2 (c) */
- OPCODE_IF_ACMPEQ, /* 0xa5 + s2 (c) */
- OPCODE_IF_ACMPNE, /* 0xa6 + s2 (c) */
- OPCODE_GOTO, /* 0xa7 + s2 (c) */
- OPCODE_JSR, /* 0xa8 + s2 (c) */
- OPCODE_RET, /* 0xa9 + u1|u2 (c) */
- OPCODE_TABLESWITCH, /* 0xaa + pad + s4 * (3 + N) (c) */
- OPCODE_LOOKUPSWITCH, /* 0xab + pad + s4 * 2 * (N + 1) (c) */
- OPCODE_IRETURN, /* 0xac (c) */
- OPCODE_LRETURN, /* 0xad (c) */
- OPCODE_FRETURN, /* 0xae (c) */
- OPCODE_DRETURN, /* 0xaf (c) */
- OPCODE_ARETURN, /* 0xb0 (c) */
- OPCODE_RETURN, /* 0xb1 (c) */
- OPCODE_GETSTATIC, /* 0xb2 + u2 */
- OPCODE_PUTSTATIC, /* 0xb3 + u2 */
- OPCODE_GETFIELD, /* 0xb4 + u2 */
- OPCODE_PUTFIELD, /* 0xb5 + u2 */
- OPCODE_INVOKEVIRTUAL, /* 0xb6 + u2 */
- OPCODE_INVOKESPECIAL, /* 0xb7 + u2 */
- OPCODE_INVOKESTATIC, /* 0xb8 + u2 */
- OPCODE_INVOKEINTERFACE,/* 0xb9 + u2 + u1 + u1 */
- _OPCODE_UNDEFINED, /* 0xba */
- OPCODE_NEW, /* 0xbb + u2 */
- OPCODE_NEWARRAY, /* 0xbc + u1 */
- OPCODE_ANEWARRAY, /* 0xbd + u1 */
- OPCODE_ARRAYLENGTH, /* 0xbe */
- OPCODE_ATHROW, /* 0xbf (c) */
- OPCODE_CHECKCAST, /* 0xc0 + u2 */
- OPCODE_INSTANCEOF, /* 0xc1 + u2 */
- OPCODE_MONITORENTER, /* 0xc2 */
- OPCODE_MONITOREXIT, /* 0xc3 */
- OPCODE_WIDE, /* 0xc4 */
- OPCODE_MULTIANEWARRAY, /* 0xc5 + u2 + u1 */
- OPCODE_IFNULL, /* 0xc6 + s2 (c) */
- OPCODE_IFNONNULL, /* 0xc7 + s2 (c) */
- OPCODE_GOTO_W, /* 0xc8 + s4 (c) */
- OPCODE_JSR_W, /* 0xc9 + s4 (c) */
- OPCODE_COUNT, /* number of bytecodes */
+ OPCODE_NOP = 0, /**< This enumerator holds the opcode value of the nop instruction, 0x00.
+ \sa The instruction description nop. */
+ OPCODE_ACONST_NULL, /**< This enumerator holds the opcode value of the const_null instruction, 0x01.
+ \sa The instruction description aconst_null. */
+ OPCODE_ICONST_M1, /**< This enumerator holds the opcode value of the iconst_m1 instruction, 0x02.
+ \sa The instruction description iconst_i. */
+ OPCODE_ICONST_0, /**< This enumerator holds the opcode value of the iconst_0 instruction, 0x03.
+ \sa The instruction description iconst_0. */
+ OPCODE_ICONST_1, /**< This enumerator holds the opcode value of the iconst_1 instruction, 0x04.
+ \sa The instruction description iconst_1. */
+ OPCODE_ICONST_2, /**< This enumerator holds the opcode value of the iconst_2 instruction, 0x05.
+ \sa The instruction description iconst_2. */
+ OPCODE_ICONST_3, /**< This enumerator holds the opcode value of the iconst_3 instruction, 0x06.
+ \sa The instruction description iconst_3. */
+ OPCODE_ICONST_4, /**< This enumerator holds the opcode value of the iconst_4 instruction, 0x07.
+ \sa The instruction description iconst_4. */
+ OPCODE_ICONST_5, /**< This enumerator holds the opcode value of the iconst_5 instruction, 0x08.
+ \sa The instruction description iconst_5. */
+ OPCODE_LCONST_0, /**< This enumerator holds the opcode value of the lconst_0 instruction, 0x09.
+ \sa The instruction description lconst_0. */
+ OPCODE_LCONST_1, /**< This enumerator holds the opcode value of the lconst_1 instruction, 0x0a.
+ \sa The instruction description lconst_1. */
+ OPCODE_FCONST_0, /**< This enumerator holds the opcode value of the fconst_0 instruction, 0x0b.
+ \sa The instruction description fconst_0. */
+ OPCODE_FCONST_1, /**< This enumerator holds the opcode value of the fconst_1 instruction, 0x0c.
+ \sa The instruction description fconst_1. */
+ OPCODE_FCONST_2, /**< This enumerator holds the opcode value of the fconst_2 instruction, 0x0d.
+ \sa The instruction description fconst_2. */
+ OPCODE_DCONST_0, /**< This enumerator holds the opcode value of the dconst_0 instruction, 0x0e.
+ \sa The instruction description dconst_0. */
+ OPCODE_DCONST_1, /**< This enumerator holds the opcode value of the dconst_1 instruction, 0x0f.
+ \sa The instruction description dconst_1. */
+ OPCODE_BIPUSH, /**< This enumerator holds the opcode value of the bipush instruction, 0x10 + s1.
+ \sa The instruction description bipush. */
+ OPCODE_SIPUSH, /**< This enumerator holds the opcode value of the sipush instruction, 0x11 + s2.
+ \sa The instruction description sipush. */
+ OPCODE_LDC, /**< This enumerator holds the opcode value of the ldc instruction, 0x12 + u1.
+ \sa The instruction description ldc. */
+ OPCODE_LDC_W, /**< This enumerator holds the opcode value of the ldc_w instruction, 0x13 + u2.
+ \sa The instruction description ldc_w. */
+ OPCODE_LDC2_W, /**< This enumerator holds the opcode value of the ldc2_w instruction, 0x14 + u2.
+ \sa The instruction description ldc2_w. */
+ OPCODE_ILOAD, /**< This enumerator holds the opcode value of the iload instruction, 0x15 + u1|u2.
+ \sa The instruction description iload. */
+ OPCODE_LLOAD, /**< This enumerator holds the opcode value of the lload instruction, 0x16 + u1|u2.
+ \sa The instruction description lload. */
+ OPCODE_FLOAD, /**< This enumerator holds the opcode value of the fload instruction, 0x17 + u1|u2.
+ \sa The instruction description fload. */
+ OPCODE_DLOAD, /**< This enumerator holds the opcode value of the dload instruction, 0x18 + u1|u2.
+ \sa The instruction description dload. */
+ OPCODE_ALOAD, /**< This enumerator holds the opcode value of the aload instruction, 0x19 + u1|u2.
+ \sa The instruction description aload. */
+ OPCODE_ILOAD_0, /**< This enumerator holds the opcode value of the iload_0 instruction, 0x1a.
+ \sa The instruction description iload_0. */
+ OPCODE_ILOAD_1, /**< This enumerator holds the opcode value of the iload_1 instruction, 0x1b.
+ \sa The instruction description iload_1. */
+ OPCODE_ILOAD_2, /**< This enumerator holds the opcode value of the iload_2 instruction, 0x1c.
+ \sa The instruction description iload_2. */
+ OPCODE_ILOAD_3, /**< This enumerator holds the opcode value of the iload_3 instruction, 0x1d.
+ \sa The instruction description iload_3. */
+ OPCODE_LLOAD_0, /**< This enumerator holds the opcode value of the lload_0 instruction, 0x1e.
+ \sa The instruction description lload_0. */
+ OPCODE_LLOAD_1, /**< This enumerator holds the opcode value of the lload_1 instruction, 0x1f.
+ \sa The instruction description lload_1. */
+ OPCODE_LLOAD_2, /**< This enumerator holds the opcode value of the lload_2 instruction, 0x20.
+ \sa The instruction description lload_2. */
+ OPCODE_LLOAD_3, /**< This enumerator holds the opcode value of the lload_3 instruction, 0x21.
+ \sa The instruction description lload_3. */
+ OPCODE_FLOAD_0, /**< This enumerator holds the opcode value of the fload_0 instruction, 0x22.
+ \sa The instruction description fload_0. */
+ OPCODE_FLOAD_1, /**< This enumerator holds the opcode value of the fload_1 instruction, 0x23.
+ \sa The instruction description fload_1. */
+ OPCODE_FLOAD_2, /**< This enumerator holds the opcode value of the fload_2 instruction, 0x24.
+ \sa The instruction description fload_2. */
+ OPCODE_FLOAD_3, /**< This enumerator holds the opcode value of the fload_3 instruction, 0x25.
+ \sa The instruction description fload_3. */
+ OPCODE_DLOAD_0, /**< This enumerator holds the opcode value of the dload_0 instruction, 0x26.
+ \sa The instruction description dload_0. */
+ OPCODE_DLOAD_1, /**< This enumerator holds the opcode value of the dload_1 instruction, 0x27.
+ \sa The instruction description dload_1. */
+ OPCODE_DLOAD_2, /**< This enumerator holds the opcode value of the dload_2 instruction, 0x28.
+ \sa The instruction description dload_2. */
+ OPCODE_DLOAD_3, /**< This enumerator holds the opcode value of the dload_3 instruction, 0x29.
+ \sa The instruction description dload_3. */
+ OPCODE_ALOAD_0, /**< This enumerator holds the opcode value of the aload_0 instruction, 0x2a.
+ \sa The instruction description aload_0. */
+ OPCODE_ALOAD_1, /**< This enumerator holds the opcode value of the aload_1 instruction, 0x2b.
+ \sa The instruction description aload_1. */
+ OPCODE_ALOAD_2, /**< This enumerator holds the opcode value of the aload_2 instruction, 0x2c.
+ \sa The instruction description aload_2. */
+ OPCODE_ALOAD_3, /**< This enumerator holds the opcode value of the aload_3 instruction, 0x2d.
+ \sa The instruction description aload_3. */
+ OPCODE_IALOAD, /**< This enumerator holds the opcode value of the iaload instruction, 0x2e.
+ \sa The instruction description iaload. */
+ OPCODE_LALOAD, /**< This enumerator holds the opcode value of the laload instruction, 0x2f.
+ \sa The instruction description laload. */
+ OPCODE_FALOAD, /**< This enumerator holds the opcode value of the faload instruction, 0x30.
+ \sa The instruction description faload. */
+ OPCODE_DALOAD, /**< This enumerator holds the opcode value of the daload instruction, 0x31.
+ \sa The instruction description daload. */
+ OPCODE_AALOAD, /**< This enumerator holds the opcode value of the aaload instruction, 0x32.
+ \sa The instruction description aaload. */
+ OPCODE_BALOAD, /**< This enumerator holds the opcode value of the baload instruction, 0x33.
+ \sa The instruction description baload. */
+ OPCODE_CALOAD, /**< This enumerator holds the opcode value of the caload instruction, 0x34.
+ \sa The instruction description caload. */
+ OPCODE_SALOAD, /**< This enumerator holds the opcode value of the saload instruction, 0x35.
+ \sa The instruction description saload. */
+ OPCODE_ISTORE, /**< This enumerator holds the opcode value of the istore instruction, 0x36 + u1|u2.
+ \sa The instruction description istore. */
+ OPCODE_LSTORE, /**< This enumerator holds the opcode value of the lstore instruction, 0x37 + u1|u2.
+ \sa The instruction description lstore. */
+ OPCODE_FSTORE, /**< This enumerator holds the opcode value of the fstore instruction, 0x38 + u1|u2.
+ \sa The instruction description fstore. */
+ OPCODE_DSTORE, /**< This enumerator holds the opcode value of the dstore instruction, 0x39 + u1|u2.
+ \sa The instruction description dstore. */
+ OPCODE_ASTORE, /**< This enumerator holds the opcode value of the astore instruction, 0x3a + u1|u2.
+ \sa The instruction description astore. */
+ OPCODE_ISTORE_0, /**< This enumerator holds the opcode value of the istore_0 instruction, 0x3b.
+ \sa The instruction description istore_0. */
+ OPCODE_ISTORE_1, /**< This enumerator holds the opcode value of the istore_1 instruction, 0x3c.
+ \sa The instruction description istore_1. */
+ OPCODE_ISTORE_2, /**< This enumerator holds the opcode value of the istore_2 instruction, 0x3d.
+ \sa The instruction description istore_2. */
+ OPCODE_ISTORE_3, /**< This enumerator holds the opcode value of the istore_3 instruction, 0x3e.
+ \sa The instruction description istore_3. */
+ OPCODE_LSTORE_0, /**< This enumerator holds the opcode value of the lstore_0 instruction, 0x3f.
+ \sa The instruction description lstore_0. */
+ OPCODE_LSTORE_1, /**< This enumerator holds the opcode value of the lstore_1 instruction, 0x40.
+ \sa The instruction description lstore_1. */
+ OPCODE_LSTORE_2, /**< This enumerator holds the opcode value of the lstore_2 instruction, 0x41.
+ \sa The instruction description lstore_2. */
+ OPCODE_LSTORE_3, /**< This enumerator holds the opcode value of the lstore_3 instruction, 0x42.
+ \sa The instruction description lstore_3. */
+ OPCODE_FSTORE_0, /**< This enumerator holds the opcode value of the fstore_0 instruction, 0x43.
+ \sa The instruction description fstore_0. */
+ OPCODE_FSTORE_1, /**< This enumerator holds the opcode value of the fstore_1 instruction, 0x44.
+ \sa The instruction description fstore_1. */
+ OPCODE_FSTORE_2, /**< This enumerator holds the opcode value of the fstore_2 instruction, 0x45.
+ \sa The instruction description fstore_2. */
+ OPCODE_FSTORE_3, /**< This enumerator holds the opcode value of the fstore_3 instruction, 0x46.
+ \sa The instruction description fstore_3. */
+ OPCODE_DSTORE_0, /**< This enumerator holds the opcode value of the dstore_0 instruction, 0x47.
+ \sa The instruction description dstore_0. */
+ OPCODE_DSTORE_1, /**< This enumerator holds the opcode value of the dstore_1 instruction, 0x48.
+ \sa The instruction description dstore_1. */
+ OPCODE_DSTORE_2, /**< This enumerator holds the opcode value of the dstore_1 instruction, 0x49.
+ \sa The instruction description dstore_2. */
+ OPCODE_DSTORE_3, /**< This enumerator holds the opcode value of the dstore_3 instruction, 0x4a.
+ \sa The instruction description dstore_3. */
+ OPCODE_ASTORE_0, /**< This enumerator holds the opcode value of the astore_0 instruction, 0x4b.
+ \sa The instruction description astore_0. */
+ OPCODE_ASTORE_1, /**< This enumerator holds the opcode value of the astore_1 instruction, 0x4c.
+ \sa The instruction description astore_1. */
+ OPCODE_ASTORE_2, /**< This enumerator holds the opcode value of the astore_2 instruction, 0x4d.
+ \sa The instruction description astore_2. */
+ OPCODE_ASTORE_3, /**< This enumerator holds the opcode value of the astore_3 instruction, 0x4e.
+ \sa The instruction description astore_3. */
+ OPCODE_IASTORE, /**< This enumerator holds the opcode value of the iastore instruction, 0x4f.
+ \sa The instruction description iastore. */
+ OPCODE_LASTORE, /**< This enumerator holds the opcode value of the lastore instruction, 0x50.
+ \sa The instruction description lastore. */
+ OPCODE_FASTORE, /**< This enumerator holds the opcode value of the fastore instruction, 0x51.
+ \sa The instruction description fastore. */
+ OPCODE_DASTORE, /**< This enumerator holds the opcode value of the dastore instruction, 0x52.
+ \sa The instruction description dastore. */
+ OPCODE_AASTORE, /**< This enumerator holds the opcode value of the aastore instruction, 0x53.
+ \sa The instruction description aastore. */
+ OPCODE_BASTORE, /**< This enumerator holds the opcode value of the bastore instruction, 0x54.
+ \sa The instruction description bastore. */
+ OPCODE_CASTORE, /**< This enumerator holds the opcode value of the castore instruction, 0x55.
+ \sa The instruction description castore. */
+ OPCODE_SASTORE, /**< This enumerator holds the opcode value of the sastore instruction, 0x56.
+ \sa The instruction description sastore. */
+ OPCODE_POP, /**< This enumerator holds the opcode value of the pop instruction, 0x57.
+ \sa The instruction description pop. */
+ OPCODE_POP2, /**< This enumerator holds the opcode value of the pop2 instruction, 0x58.
+ \sa The instruction description pop2. */
+ OPCODE_DUP, /**< This enumerator holds the opcode value of the dup instruction, 0x59.
+ \sa The instruction description dup. */
+ OPCODE_DUP_X1, /**< This enumerator holds the opcode value of the dup_x1 instruction, 0x5a.
+ \sa The instruction description dup_x1. */
+ OPCODE_DUP_X2, /**< This enumerator holds the opcode value of the dup_x2 instruction, 0x5b.
+ \sa The instruction description dup_x2. */
+ OPCODE_DUP2, /**< This enumerator holds the opcode value of the dup2 instruction, 0x5c.
+ \sa The instruction description dup2. */
+ OPCODE_DUP2_X1, /**< This enumerator holds the opcode value of the dup2_x1 instruction, 0x5d.
+ \sa The instruction description dup2_x1. */
+ OPCODE_DUP2_X2, /**< This enumerator holds the opcode value of the dup2_x2 instruction, 0x5e.
+ \sa The instruction description dup2_x2. */
+ OPCODE_SWAP, /**< This enumerator holds the opcode value of the swap instruction, 0x5f.
+ \sa The instruction description swap. */
+ OPCODE_IADD, /**< This enumerator holds the opcode value of the iadd instruction, 0x60.
+ \sa The instruction description iadd. */
+ OPCODE_LADD, /**< This enumerator holds the opcode value of the ladd instruction, 0x61.
+ \sa The instruction description ladd. */
+ OPCODE_FADD, /**< This enumerator holds the opcode value of the fadd instruction, 0x62.
+ \sa The instruction description fadd. */
+ OPCODE_DADD, /**< This enumerator holds the opcode value of the dadd instruction, 0x63.
+ \sa The instruction description dadd. */
+ OPCODE_ISUB, /**< This enumerator holds the opcode value of the isub instruction, 0x64.
+ \sa The instruction description isub. */
+ OPCODE_LSUB, /**< This enumerator holds the opcode value of the lsub instruction, 0x65.
+ \sa The instruction description lsub. */
+ OPCODE_FSUB, /**< This enumerator holds the opcode value of the fsub instruction, 0x66.
+ \sa The instruction description fsub. */
+ OPCODE_DSUB, /**< This enumerator holds the opcode value of the dsub instruction, 0x67.
+ \sa The instruction description dsub. */
+ OPCODE_IMUL, /**< This enumerator holds the opcode value of the imul instruction, 0x68.
+ \sa The instruction description imul. */
+ OPCODE_LMUL, /**< This enumerator holds the opcode value of the lmul instruction, 0x69.
+ \sa The instruction description lmul. */
+ OPCODE_FMUL, /**< This enumerator holds the opcode value of the fmul instruction, 0x6a.
+ \sa The instruction description fmul. */
+ OPCODE_DMUL, /**< This enumerator holds the opcode value of the dmul instruction, 0x6b.
+ \sa The instruction description dmul. */
+ OPCODE_IDIV, /**< This enumerator holds the opcode value of the idiv instruction, 0x6c.
+ \sa The instruction description idiv. */
+ OPCODE_LDIV, /**< This enumerator holds the opcode value of the ldiv instruction, 0x6d.
+ \sa The instruction description ldiv. */
+ OPCODE_FDIV, /**< This enumerator holds the opcode value of the fdiv instruction, 0x6e.
+ \sa The instruction description fdiv. */
+ OPCODE_DDIV, /**< This enumerator holds the opcode value of the ddiv instruction, 0x6f.
+ \sa The instruction description ddiv. */
+ OPCODE_IREM, /**< This enumerator holds the opcode value of the irem instruction, 0x70.
+ \sa The instruction description irem. */
+ OPCODE_LREM, /**< This enumerator holds the opcode value of the lrem instruction, 0x71.
+ \sa The instruction description lrem. */
+ OPCODE_FREM, /**< This enumerator holds the opcode value of the frem instruction, 0x72.
+ \sa The instruction description frem. */
+ OPCODE_DREM, /**< This enumerator holds the opcode value of the drem instruction, 0x73.
+ \sa The instruction description drem. */
+ OPCODE_INEG, /**< This enumerator holds the opcode value of the ineg instruction, 0x74.
+ \sa The instruction description ineg. */
+ OPCODE_LNEG, /**< This enumerator holds the opcode value of the lneg instruction, 0x75.
+ \sa The instruction description lneg. */
+ OPCODE_FNEG, /**< This enumerator holds the opcode value of the fneg instruction, 0x76.
+ \sa The instruction description fneg. */
+ OPCODE_DNEG, /**< This enumerator holds the opcode value of the dneg instruction, 0x77.
+ \sa The instruction description dneg. */
+ OPCODE_ISHL, /**< This enumerator holds the opcode value of the ishl instruction, 0x78.
+ \sa The instruction description ishl. */
+ OPCODE_LSHL, /**< This enumerator holds the opcode value of the lshl instruction, 0x79.
+ \sa The instruction description lshl. */
+ OPCODE_ISHR, /**< This enumerator holds the opcode value of the ishr instruction, 0x7a.
+ \sa The instruction description ishr. */
+ OPCODE_LSHR, /**< This enumerator holds the opcode value of the lshr instruction, 0x7b.
+ \sa The instruction description lshr. */
+ OPCODE_IUSHR, /**< This enumerator holds the opcode value of the iushr instruction, 0x7c.
+ \sa The instruction description iushr. */
+ OPCODE_LUSHR, /**< This enumerator holds the opcode value of the lushr instruction, 0x7d.
+ \sa The instruction description lushr. */
+ OPCODE_IAND, /**< This enumerator holds the opcode value of the iand instruction, 0x7e.
+ \sa The instruction description iand. */
+ OPCODE_LAND, /**< This enumerator holds the opcode value of the land instruction, 0x7f.
+ \sa The instruction description land. */
+ OPCODE_IOR, /**< This enumerator holds the opcode value of the ior instruction, 0x80.
+ \sa The instruction description ior. */
+ OPCODE_LOR, /**< This enumerator holds the opcode value of the lor instruction, 0x81.
+ \sa The instruction description lor. */
+ OPCODE_IXOR, /**< This enumerator holds the opcode value of the ixor instruction, 0x82.
+ \sa The instruction description ixor. */
+ OPCODE_LXOR, /**< This enumerator holds the opcode value of the lxor instruction, 0x83.
+ \sa The instruction description lxor. */
+ OPCODE_IINC, /**< This enumerator holds the opcode value of the iinc instruction, 0x84 + u1|u2 + s1|s2.
+ \sa The instruction description iinc. */
+ OPCODE_I2L, /**< This enumerator holds the opcode value of the i2l instruction, 0x85.
+ \sa The instruction description i2l. */
+ OPCODE_I2F, /**< This enumerator holds the opcode value of the i2f instruction, 0x86.
+ \sa The instruction description i2f. */
+ OPCODE_I2D, /**< This enumerator holds the opcode value of the i2d instruction, 0x87.
+ \sa The instruction description i2d. */
+ OPCODE_L2I, /**< This enumerator holds the opcode value of the l2i instruction, 0x88.
+ \sa The instruction description l2i. */
+ OPCODE_L2F, /**< This enumerator holds the opcode value of the l2f instruction, 0x89.
+ \sa The instruction description l2f. */
+ OPCODE_L2D, /**< This enumerator holds the opcode value of the l2d instruction, 0x8a.
+ \sa The instruction description l2d. */
+ OPCODE_F2I, /**< This enumerator holds the opcode value of the f2i instruction, 0x8b.
+ \sa The instruction description f2i. */
+ OPCODE_F2L, /**< This enumerator holds the opcode value of the f2l instruction, 0x8c.
+ \sa The instruction description f2l. */
+ OPCODE_F2D, /**< This enumerator holds the opcode value of the f2d instruction, 0x8d.
+ \sa The instruction description f2d. */
+ OPCODE_D2I, /**< This enumerator holds the opcode value of the d2i instruction, 0x8e.
+ \sa The instruction description d2i. */
+ OPCODE_D2L, /**< This enumerator holds the opcode value of the d2l instruction, 0x8f.
+ \sa The instruction description d2l. */
+ OPCODE_D2F, /**< This enumerator holds the opcode value of the d2f instruction, 0x90.
+ \sa The instruction description d2f. */
+ OPCODE_I2B, /**< This enumerator holds the opcode value of the i2b instruction, 0x91.
+ \sa The instruction description i2b. */
+ OPCODE_I2C, /**< This enumerator holds the opcode value of the i2c instruction, 0x92.
+ \sa The instruction description i2c. */
+ OPCODE_I2S, /**< This enumerator holds the opcode value of the i2s instruction, 0x93.
+ \sa The instruction description i2s. */
+ OPCODE_LCMP, /**< This enumerator holds the opcode value of the lcmp instruction, 0x94.
+ \sa The instruction description lcmp. */
+ OPCODE_FCMPL, /**< This enumerator holds the opcode value of the fcmpl instruction, 0x95.
+ \sa The instruction description fcmpl. */
+ OPCODE_FCMPG, /**< This enumerator holds the opcode value of the fcmpg instruction, 0x96.
+ \sa The instruction description fcmpg. */
+ OPCODE_DCMPL, /**< This enumerator holds the opcode value of the dcmpl instruction, 0x97.
+ \sa The instruction description dcmpl. */
+ OPCODE_DCMPG, /**< This enumerator holds the opcode value of the dcmpg instruction, 0x98.
+ \sa The instruction description dcmpg. */
+ OPCODE_IFEQ, /**< This enumerator holds the opcode value of the ifeq instruction, 0x99 + s2 (c).
+ \sa The instruction description ifeq. */
+ OPCODE_IFNE, /**< This enumerator holds the opcode value of the ifne instruction, 0x9a + s2 (c).
+ \sa The instruction description ifne. */
+ OPCODE_IFLT, /**< This enumerator holds the opcode value of the iflt instruction, 0x9b + s2 (c).
+ \sa The instruction description iflt. */
+ OPCODE_IFGE, /**< This enumerator holds the opcode value of the ifge instruction, 0x9c + s2 (c).
+ \sa The instruction description ifge. */
+ OPCODE_IFGT, /**< This enumerator holds the opcode value of the ifgt instruction, 0x9d + s2 (c).
+ \sa The instruction description ifgt. */
+ OPCODE_IFLE, /**< This enumerator holds the opcode value of the ifle instruction, 0x9e + s2 (c).
+ \sa The instruction description ifle. */
+ OPCODE_IF_ICMPEQ, /**< This enumerator holds the opcode value of the if_icmpeq instruction, 0x9f + s2 (c).
+ \sa The instruction description if_icmpeq. */
+ OPCODE_IF_ICMPNE, /**< This enumerator holds the opcode value of the if_icmpne instruction, 0xa0 + s2 (c).
+ \sa The instruction description if_icmpne. */
+ OPCODE_IF_ICMPLT, /**< This enumerator holds the opcode value of the if_icmplt instruction, 0xa1 + s2 (c).
+ \sa The instruction description if_icmplt. */
+ OPCODE_IF_ICMPGE, /**< This enumerator holds the opcode value of the if_icmpge instruction, 0xa2 + s2 (c).
+ \sa The instruction description if_icmpge. */
+ OPCODE_IF_ICMPGT, /**< This enumerator holds the opcode value of the if_icmpgt instruction, 0xa3 + s2 (c).
+ \sa The instruction description if_icmpgt. */
+ OPCODE_IF_ICMPLE, /**< This enumerator holds the opcode value of the if_icmple instruction, 0xa4 + s2 (c).
+ \sa The instruction description if_icmple. */
+ OPCODE_IF_ACMPEQ, /**< This enumerator holds the opcode value of the if_acmpeq instruction, 0xa5 + s2 (c).
+ \sa The instruction description if_acmpeq. */
+ OPCODE_IF_ACMPNE, /**< This enumerator holds the opcode value of the if_acmpne instruction, 0xa6 + s2 (c).
+ \sa The instruction description if_acmpne. */
+ OPCODE_GOTO, /**< This enumerator holds the opcode value of the goto instruction, 0xa7 + s2 (c).
+ \sa The instruction description goto. */
+ OPCODE_JSR, /**< This enumerator holds the opcode value of the jsr instruction, 0xa8 + s2 (c).
+ \sa The instruction description jsr. */
+ OPCODE_RET, /**< This enumerator holds the opcode value of the ret instruction, 0xa9 + u1|u2 (c).
+ \sa The instruction description ret. */
+ OPCODE_TABLESWITCH, /**< This enumerator holds the opcode value of the tableswitch instruction, 0xaa + pad + s4 * (3 + N) (c).
+ \sa The instruction description tableswitch. */
+ OPCODE_LOOKUPSWITCH, /**< This enumerator holds the opcode value of the lookupswitch instruction, 0xab +pad +s4 * 2 * (N + 1) (c).
+ \sa The instruction description lookupswitch. */
+ OPCODE_IRETURN, /**< This enumerator holds the opcode value of the ireturn instruction, 0xac (c).
+ \sa The instruction description ireturn. */
+ OPCODE_LRETURN, /**< This enumerator holds the opcode value of the lreturn instruction, 0xad (c).
+ \sa The instruction description lreturn. */
+ OPCODE_FRETURN, /**< This enumerator holds the opcode value of the freturn instruction, 0xae (c).
+ \sa The instruction description freturn. */
+ OPCODE_DRETURN, /**< This enumerator holds the opcode value of the dreturn instruction, 0xaf (c).
+ \sa The instruction description dreturn. */
+ OPCODE_ARETURN, /**< This enumerator holds the opcode value of the areturn instruction, 0xb0 (c).
+ \sa The instruction description areturn. */
+ OPCODE_RETURN, /**< This enumerator holds the opcode value of the return instruction, 0xb1 (c).
+ \sa The instruction description return. */
+ OPCODE_GETSTATIC, /**< This enumerator holds the opcode value of the getstatic instruction, 0xb2 + u2.
+ \sa The instruction description getstatic. */
+ OPCODE_PUTSTATIC, /**< This enumerator holds the opcode value of the putstatic instruction, 0xb3 + u2.
+ \sa The instruction description putstatic. */
+ OPCODE_GETFIELD, /**< This enumerator holds the opcode value of the getfield instruction, 0xb4 + u2.
+ \sa The instruction description getfield. */
+ OPCODE_PUTFIELD, /**< This enumerator holds the opcode value of the putfield instruction, 0xb5 + u2.
+ \sa The instruction description putfield. */
+ OPCODE_INVOKEVIRTUAL, /**< This enumerator holds the opcode value of the invokevirtual instruction, 0xb6 + u2.
+ \sa The instruction description invokevirtual. */
+ OPCODE_INVOKESPECIAL, /**< This enumerator holds the opcode value of the invokespecial instruction, 0xb7 + u2.
+ \sa The instruction description invokespecial. */
+ OPCODE_INVOKESTATIC, /**< This enumerator holds the opcode value of the invokestatic instruction, 0xb8 + u2.
+ \sa The instruction description invokestatic. */
+ OPCODE_INVOKEINTERFACE, /**< This enumerator holds the opcode value of the invokeinterface instruction, 0xb9 + u2 + u1 + u1.
+ \sa The instruction description invokeinterface. */
+ _OPCODE_UNDEFINED, /**< This enumerator holds the opcode value of the unused instruction, 0xba. */
+ OPCODE_NEW, /**< This enumerator holds the opcode value of the new instruction, 0xbb + u2.
+ \sa The instruction description new. */
+ OPCODE_NEWARRAY, /**< This enumerator holds the opcode value of the newarray instruction, 0xbc + u1.
+ \sa The instruction description newarray. */
+ OPCODE_ANEWARRAY, /**< This enumerator holds the opcode value of the anewarray instruction, 0xbd + u1.
+ \sa The instruction description anewarray. */
+ OPCODE_ARRAYLENGTH, /**< This enumerator holds the opcode value of the arraylength instruction, 0xbe.
+ \sa The instruction description arraylength. */
+ OPCODE_ATHROW, /**< This enumerator holds the opcode value of the athrow instruction, 0xbf (c).
+ \sa The instruction description athrow. */
+ OPCODE_CHECKCAST, /**< This enumerator holds the opcode value of the checkcast instruction, 0xc0 + u2.
+ \sa The instruction description checkcast. */
+ OPCODE_INSTANCEOF, /**< This enumerator holds the opcode value of the instanceof instruction, 0xc1 + u2.
+ \sa The instruction description instanceof. */
+ OPCODE_MONITORENTER, /**< This enumerator holds the opcode value of the monitorenter instruction, 0xc2.
+ \sa The instruction description monitorenter. */
+ OPCODE_MONITOREXIT, /**< This enumerator holds the opcode value of the monitorexit instruction, 0xc3.
+ \sa The instruction description monitorexit. */
+ OPCODE_WIDE, /**< This enumerator holds the opcode value of the wide instruction, 0xc4.
+ \sa The instruction description wide. */
+ OPCODE_MULTIANEWARRAY, /**< This enumerator holds the opcode value of the multianewarray instruction, 0xc5 + u2 + u1.
+ \sa The instruction description multianewarray. */
+ OPCODE_IFNULL, /**< This enumerator holds the opcode value of the ifnull instruction, 0xc6 + s2 (c).
+ \sa The instruction description ifnull. */
+ OPCODE_IFNONNULL, /**< This enumerator holds the opcode value of the ifnonnull instruction, 0xc7 + s2 (c).
+ \sa The instruction description ifnonnull. */
+ OPCODE_GOTO_W, /**< This enumerator holds the opcode value of the goto_w instruction, 0xc8 + s4 (c).
+ \sa The instruction description goto_w. */
+ OPCODE_JSR_W, /**< This enumerator holds the opcode value of the jsr_w instruction, 0xc9 + s4 (c).
+ \sa The instruction description jsr_w. */
+ OPCODE_COUNT, /**< This enumerator holds number of bytecodes, 0xca. */
// extended bytecodes
- OPCODE_BREAKPOINT = OPCODE_COUNT /* 0xca */
+ OPCODE_BREAKPOINT = OPCODE_COUNT /**< This enumerator holds the opcode value of the extended instruction, 0xca. */
+
#ifdef FAST_BYTECODES
,
OPCODE_FAST_GETFIELD_REF, /* 0xcb */