00001 #ifndef _opcode_h_included_
00002 #define _opcode_h_included_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 ARCH_COPYRIGHT_APACHE(opcode, h, "$URL: https://svn.apache.org/path/name/opcode.h $ $Id: opcode.h 0 09/28/2005 dlydick $");
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053 #define OPCODE_00_NOP 0x00
00054 #define OPCODE_01_ACONST_NULL 0x01
00055 #define OPCODE_02_ICONST_M1 0x02
00056 #define OPCODE_03_ICONST_0 0x03
00057 #define OPCODE_04_ICONST_1 0x04
00058 #define OPCODE_05_ICONST_2 0x05
00059 #define OPCODE_06_ICONST_3 0x06
00060 #define OPCODE_07_ICONST_4 0x07
00061 #define OPCODE_08_ICONST_5 0x08
00062 #define OPCODE_09_LCONST_0 0x09
00063 #define OPCODE_0A_LCONST_1 0x0a
00064 #define OPCODE_0B_FCONST_0 0x0b
00065 #define OPCODE_0C_FCONST_1 0x0c
00066 #define OPCODE_0D_FCONST_2 0x0d
00067 #define OPCODE_0E_DCONST_0 0x0e
00068 #define OPCODE_0F_DCONST_1 0x0f
00069 #define OPCODE_10_BIPUSH 0x10
00070 #define OPCODE_11_SIPUSH 0x11
00071 #define OPCODE_12_LDC 0x12
00072 #define OPCODE_13_LDC_W 0x13
00073 #define OPCODE_14_LDC2_W 0x14
00074 #define OPCODE_15_ILOAD 0x15
00075 #define OPCODE_16_LLOAD 0x16
00076 #define OPCODE_17_FLOAD 0x17
00077 #define OPCODE_18_DLOAD 0x18
00078 #define OPCODE_19_ALOAD 0x19
00079 #define OPCODE_1A_ILOAD_0 0x1a
00080 #define OPCODE_1B_ILOAD_1 0x1b
00081 #define OPCODE_1C_ILOAD_2 0x1c
00082 #define OPCODE_1D_ILOAD_3 0x1d
00083 #define OPCODE_1E_LLOAD_0 0x1e
00084 #define OPCODE_1F_LLOAD_1 0x1f
00085 #define OPCODE_20_LLOAD_2 0x20
00086 #define OPCODE_21_LLOAD_3 0x21
00087 #define OPCODE_22_FLOAD_0 0x22
00088 #define OPCODE_23_FLOAD_1 0x23
00089 #define OPCODE_24_FLOAD_2 0x24
00090 #define OPCODE_25_FLOAD_3 0x25
00091 #define OPCODE_26_DLOAD_0 0x26
00092 #define OPCODE_27_DLOAD_1 0x27
00093 #define OPCODE_28_DLOAD_2 0x28
00094 #define OPCODE_29_DLOAD_3 0x29
00095 #define OPCODE_2A_ALOAD_0 0x2a
00096 #define OPCODE_2B_ALOAD_1 0x2b
00097 #define OPCODE_2C_ALOAD_2 0x2c
00098 #define OPCODE_2D_ALOAD_3 0x2d
00099 #define OPCODE_2E_IALOAD 0x2e
00100 #define OPCODE_2F_LALOAD 0x2f
00101 #define OPCODE_30_FALOAD 0x30
00102 #define OPCODE_31_DALOAD 0x31
00103 #define OPCODE_32_AALOAD 0x32
00104 #define OPCODE_33_BALOAD 0x33
00105 #define OPCODE_34_CALOAD 0x34
00106 #define OPCODE_35_SALOAD 0x35
00107 #define OPCODE_36_ISTORE 0x36
00108 #define OPCODE_37_LSTORE 0x37
00109 #define OPCODE_38_FSTORE 0x38
00110 #define OPCODE_39_DSTORE 0x39
00111 #define OPCODE_3A_ASTORE 0x3a
00112 #define OPCODE_3B_ISTORE_0 0x3b
00113 #define OPCODE_3C_ISTORE_1 0x3c
00114 #define OPCODE_3D_ISTORE_2 0x3d
00115 #define OPCODE_3E_ISTORE_3 0x3e
00116 #define OPCODE_3F_LSTORE_0 0x3f
00117 #define OPCODE_40_LSTORE_1 0x40
00118 #define OPCODE_41_LSTORE_2 0x41
00119 #define OPCODE_42_LSTORE_3 0x42
00120 #define OPCODE_43_FSTORE_0 0x43
00121 #define OPCODE_44_FSTORE_1 0x44
00122 #define OPCODE_45_FSTORE_2 0x45
00123 #define OPCODE_46_FSTORE_3 0x46
00124 #define OPCODE_47_DSTORE_0 0x47
00125 #define OPCODE_48_DSTORE_1 0x48
00126 #define OPCODE_49_DSTORE_2 0x49
00127 #define OPCODE_4A_DSTORE_3 0x4a
00128 #define OPCODE_4B_ASTORE_0 0x4b
00129 #define OPCODE_4C_ASTORE_1 0x4c
00130 #define OPCODE_4D_ASTORE_2 0x4d
00131 #define OPCODE_4E_ASTORE_3 0x4e
00132 #define OPCODE_4F_IASTORE 0x4f
00133 #define OPCODE_50_LASTORE 0x50
00134 #define OPCODE_51_FASTORE 0x51
00135 #define OPCODE_52_DASTORE 0x52
00136 #define OPCODE_53_AASTORE 0x53
00137 #define OPCODE_54_BASTORE 0x54
00138 #define OPCODE_55_CASTORE 0x55
00139 #define OPCODE_56_SASTORE 0x56
00140 #define OPCODE_57_POP 0x57
00141 #define OPCODE_58_POP2 0x58
00142 #define OPCODE_59_DUP 0x59
00143 #define OPCODE_5A_DUP_X1 0x5a
00144 #define OPCODE_5B_DUP_X2 0x5b
00145 #define OPCODE_5C_DUP2 0x5C
00146 #define OPCODE_5D_DUP2_X1 0x5d
00147 #define OPCODE_5E_DUP2_X2 0x5e
00148 #define OPCODE_5F_SWAP 0x5f
00149 #define OPCODE_60_IADD 0x60
00150 #define OPCODE_61_LADD 0x61
00151 #define OPCODE_62_FADD 0x62
00152 #define OPCODE_63_DADD 0x63
00153 #define OPCODE_64_ISUB 0x64
00154 #define OPCODE_65_LSUB 0x65
00155 #define OPCODE_66_FSUB 0x66
00156 #define OPCODE_67_DSUB 0x67
00157 #define OPCODE_68_IMUL 0x68
00158 #define OPCODE_69_LMUL 0x69
00159 #define OPCODE_6A_FMUL 0x6a
00160 #define OPCODE_6B_DMUL 0x6b
00161 #define OPCODE_6C_IDIV 0x6c
00162 #define OPCODE_6D_LDIV 0x6d
00163 #define OPCODE_6E_FDIV 0x6e
00164 #define OPCODE_6F_DDIV 0x6f
00165 #define OPCODE_70_IREM 0x70
00166 #define OPCODE_71_LREM 0x71
00167 #define OPCODE_72_FREM 0x72
00168 #define OPCODE_73_DREM 0x73
00169 #define OPCODE_74_INEG 0x74
00170 #define OPCODE_75_LNEG 0x75
00171 #define OPCODE_76_FNEG 0x76
00172 #define OPCODE_77_DNEG 0x77
00173 #define OPCODE_78_ISHL 0x78
00174 #define OPCODE_79_LSHL 0x79
00175 #define OPCODE_7A_ISHR 0x7a
00176 #define OPCODE_7B_LSHR 0x7b
00177 #define OPCODE_7C_IUSHR 0x7c
00178 #define OPCODE_7D_LUSHR 0x7d
00179 #define OPCODE_7E_IAND 0x7e
00180 #define OPCODE_7F_LAND 0x7f
00181 #define OPCODE_80_IOR 0x80
00182 #define OPCODE_81_LOR 0x81
00183 #define OPCODE_82_IXOR 0x82
00184 #define OPCODE_83_LXOR 0x83
00185 #define OPCODE_84_IINC 0x84
00186 #define OPCODE_85_I2L 0x85
00187 #define OPCODE_86_I2F 0x86
00188 #define OPCODE_87_I2D 0x87
00189 #define OPCODE_88_L2I 0x88
00190 #define OPCODE_89_L2F 0x89
00191 #define OPCODE_8A_L2D 0x8a
00192 #define OPCODE_8B_F2I 0x8b
00193 #define OPCODE_8C_F2L 0x8c
00194 #define OPCODE_8D_F2D 0x8d
00195 #define OPCODE_8E_D2I 0x8e
00196 #define OPCODE_8F_D2L 0x8f
00197 #define OPCODE_90_D2F 0x90
00198 #define OPCODE_91_I2B 0x91
00199 #define OPCODE_92_I2C 0x92
00200 #define OPCODE_93_I2S 0x93
00201 #define OPCODE_94_LCMP 0x94
00202 #define OPCODE_95_FCMPL 0x95
00203 #define OPCODE_96_FCMPG 0x96
00204 #define OPCODE_97_DCMPL 0x97
00205 #define OPCODE_98_DCMPG 0x98
00206 #define OPCODE_99_IFEQ 0x99
00207 #define OPCODE_9A_IFNE 0x9a
00208 #define OPCODE_9B_IFLT 0x9b
00209 #define OPCODE_9C_IFGE 0x9c
00210 #define OPCODE_9D_IFGT 0x9d
00211 #define OPCODE_9E_IFLE 0x9e
00212 #define OPCODE_9F_IF_ICMPEQ 0x9f
00213 #define OPCODE_A0_IF_ICMPNE 0xa0
00214 #define OPCODE_A1_IF_ICMPLT 0xa1
00215 #define OPCODE_A2_IF_ICMPGE 0xa2
00216 #define OPCODE_A3_IF_ICMPGT 0xa3
00217 #define OPCODE_A4_IF_ICMPLE 0xa4
00218 #define OPCODE_A5_IF_ACMPEQ 0xa5
00219 #define OPCODE_A6_IF_ACMPNE 0xa6
00220 #define OPCODE_A7_GOTO 0xa7
00221 #define OPCODE_A8_JSR 0xa8
00222 #define OPCODE_A9_RET 0xa9
00223 #define OPCODE_AA_TABLESWITCH 0xaa
00224 #define OPCODE_AB_LOOKUPSWITCH 0xab
00225 #define OPCODE_AC_IRETURN 0xac
00226 #define OPCODE_AD_LRETURN 0xad
00227 #define OPCODE_AE_FRETURN 0xae
00228 #define OPCODE_AF_DRETURN 0xaf
00229 #define OPCODE_B0_ARETURN 0xb0
00230 #define OPCODE_B1_RETURN 0xb1
00231 #define OPCODE_B2_GETSTATIC 0xb2
00232 #define OPCODE_B3_PUTSTATIC 0xb3
00233 #define OPCODE_B4_GETFIELD 0xb4
00234 #define OPCODE_B5_PUTFIELD 0xb5
00235 #define OPCODE_B6_INVOKEVIRTUAL 0xb6
00236 #define OPCODE_B7_INVOKESPECIAL 0xb7
00237 #define OPCODE_B8_INVOKESTATIC 0xb8
00238 #define OPCODE_B9_INVOKEINTERFACE 0xb9
00239 #define OPCODE_BA_XXXUNUSEDXXX1 0xba
00240 #define OPCODE_BB_NEW 0xbb
00241 #define OPCODE_BC_NEWARRAY 0xbc
00242 #define OPCODE_BD_ANEWARRAY 0xbd
00243 #define OPCODE_BE_ARRAYLENGTH 0xbe
00244 #define OPCODE_BF_ATHROW 0xbf
00245 #define OPCODE_C0_CHECKCAST 0xc0
00246 #define OPCODE_C1_INSTANCEOF 0xc1
00247 #define OPCODE_C2_MONITORENTER 0xc2
00248 #define OPCODE_C3_MONITOREXIT 0xc3
00249 #define OPCODE_C4_WIDE 0xc4
00250 #define OPCODE_C5_MULTIANEWARRAY 0xc5
00251 #define OPCODE_C6_IFNULL 0xc6
00252 #define OPCODE_C7_IFNONNULL 0xc7
00253 #define OPCODE_C8_GOTO_W 0xc8
00254 #define OPCODE_C9_JSR_W 0xc9
00255 #define OPCODE_CA_BREAKPOINT 0xca
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267 #define OPCODE_CB_UNUSED 0xcb
00268 #define OPCODE_CC_UNUSED 0xcc
00269 #define OPCODE_CD_UNUSED 0xcd
00270 #define OPCODE_CE_UNUSED 0xce
00271 #define OPCODE_CF_UNUSED 0xcf
00272
00273 #define OPCODE_D0_UNUSED 0xd0
00274 #define OPCODE_D1_UNUSED 0xd1
00275 #define OPCODE_D2_UNUSED 0xd2
00276 #define OPCODE_D3_UNUSED 0xd3
00277 #define OPCODE_D4_UNUSED 0xd4
00278 #define OPCODE_D5_UNUSED 0xd5
00279 #define OPCODE_D6_UNUSED 0xd6
00280 #define OPCODE_D7_UNUSED 0xd7
00281 #define OPCODE_D8_UNUSED 0xd8
00282 #define OPCODE_D9_UNUSED 0xd9
00283 #define OPCODE_DA_UNUSED 0xda
00284 #define OPCODE_DB_UNUSED 0xdb
00285 #define OPCODE_DC_UNUSED 0xdc
00286 #define OPCODE_DD_UNUSED 0xdd
00287 #define OPCODE_DE_UNUSED 0xde
00288 #define OPCODE_DF_UNUSED 0xdf
00289
00290 #define OPCODE_E0_UNUSED 0xe0
00291 #define OPCODE_E1_UNUSED 0xe1
00292 #define OPCODE_E2_UNUSED 0xe2
00293 #define OPCODE_E3_UNUSED 0xe3
00294 #define OPCODE_E4_UNUSED 0xe4
00295 #define OPCODE_E5_UNUSED 0xe5
00296 #define OPCODE_E6_UNUSED 0xe6
00297 #define OPCODE_E7_UNUSED 0xe7
00298 #define OPCODE_E8_UNUSED 0xe8
00299 #define OPCODE_E9_UNUSED 0xe9
00300 #define OPCODE_EA_UNUSED 0xea
00301 #define OPCODE_EB_UNUSED 0xeb
00302 #define OPCODE_EC_UNUSED 0xec
00303 #define OPCODE_ED_UNUSED 0xed
00304 #define OPCODE_EE_UNUSED 0xee
00305 #define OPCODE_EF_UNUSED 0xef
00306
00307 #define OPCODE_F0_UNUSED 0xf0
00308 #define OPCODE_F1_UNUSED 0xf1
00309 #define OPCODE_F2_UNUSED 0xf2
00310 #define OPCODE_F3_UNUSED 0xf3
00311 #define OPCODE_F4_UNUSED 0xf4
00312 #define OPCODE_F5_UNUSED 0xf5
00313 #define OPCODE_F6_UNUSED 0xf6
00314 #define OPCODE_F7_UNUSED 0xf7
00315 #define OPCODE_F8_UNUSED 0xf8
00316 #define OPCODE_F9_UNUSED 0xf9
00317 #define OPCODE_FA_UNUSED 0xfa
00318 #define OPCODE_FB_UNUSED 0xfb
00319 #define OPCODE_FC_UNUSED 0xfc
00320 #define OPCODE_FD_UNUSED 0xfd
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331 #define OPCODE_FE_IMPDEP1 0xfe
00332 #define OPCODE_FF_IMPDEP2 0xff
00333
00334
00335
00336
00337
00338
00339 extern rboolean opcode_calling_java_lang_linkageerror;
00340
00341 extern rvoid opcode_load_run_throwable(rchar *pThrowableEvent,
00342 jvm_thread_index thridx);
00343
00344 extern rboolean opcode_run(jvm_thread_index thridx,
00345 rboolean check_timeslice);
00346
00347 #endif
00348
00349
00350