37 /* Flags */ 38 39 enum { 40 JVM_ACC_PUBLIC = 0x0001, 41 JVM_ACC_PRIVATE = 0x0002, 42 JVM_ACC_PROTECTED = 0x0004, 43 JVM_ACC_STATIC = 0x0008, 44 JVM_ACC_FINAL = 0x0010, 45 JVM_ACC_SYNCHRONIZED = 0x0020, 46 JVM_ACC_SUPER = 0x0020, 47 JVM_ACC_VOLATILE = 0x0040, 48 JVM_ACC_BRIDGE = 0x0040, 49 JVM_ACC_TRANSIENT = 0x0080, 50 JVM_ACC_VARARGS = 0x0080, 51 JVM_ACC_NATIVE = 0x0100, 52 JVM_ACC_INTERFACE = 0x0200, 53 JVM_ACC_ABSTRACT = 0x0400, 54 JVM_ACC_STRICT = 0x0800, 55 JVM_ACC_SYNTHETIC = 0x1000, 56 JVM_ACC_ANNOTATION = 0x2000, 57 JVM_ACC_ENUM = 0x4000 58 }; 59 60 /* Used in newarray instruction. */ 61 62 enum { 63 JVM_T_BOOLEAN = 4, 64 JVM_T_CHAR = 5, 65 JVM_T_FLOAT = 6, 66 JVM_T_DOUBLE = 7, 67 JVM_T_BYTE = 8, 68 JVM_T_SHORT = 9, 69 JVM_T_INT = 10, 70 JVM_T_LONG = 11 71 }; 72 73 /* Constant Pool Entries */ 74 75 enum { 76 JVM_CONSTANT_Utf8 = 1, 77 JVM_CONSTANT_Unicode = 2, /* unused */ 78 JVM_CONSTANT_Integer = 3, 79 JVM_CONSTANT_Float = 4, 80 JVM_CONSTANT_Long = 5, 81 JVM_CONSTANT_Double = 6, 82 JVM_CONSTANT_Class = 7, 83 JVM_CONSTANT_String = 8, 84 JVM_CONSTANT_Fieldref = 9, 85 JVM_CONSTANT_Methodref = 10, 86 JVM_CONSTANT_InterfaceMethodref = 11, 87 JVM_CONSTANT_NameAndType = 12, 88 JVM_CONSTANT_MethodHandle = 15, // JSR 292 89 JVM_CONSTANT_MethodType = 16, // JSR 292 90 JVM_CONSTANT_InvokeDynamic = 18 91 }; 92 93 /* JVM_CONSTANT_MethodHandle subtypes */ 94 enum { 95 JVM_REF_getField = 1, 96 JVM_REF_getStatic = 2, 97 JVM_REF_putField = 3, 98 JVM_REF_putStatic = 4, 99 JVM_REF_invokeVirtual = 5, 100 JVM_REF_invokeStatic = 6, 101 JVM_REF_invokeSpecial = 7, 102 JVM_REF_newInvokeSpecial = 8, 103 JVM_REF_invokeInterface = 9 104 }; 105 106 /* StackMapTable type item numbers */ 107 108 enum { 109 JVM_ITEM_Top = 0, 110 JVM_ITEM_Integer = 1, | 37 /* Flags */ 38 39 enum { 40 JVM_ACC_PUBLIC = 0x0001, 41 JVM_ACC_PRIVATE = 0x0002, 42 JVM_ACC_PROTECTED = 0x0004, 43 JVM_ACC_STATIC = 0x0008, 44 JVM_ACC_FINAL = 0x0010, 45 JVM_ACC_SYNCHRONIZED = 0x0020, 46 JVM_ACC_SUPER = 0x0020, 47 JVM_ACC_VOLATILE = 0x0040, 48 JVM_ACC_BRIDGE = 0x0040, 49 JVM_ACC_TRANSIENT = 0x0080, 50 JVM_ACC_VARARGS = 0x0080, 51 JVM_ACC_NATIVE = 0x0100, 52 JVM_ACC_INTERFACE = 0x0200, 53 JVM_ACC_ABSTRACT = 0x0400, 54 JVM_ACC_STRICT = 0x0800, 55 JVM_ACC_SYNTHETIC = 0x1000, 56 JVM_ACC_ANNOTATION = 0x2000, 57 JVM_ACC_ENUM = 0x4000, 58 JVM_ACC_MODULE = 0x8000 59 }; 60 61 #define JVM_ACC_PUBLIC_BIT 0 62 #define JVM_ACC_PRIVATE_BIT 1 63 #define JVM_ACC_PROTECTED_BIT 2 64 #define JVM_ACC_STATIC_BIT 3 65 #define JVM_ACC_FINAL_BIT 4 66 #define JVM_ACC_SYNCHRONIZED_BIT 5 67 #define JVM_ACC_SUPER_BIT 5 68 #define JVM_ACC_VOLATILE_BIT 6 69 #define JVM_ACC_BRIDGE_BIT 6 70 #define JVM_ACC_TRANSIENT_BIT 7 71 #define JVM_ACC_VARARGS_BIT 7 72 #define JVM_ACC_NATIVE_BIT 8 73 #define JVM_ACC_INTERFACE_BIT 9 74 #define JVM_ACC_ABSTRACT_BIT 10 75 #define JVM_ACC_STRICT_BIT 11 76 #define JVM_ACC_SYNTHETIC_BIT 12 77 #define JVM_ACC_ANNOTATION_BIT 13 78 #define JVM_ACC_ENUM_BIT 14 79 80 /* Used in newarray instruction. */ 81 82 enum { 83 JVM_T_BOOLEAN = 4, 84 JVM_T_CHAR = 5, 85 JVM_T_FLOAT = 6, 86 JVM_T_DOUBLE = 7, 87 JVM_T_BYTE = 8, 88 JVM_T_SHORT = 9, 89 JVM_T_INT = 10, 90 JVM_T_LONG = 11 91 }; 92 93 /* Constant Pool Entries */ 94 95 enum { 96 JVM_CONSTANT_Utf8 = 1, 97 JVM_CONSTANT_Unicode = 2, /* unused */ 98 JVM_CONSTANT_Integer = 3, 99 JVM_CONSTANT_Float = 4, 100 JVM_CONSTANT_Long = 5, 101 JVM_CONSTANT_Double = 6, 102 JVM_CONSTANT_Class = 7, 103 JVM_CONSTANT_String = 8, 104 JVM_CONSTANT_Fieldref = 9, 105 JVM_CONSTANT_Methodref = 10, 106 JVM_CONSTANT_InterfaceMethodref = 11, 107 JVM_CONSTANT_NameAndType = 12, 108 JVM_CONSTANT_MethodHandle = 15, // JSR 292 109 JVM_CONSTANT_MethodType = 16, // JSR 292 110 JVM_CONSTANT_InvokeDynamic = 18, 111 JVM_CONSTANT_ExternalMax = 18 112 }; 113 114 /* JVM_CONSTANT_MethodHandle subtypes */ 115 enum { 116 JVM_REF_getField = 1, 117 JVM_REF_getStatic = 2, 118 JVM_REF_putField = 3, 119 JVM_REF_putStatic = 4, 120 JVM_REF_invokeVirtual = 5, 121 JVM_REF_invokeStatic = 6, 122 JVM_REF_invokeSpecial = 7, 123 JVM_REF_newInvokeSpecial = 8, 124 JVM_REF_invokeInterface = 9 125 }; 126 127 /* StackMapTable type item numbers */ 128 129 enum { 130 JVM_ITEM_Top = 0, 131 JVM_ITEM_Integer = 1, |