1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2  * This source file is part of SableVM.                            *
3  *                                                                 *
4  * See the file "LICENSE" for the copyright information and for    *
5  * the terms and conditions for copying, distribution and          *
6  * modification of this source file.                               *
7  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
8 
9 #ifndef SVM_CONSTANTS_H
10 #define SVM_CONSTANTS_H
11 
12 /* type state */
13 
14 #define SVM_TYPE_STATE_VERIFIED 0x0001
15 #define SVM_TYPE_STATE_PREPARED 0x0002
16 #define SVM_TYPE_STATE_INITIALIZED 0x0004
17 
18 /* array types */
19 #define SVM_T_BOOLEAN 4
20 #define SVM_T_CHAR 5
21 #define SVM_T_FLOAT 6
22 #define SVM_T_DOUBLE 7
23 #define SVM_T_BYTE 8
24 #define SVM_T_SHORT 9
25 #define SVM_T_INT 10
26 #define SVM_T_LONG 11
27 
28 /* constant pool tags */
29 #define SVM_CONSTANT_Utf8 1
30 #define SVM_CONSTANT_Integer 3
31 #define SVM_CONSTANT_Float 4
32 #define SVM_CONSTANT_Long 5
33 #define SVM_CONSTANT_Double 6
34 #define SVM_CONSTANT_Class 7
35 #define SVM_CONSTANT_String 8
36 #define SVM_CONSTANT_Fieldref 9
37 #define SVM_CONSTANT_Methodref 10
38 #define SVM_CONSTANT_InterfaceMethodref 11
39 #define SVM_CONSTANT_NameAndType 12
40 
41 /* access flags */
42 #define SVM_ACC_PUBLIC 0x0001
43 #define SVM_ACC_PRIVATE 0x0002
44 #define SVM_ACC_PROTECTED 0x0004
45 #define SVM_ACC_STATIC 0x0008
46 #define SVM_ACC_FINAL 0x0010
47 #define SVM_ACC_SUPER 0x0020
48 #define SVM_ACC_SYNCHRONIZED 0x0020
49 #define SVM_ACC_VOLATILE 0x0040
50 #define SVM_ACC_TRANSIENT 0x0080
51 #define SVM_ACC_NATIVE 0x0100
52 #define SVM_ACC_INTERFACE 0x0200
53 #define SVM_ACC_ABSTRACT 0x0400
54 #define SVM_ACC_STRICT 0x0800
55 #define SVM_ACC_INTERNAL 0x1000
56 
57 /* types */
58 #define SVM_TYPE_VOID 0
59 #define SVM_TYPE_BOOLEAN 1
60 #define SVM_TYPE_BYTE 2
61 #define SVM_TYPE_SHORT 3
62 #define SVM_TYPE_CHAR 4
63 #define SVM_TYPE_INT 5
64 #define SVM_TYPE_LONG 6
65 #define SVM_TYPE_FLOAT 7
66 #define SVM_TYPE_DOUBLE 8
67 #define SVM_TYPE_REFERENCE 9
68 
69 /* signal codes */
70 #define SVM_SIGNAL_NONE 0
71 #define SVM_SIGNAL_NULL_POINTER_EXCEPTION 1
72 #define SVM_SIGNAL_ARITHMETIC_EXCEPTION 2
73 
74 #ifdef _SABLEVM_INLINABILITY_TESTING
75 
76 #define SVM_SIGNAL_INLINING_FAILURE 3
77 
78 #define SVM_ALARM_PERIOD 60
79 
80 /* used by prepare_code.c:_svmf_no_inlining() calls */
81 #define SVM_IS_INLINED_FROM_SIGHANDLER 0
82 #define SVM_IS_INLINED_BYTECODE 1
83 #define SVM_IS_INLINED_METHOD 2
84 #define SVM_IS_INLINED_GET_BACKTRACE 3
85 #define SVM_IS_INLINED_HISTORY_SIZE 20
86 
87 /* BCI stands for Bytecode Inlinability - NOTE: 1 and 2 are *masks* */
88 #define SVM_BCI_UNTESTED 0
89 #define SVM_BCI_INLINED 1
90 #define SVM_BCI_FAILING 2
91 #define SVM_BCI_SIGFPE 3
92 
93 #endif /* _SABLEVM_INLINABILITY_TESTING */
94 
95 /* needed for Thread.interrupt() */
96 #define SVM_INTERRUPT_SIGNAL SIGUSR1
97 /* note: these are *flags* not values! */
98 #define SVM_THREAD_NOT_INTERRUPTED 0
99 #define SVM_THREAD_INTERRUPTED 1
100 #define SVM_THREAD_THROW_INTERRUPTED 2
101 #define SVM_THREAD_INTERRUPTIBLE_BY_SIGNAL 4
102 #define SVM_THREAD_INTERRUPTIBLE_ON_FAT_LOCK 8
103 
104 /* needed to avoid explicit m4 in instructions.m4.c */
105 #define SVM_PUT_REFERENCE_FIELD 1
106 
107 /* min/max values of java integer types */
108 #define SVM_JBYTE_MIN (-128)
109 #define SVM_JBYTE_MAX   127
110 
111 #define SVM_JCHAR_MIN 0
112 #define SVM_JCHAR_MAX 65535
113 
114 #define SVM_JSHORT_MIN (-32767 -1)
115 #define SVM_JSHORT_MAX   32767
116 
117 #define SVM_JINT_MIN (-2147483647 -1)
118 #define SVM_JINT_MAX   2147483647
119 
120 #define SVM_JLONG_MIN (((_svmt_s64) 1) << 63)
121 #define SVM_JLONG_MAX ((_svmt_s64) (((_svmt_u64) SVM_JLONG_MIN) - 1))
122 
123 /* #define SVM_JLONG_MIN (-9223372036854775807LL -1LL)
124    #define SVM_JLONG_MAX   9223372036854775807LL */
125 
126 /* various constants */
127 #define SVM_FRAME_NATIVE_REFS_MIN 16
128 #define SVM_FRAME_NATIVE_REFS_AUTOADD_STEP 16
129 
130 #define SVM_CLASS_LOADER_FREE_ARRAY_SIZE 16
131 
132 /* interpreter flags */
133 #define SVM_INTRP_FLAG_UNUSED 0
134 #define SVM_INTRP_FLAG_SPECIAL 1
135 #define SVM_INTRP_FLAG_INLINEABLE 2
136 #define SVM_INTRP_FLAG_CONTAINS_BRANCH_OR_CALL 3
137 
138 #if defined(_SABLEVM_SIGNALS_FOR_EXCEPTIONS) && defined(NDEBUG)
139 
140 #define SVM_INTRP_FLAG_INLINEABLE_IF_SIGNALS SVM_INTRP_FLAG_INLINEABLE
141 
142 #else
143 
144 #define SVM_INTRP_FLAG_INLINEABLE_IF_SIGNALS SVM_INTRP_FLAG_CONTAINS_BRANCH_OR_CALL
145 
146 #endif
147 
148 
149 /* stack map types */
150 #define SVM_STACK_MAP_REF -1
151 #define SVM_STACK_MAP_NONREF -2
152 
153 /* thread status */
154 #define SVM_THREAD_STATUS_RUNNING_JAVA 0
155 #define SVM_THREAD_STATUS_HALT_REQUESTED 1
156 #define SVM_THREAD_STATUS_HALTED 2
157 #define SVM_THREAD_STATUS_NOT_RUNNING_JAVA_RESUMING_ALLOWED 3
158 #define SVM_THREAD_STATUS_NOT_RUNNING_JAVA_RESUMING_DISALLOWED 4
159 
160 /* thread status flags */
161 #define SVM_THREAD_STATUS_FLAGS_NONE 0x00000000
162 #define SVM_THREAD_STATUS_FLAGS_STOP_THE_WORLD 0x00000001
163 #define SVM_THREAD_STATUS_FLAGS_SUSPEND 0x00000002
164 
165 /* size of trace history on stop/resume java calls */
166 #ifndef NDEBUG
167 #define SVM_STOP_RESUME_TRACE_SIZE 100
168 #endif
169 
170 /* maximum size of a string to keep instruction name */
171 #define _SABLEVM_BYTECODE_NAME_MAX_LENGTH 30
172 
173 /* instructions */
174 #define SVM_INSTRUCTION_NOP   0
175 #define SVM_INSTRUCTION_ACONST_NULL   1
176 #define SVM_INSTRUCTION_ICONST_M1   2
177 #define SVM_INSTRUCTION_ICONST_0   3
178 #define SVM_INSTRUCTION_ICONST_1   4
179 #define SVM_INSTRUCTION_ICONST_2   5
180 #define SVM_INSTRUCTION_ICONST_3   6
181 #define SVM_INSTRUCTION_ICONST_4   7
182 #define SVM_INSTRUCTION_ICONST_5   8
183 #define SVM_INSTRUCTION_LCONST_0   9
184 #define SVM_INSTRUCTION_LCONST_1  10
185 #define SVM_INSTRUCTION_FCONST_0  11
186 #define SVM_INSTRUCTION_FCONST_1  12
187 #define SVM_INSTRUCTION_FCONST_2  13
188 #define SVM_INSTRUCTION_DCONST_0  14
189 #define SVM_INSTRUCTION_DCONST_1  15
190 #define SVM_INSTRUCTION_BIPUSH  16
191 #define SVM_INSTRUCTION_SIPUSH  17
192 #define SVM_INSTRUCTION_LDC  18
193 #define SVM_INSTRUCTION_LDC_W  19
194 #define SVM_INSTRUCTION_LDC2_W  20
195 #define SVM_INSTRUCTION_ILOAD  21
196 #define SVM_INSTRUCTION_LLOAD  22
197 #define SVM_INSTRUCTION_FLOAD  23
198 #define SVM_INSTRUCTION_DLOAD  24
199 #define SVM_INSTRUCTION_ALOAD  25
200 #define SVM_INSTRUCTION_ILOAD_0  26
201 #define SVM_INSTRUCTION_ILOAD_1  27
202 #define SVM_INSTRUCTION_ILOAD_2  28
203 #define SVM_INSTRUCTION_ILOAD_3  29
204 #define SVM_INSTRUCTION_LLOAD_0  30
205 #define SVM_INSTRUCTION_LLOAD_1  31
206 #define SVM_INSTRUCTION_LLOAD_2  32
207 #define SVM_INSTRUCTION_LLOAD_3  33
208 #define SVM_INSTRUCTION_FLOAD_0  34
209 #define SVM_INSTRUCTION_FLOAD_1  35
210 #define SVM_INSTRUCTION_FLOAD_2  36
211 #define SVM_INSTRUCTION_FLOAD_3  37
212 #define SVM_INSTRUCTION_DLOAD_0  38
213 #define SVM_INSTRUCTION_DLOAD_1  39
214 #define SVM_INSTRUCTION_DLOAD_2  40
215 #define SVM_INSTRUCTION_DLOAD_3  41
216 #define SVM_INSTRUCTION_ALOAD_0  42
217 #define SVM_INSTRUCTION_ALOAD_1  43
218 #define SVM_INSTRUCTION_ALOAD_2  44
219 #define SVM_INSTRUCTION_ALOAD_3  45
220 #define SVM_INSTRUCTION_IALOAD  46
221 #define SVM_INSTRUCTION_LALOAD  47
222 #define SVM_INSTRUCTION_FALOAD  48
223 #define SVM_INSTRUCTION_DALOAD  49
224 #define SVM_INSTRUCTION_AALOAD  50
225 #define SVM_INSTRUCTION_BALOAD  51
226 #define SVM_INSTRUCTION_CALOAD  52
227 #define SVM_INSTRUCTION_SALOAD  53
228 #define SVM_INSTRUCTION_ISTORE  54
229 #define SVM_INSTRUCTION_LSTORE  55
230 #define SVM_INSTRUCTION_FSTORE  56
231 #define SVM_INSTRUCTION_DSTORE  57
232 #define SVM_INSTRUCTION_ASTORE  58
233 #define SVM_INSTRUCTION_ISTORE_0  59
234 #define SVM_INSTRUCTION_ISTORE_1  60
235 #define SVM_INSTRUCTION_ISTORE_2  61
236 #define SVM_INSTRUCTION_ISTORE_3  62
237 #define SVM_INSTRUCTION_LSTORE_0  63
238 #define SVM_INSTRUCTION_LSTORE_1  64
239 #define SVM_INSTRUCTION_LSTORE_2  65
240 #define SVM_INSTRUCTION_LSTORE_3  66
241 #define SVM_INSTRUCTION_FSTORE_0  67
242 #define SVM_INSTRUCTION_FSTORE_1  68
243 #define SVM_INSTRUCTION_FSTORE_2  69
244 #define SVM_INSTRUCTION_FSTORE_3  70
245 #define SVM_INSTRUCTION_DSTORE_0  71
246 #define SVM_INSTRUCTION_DSTORE_1  72
247 #define SVM_INSTRUCTION_DSTORE_2  73
248 #define SVM_INSTRUCTION_DSTORE_3  74
249 #define SVM_INSTRUCTION_ASTORE_0  75
250 #define SVM_INSTRUCTION_ASTORE_1  76
251 #define SVM_INSTRUCTION_ASTORE_2  77
252 #define SVM_INSTRUCTION_ASTORE_3  78
253 #define SVM_INSTRUCTION_IASTORE  79
254 #define SVM_INSTRUCTION_LASTORE  80
255 #define SVM_INSTRUCTION_FASTORE  81
256 #define SVM_INSTRUCTION_DASTORE  82
257 #define SVM_INSTRUCTION_AASTORE  83
258 #define SVM_INSTRUCTION_BASTORE  84
259 #define SVM_INSTRUCTION_CASTORE  85
260 #define SVM_INSTRUCTION_SASTORE  86
261 #define SVM_INSTRUCTION_POP  87
262 #define SVM_INSTRUCTION_POP2  88
263 #define SVM_INSTRUCTION_DUP  89
264 #define SVM_INSTRUCTION_DUP_X1  90
265 #define SVM_INSTRUCTION_DUP_X2  91
266 #define SVM_INSTRUCTION_DUP2  92
267 #define SVM_INSTRUCTION_DUP2_X1  93
268 #define SVM_INSTRUCTION_DUP2_X2  94
269 #define SVM_INSTRUCTION_SWAP  95
270 #define SVM_INSTRUCTION_IADD  96
271 #define SVM_INSTRUCTION_LADD  97
272 #define SVM_INSTRUCTION_FADD  98
273 #define SVM_INSTRUCTION_DADD  99
274 #define SVM_INSTRUCTION_ISUB 100
275 #define SVM_INSTRUCTION_LSUB 101
276 #define SVM_INSTRUCTION_FSUB 102
277 #define SVM_INSTRUCTION_DSUB 103
278 #define SVM_INSTRUCTION_IMUL 104
279 #define SVM_INSTRUCTION_LMUL 105
280 #define SVM_INSTRUCTION_FMUL 106
281 #define SVM_INSTRUCTION_DMUL 107
282 #define SVM_INSTRUCTION_IDIV 108
283 #define SVM_INSTRUCTION_LDIV 109
284 #define SVM_INSTRUCTION_FDIV 110
285 #define SVM_INSTRUCTION_DDIV 111
286 #define SVM_INSTRUCTION_IREM 112
287 #define SVM_INSTRUCTION_LREM 113
288 #define SVM_INSTRUCTION_FREM 114
289 #define SVM_INSTRUCTION_DREM 115
290 #define SVM_INSTRUCTION_INEG 116
291 #define SVM_INSTRUCTION_LNEG 117
292 #define SVM_INSTRUCTION_FNEG 118
293 #define SVM_INSTRUCTION_DNEG 119
294 #define SVM_INSTRUCTION_ISHL 120
295 #define SVM_INSTRUCTION_LSHL 121
296 #define SVM_INSTRUCTION_ISHR 122
297 #define SVM_INSTRUCTION_LSHR 123
298 #define SVM_INSTRUCTION_IUSHR 124
299 #define SVM_INSTRUCTION_LUSHR 125
300 #define SVM_INSTRUCTION_IAND 126
301 #define SVM_INSTRUCTION_LAND 127
302 #define SVM_INSTRUCTION_IOR 128
303 #define SVM_INSTRUCTION_LOR 129
304 #define SVM_INSTRUCTION_IXOR 130
305 #define SVM_INSTRUCTION_LXOR 131
306 #define SVM_INSTRUCTION_IINC 132
307 #define SVM_INSTRUCTION_I2L 133
308 #define SVM_INSTRUCTION_I2F 134
309 #define SVM_INSTRUCTION_I2D 135
310 #define SVM_INSTRUCTION_L2I 136
311 #define SVM_INSTRUCTION_L2F 137
312 #define SVM_INSTRUCTION_L2D 138
313 #define SVM_INSTRUCTION_F2I 139
314 #define SVM_INSTRUCTION_F2L 140
315 #define SVM_INSTRUCTION_F2D 141
316 #define SVM_INSTRUCTION_D2I 142
317 #define SVM_INSTRUCTION_D2L 143
318 #define SVM_INSTRUCTION_D2F 144
319 #define SVM_INSTRUCTION_I2B 145
320 #define SVM_INSTRUCTION_I2C 146
321 #define SVM_INSTRUCTION_I2S 147
322 #define SVM_INSTRUCTION_LCMP 148
323 #define SVM_INSTRUCTION_FCMPL 149
324 #define SVM_INSTRUCTION_FCMPG 150
325 #define SVM_INSTRUCTION_DCMPL 151
326 #define SVM_INSTRUCTION_DCMPG 152
327 #define SVM_INSTRUCTION_IFEQ 153
328 #define SVM_INSTRUCTION_IFNE 154
329 #define SVM_INSTRUCTION_IFLT 155
330 #define SVM_INSTRUCTION_IFGE 156
331 #define SVM_INSTRUCTION_IFGT 157
332 #define SVM_INSTRUCTION_IFLE 158
333 #define SVM_INSTRUCTION_IF_ICMPEQ 159
334 #define SVM_INSTRUCTION_IF_ICMPNE 160
335 #define SVM_INSTRUCTION_IF_ICMPLT 161
336 #define SVM_INSTRUCTION_IF_ICMPGE 162
337 #define SVM_INSTRUCTION_IF_ICMPGT 163
338 #define SVM_INSTRUCTION_IF_ICMPLE 164
339 #define SVM_INSTRUCTION_IF_ACMPEQ 165
340 #define SVM_INSTRUCTION_IF_ACMPNE 166
341 #define SVM_INSTRUCTION_GOTO 167
342 #define SVM_INSTRUCTION_JSR 168
343 #define SVM_INSTRUCTION_RET 169
344 #define SVM_INSTRUCTION_TABLESWITCH 170
345 #define SVM_INSTRUCTION_LOOKUPSWITCH 171
346 #define SVM_INSTRUCTION_IRETURN 172
347 #define SVM_INSTRUCTION_LRETURN 173
348 #define SVM_INSTRUCTION_FRETURN 174
349 #define SVM_INSTRUCTION_DRETURN 175
350 #define SVM_INSTRUCTION_ARETURN 176
351 #define SVM_INSTRUCTION_RETURN 177
352 #define SVM_INSTRUCTION_GETSTATIC 178
353 #define SVM_INSTRUCTION_PUTSTATIC 179
354 #define SVM_INSTRUCTION_GETFIELD 180
355 #define SVM_INSTRUCTION_PUTFIELD 181
356 #define SVM_INSTRUCTION_INVOKEVIRTUAL 182
357 #define SVM_INSTRUCTION_INVOKESPECIAL 183
358 #define SVM_INSTRUCTION_INVOKESTATIC 184
359 #define SVM_INSTRUCTION_INVOKEINTERFACE 185
360 #define SVM_INSTRUCTION_UNDEFINED_186 186
361 #define SVM_INSTRUCTION_NEW 187
362 #define SVM_INSTRUCTION_NEWARRAY 188
363 #define SVM_INSTRUCTION_ANEWARRAY 189
364 #define SVM_INSTRUCTION_ARRAYLENGTH 190
365 #define SVM_INSTRUCTION_ATHROW 191
366 #define SVM_INSTRUCTION_CHECKCAST 192
367 #define SVM_INSTRUCTION_INSTANCEOF 193
368 #define SVM_INSTRUCTION_MONITORENTER 194
369 #define SVM_INSTRUCTION_MONITOREXIT 195
370 #define SVM_INSTRUCTION_WIDE 196
371 #define SVM_INSTRUCTION_MULTIANEWARRAY 197
372 #define SVM_INSTRUCTION_IFNULL 198
373 #define SVM_INSTRUCTION_IFNONNULL 199
374 #define SVM_INSTRUCTION_GOTO_W 200
375 #define SVM_INSTRUCTION_JSR_W 201
376 
377 #define SVM_INSTRUCTION_PREPARE_METHOD 202
378 #define SVM_INSTRUCTION_LINK_NATIVE_METHOD 203
379 #define SVM_INSTRUCTION_ABSTRACT_METHOD 204
380 #define SVM_INSTRUCTION_ASTORE_RET_0 205
381 #define SVM_INSTRUCTION_ASTORE_RET_1 206
382 #define SVM_INSTRUCTION_ASTORE_RET_2 207
383 #define SVM_INSTRUCTION_ASTORE_RET_3 208
384 #define SVM_INSTRUCTION_ASTORE_RET 209
385 #define SVM_INSTRUCTION_NEWARRAY_BOOLEAN 210
386 #define SVM_INSTRUCTION_NEWARRAY_CHAR 211
387 #define SVM_INSTRUCTION_NEWARRAY_FLOAT 212
388 #define SVM_INSTRUCTION_NEWARRAY_DOUBLE 213
389 #define SVM_INSTRUCTION_NEWARRAY_BYTE 214
390 #define SVM_INSTRUCTION_NEWARRAY_SHORT 215
391 #define SVM_INSTRUCTION_NEWARRAY_INT 216
392 #define SVM_INSTRUCTION_NEWARRAY_LONG 217
393 #define SVM_INSTRUCTION_LDC_INTEGER 218
394 #define SVM_INSTRUCTION_LDC_FLOAT 219
395 #define SVM_INSTRUCTION_LDC_STRING 220
396 #define SVM_INSTRUCTION_LDC_LONG 221
397 #define SVM_INSTRUCTION_LDC_DOUBLE 222
398 #define SVM_INSTRUCTION_GETSTATIC_BOOLEAN 223
399 #define SVM_INSTRUCTION_GETSTATIC_BYTE 224
400 #define SVM_INSTRUCTION_GETSTATIC_SHORT 225
401 #define SVM_INSTRUCTION_GETSTATIC_CHAR 226
402 #define SVM_INSTRUCTION_GETSTATIC_INT 227
403 #define SVM_INSTRUCTION_GETSTATIC_LONG 228
404 #define SVM_INSTRUCTION_GETSTATIC_FLOAT 229
405 #define SVM_INSTRUCTION_GETSTATIC_DOUBLE 230
406 #define SVM_INSTRUCTION_GETSTATIC_REFERENCE 231
407 #define SVM_INSTRUCTION_PUTSTATIC_BOOLEAN 232
408 #define SVM_INSTRUCTION_PUTSTATIC_BYTE 233
409 #define SVM_INSTRUCTION_PUTSTATIC_SHORT 234
410 #define SVM_INSTRUCTION_PUTSTATIC_CHAR 235
411 #define SVM_INSTRUCTION_PUTSTATIC_INT 236
412 #define SVM_INSTRUCTION_PUTSTATIC_LONG 237
413 #define SVM_INSTRUCTION_PUTSTATIC_FLOAT 238
414 #define SVM_INSTRUCTION_PUTSTATIC_DOUBLE 239
415 #define SVM_INSTRUCTION_PUTSTATIC_REFERENCE 240
416 #define SVM_INSTRUCTION_GETFIELD_BOOLEAN 241
417 #define SVM_INSTRUCTION_GETFIELD_BYTE 242
418 #define SVM_INSTRUCTION_GETFIELD_SHORT 243
419 #define SVM_INSTRUCTION_GETFIELD_CHAR 244
420 #define SVM_INSTRUCTION_GETFIELD_INT 245
421 #define SVM_INSTRUCTION_GETFIELD_LONG 246
422 #define SVM_INSTRUCTION_GETFIELD_FLOAT 247
423 #define SVM_INSTRUCTION_GETFIELD_DOUBLE 248
424 #define SVM_INSTRUCTION_GETFIELD_REFERENCE 249
425 #define SVM_INSTRUCTION_PUTFIELD_BOOLEAN 250
426 #define SVM_INSTRUCTION_PUTFIELD_BYTE 251
427 #define SVM_INSTRUCTION_PUTFIELD_SHORT 252
428 #define SVM_INSTRUCTION_PUTFIELD_CHAR 253
429 #define SVM_INSTRUCTION_PUTFIELD_INT 254
430 #define SVM_INSTRUCTION_PUTFIELD_LONG 255
431 #define SVM_INSTRUCTION_PUTFIELD_FLOAT 256
432 #define SVM_INSTRUCTION_PUTFIELD_DOUBLE 257
433 #define SVM_INSTRUCTION_PUTFIELD_REFERENCE 258
434 #define SVM_INSTRUCTION_NATIVE_STATIC_METHOD 259
435 #define SVM_INSTRUCTION_NATIVE_NONSTATIC_METHOD 260
436 #define SVM_INSTRUCTION_NEXT 261
437 #define SVM_INSTRUCTION_ERROR 262
438 #define SVM_INSTRUCTION_INTERNAL_CALL_END 263
439 #define SVM_INSTRUCTION_PREPARE_LDC_STRING 264
440 #define SVM_INSTRUCTION_REPLACE 265
441 #define SVM_INSTRUCTION_PREPARE_MULTIANEWARRAY 266
442 #define SVM_INSTRUCTION_IFEQ_CHECK 267
443 #define SVM_INSTRUCTION_IFNE_CHECK 268
444 #define SVM_INSTRUCTION_IFLT_CHECK 269
445 #define SVM_INSTRUCTION_IFGE_CHECK 270
446 #define SVM_INSTRUCTION_IFGT_CHECK 271
447 #define SVM_INSTRUCTION_IFLE_CHECK 272
448 #define SVM_INSTRUCTION_IF_ICMPEQ_CHECK 273
449 #define SVM_INSTRUCTION_IF_ICMPNE_CHECK 274
450 #define SVM_INSTRUCTION_IF_ICMPLT_CHECK 275
451 #define SVM_INSTRUCTION_IF_ICMPGE_CHECK 276
452 #define SVM_INSTRUCTION_IF_ICMPGT_CHECK 277
453 #define SVM_INSTRUCTION_IF_ICMPLE_CHECK 278
454 #define SVM_INSTRUCTION_IF_ACMPEQ_CHECK 279
455 #define SVM_INSTRUCTION_IF_ACMPNE_CHECK 280
456 #define SVM_INSTRUCTION_GOTO_CHECK 281
457 #define SVM_INSTRUCTION_JSR_CHECK 282
458 #define SVM_INSTRUCTION_TABLESWITCH_CHECK 283
459 #define SVM_INSTRUCTION_LOOKUPSWITCH_CHECK 284
460 #define SVM_INSTRUCTION_IFNULL_CHECK 285
461 #define SVM_INSTRUCTION_IFNONNULL_CHECK 286
462 #define SVM_INSTRUCTION_PREPARE_NEW 287
463 #define SVM_INSTRUCTION_PREPARE_ANEWARRAY 288
464 #define SVM_INSTRUCTION_PREPARE_CHECKCAST 289
465 #define SVM_INSTRUCTION_PREPARE_INSTANCEOF 290
466 #define SVM_INSTRUCTION_PREPARE_INVOKEVIRTUAL 291
467 #define SVM_INSTRUCTION_PREPARE_INVOKESPECIAL 292
468 #define SVM_INSTRUCTION_PREPARE_INVOKESTATIC 293
469 #define SVM_INSTRUCTION_PREPARE_INVOKEINTERFACE 294
470 #define SVM_INSTRUCTION_PREPARE_GETSTATIC_BOOLEAN 295
471 #define SVM_INSTRUCTION_PREPARE_GETSTATIC_BYTE 296
472 #define SVM_INSTRUCTION_PREPARE_GETSTATIC_SHORT 297
473 #define SVM_INSTRUCTION_PREPARE_GETSTATIC_CHAR 298
474 #define SVM_INSTRUCTION_PREPARE_GETSTATIC_INT 299
475 #define SVM_INSTRUCTION_PREPARE_GETSTATIC_LONG 300
476 #define SVM_INSTRUCTION_PREPARE_GETSTATIC_FLOAT 301
477 #define SVM_INSTRUCTION_PREPARE_GETSTATIC_DOUBLE 302
478 #define SVM_INSTRUCTION_PREPARE_GETSTATIC_REFERENCE 303
479 #define SVM_INSTRUCTION_PREPARE_PUTSTATIC_BOOLEAN 304
480 #define SVM_INSTRUCTION_PREPARE_PUTSTATIC_BYTE 305
481 #define SVM_INSTRUCTION_PREPARE_PUTSTATIC_SHORT 306
482 #define SVM_INSTRUCTION_PREPARE_PUTSTATIC_CHAR 307
483 #define SVM_INSTRUCTION_PREPARE_PUTSTATIC_INT 308
484 #define SVM_INSTRUCTION_PREPARE_PUTSTATIC_LONG 309
485 #define SVM_INSTRUCTION_PREPARE_PUTSTATIC_FLOAT 310
486 #define SVM_INSTRUCTION_PREPARE_PUTSTATIC_DOUBLE 311
487 #define SVM_INSTRUCTION_PREPARE_PUTSTATIC_REFERENCE 312
488 #define SVM_INSTRUCTION_PREPARE_GETFIELD_BOOLEAN 313
489 #define SVM_INSTRUCTION_PREPARE_GETFIELD_BYTE 314
490 #define SVM_INSTRUCTION_PREPARE_GETFIELD_SHORT 315
491 #define SVM_INSTRUCTION_PREPARE_GETFIELD_CHAR 316
492 #define SVM_INSTRUCTION_PREPARE_GETFIELD_INT 317
493 #define SVM_INSTRUCTION_PREPARE_GETFIELD_LONG 318
494 #define SVM_INSTRUCTION_PREPARE_GETFIELD_FLOAT 319
495 #define SVM_INSTRUCTION_PREPARE_GETFIELD_DOUBLE 320
496 #define SVM_INSTRUCTION_PREPARE_GETFIELD_REFERENCE 321
497 #define SVM_INSTRUCTION_PREPARE_PUTFIELD_BOOLEAN 322
498 #define SVM_INSTRUCTION_PREPARE_PUTFIELD_BYTE 323
499 #define SVM_INSTRUCTION_PREPARE_PUTFIELD_SHORT 324
500 #define SVM_INSTRUCTION_PREPARE_PUTFIELD_CHAR 325
501 #define SVM_INSTRUCTION_PREPARE_PUTFIELD_INT 326
502 #define SVM_INSTRUCTION_PREPARE_PUTFIELD_LONG 327
503 #define SVM_INSTRUCTION_PREPARE_PUTFIELD_FLOAT 328
504 #define SVM_INSTRUCTION_PREPARE_PUTFIELD_DOUBLE 329
505 #define SVM_INSTRUCTION_PREPARE_PUTFIELD_REFERENCE 330
506 #define SVM_INSTRUCTION_SKIP 331
507 
508 #define SVM_INSTRUCTION_COUNT 332
509 
510 #endif /* not SVM_CONSTANTS_H */
511