1 /*
  2  * Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved.
  3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  4  *
  5  * This code is free software; you can redistribute it and/or modify it
  6  * under the terms of the GNU General Public License version 2 only, as
  7  * published by the Free Software Foundation.  Oracle designates this
  8  * particular file as subject to the "Classpath" exception as provided
  9  * by Oracle in the LICENSE file that accompanied this code.
 10  *
 11  * This code is distributed in the hope that it will be useful, but WITHOUT
 12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 14  * version 2 for more details (a copy is included in the LICENSE file that
 15  * accompanied this code).
 16  *
 17  * You should have received a copy of the GNU General Public License version
 18  * 2 along with this work; if not, write to the Free Software Foundation,
 19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 20  *
 21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 22  * or visit www.oracle.com if you need additional information or have any
 23  * questions.
 24  */
 25 
 26 #ifndef CLASSFILE_CONSTANTS_H
 27 #define CLASSFILE_CONSTANTS_H
 28 
 29 #ifdef __cplusplus
 30 extern "C" {
 31 #endif
 32 
 33 /* Classfile version number for this information */
 34 #define JVM_CLASSFILE_MAJOR_VERSION @@VERSION_CLASSFILE_MAJOR@@
 35 #define JVM_CLASSFILE_MINOR_VERSION @@VERSION_CLASSFILE_MINOR@@
 36 
 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_IDENTITY      = 0x0020,
 48     JVM_ACC_VOLATILE      = 0x0040,
 49     JVM_ACC_BRIDGE        = 0x0040,
 50     JVM_ACC_VALUE         = 0x0040,
 51     JVM_ACC_TRANSIENT     = 0x0080,
 52     JVM_ACC_VARARGS       = 0x0080,
 53     JVM_ACC_NATIVE        = 0x0100,
 54     JVM_ACC_PERMITS_VALUE = 0x0100,
 55     JVM_ACC_INTERFACE     = 0x0200,
 56     JVM_ACC_ABSTRACT      = 0x0400,
 57     JVM_ACC_PRIMITIVE     = 0x0800,
 58     JVM_ACC_STRICT        = 0x0800,
 59     JVM_ACC_SYNTHETIC     = 0x1000,
 60     JVM_ACC_ANNOTATION    = 0x2000,
 61     JVM_ACC_ENUM          = 0x4000,
 62     JVM_ACC_MODULE        = 0x8000
 63 };
 64 
 65 #define JVM_ACC_PUBLIC_BIT        0
 66 #define JVM_ACC_PRIVATE_BIT       1
 67 #define JVM_ACC_PROTECTED_BIT     2
 68 #define JVM_ACC_STATIC_BIT        3
 69 #define JVM_ACC_FINAL_BIT         4
 70 #define JVM_ACC_SYNCHRONIZED_BIT  5
 71 #define JVM_ACC_SUPER_BIT         5
 72 #define JVM_ACC_VOLATILE_BIT      6
 73 #define JVM_ACC_BRIDGE_BIT        6
 74 #define JVM_ACC_PERMITS_VALUE_BIT 6
 75 #define JVM_ACC_TRANSIENT_BIT     7
 76 #define JVM_ACC_VARARGS_BIT       7
 77 #define JVM_ACC_NATIVE_BIT        8
 78 #define JVM_ACC_INTERFACE_BIT     9
 79 #define JVM_ACC_ABSTRACT_BIT      10
 80 #define JVM_ACC_STRICT_BIT        11
 81 #define JVM_ACC_SYNTHETIC_BIT     12
 82 #define JVM_ACC_ANNOTATION_BIT    13
 83 #define JVM_ACC_ENUM_BIT          14
 84 
 85 /* Used in newarray instruction. */
 86 
 87 enum {
 88     JVM_T_BOOLEAN = 4,
 89     JVM_T_CHAR    = 5,
 90     JVM_T_FLOAT   = 6,
 91     JVM_T_DOUBLE  = 7,
 92     JVM_T_BYTE    = 8,
 93     JVM_T_SHORT   = 9,
 94     JVM_T_INT     = 10,
 95     JVM_T_LONG    = 11
 96 };
 97 
 98 /* Constant Pool Entries */
 99 
100 enum {
101     JVM_CONSTANT_Utf8                   = 1,
102     JVM_CONSTANT_Unicode                = 2, /* unused */
103     JVM_CONSTANT_Integer                = 3,
104     JVM_CONSTANT_Float                  = 4,
105     JVM_CONSTANT_Long                   = 5,
106     JVM_CONSTANT_Double                 = 6,
107     JVM_CONSTANT_Class                  = 7,
108     JVM_CONSTANT_String                 = 8,
109     JVM_CONSTANT_Fieldref               = 9,
110     JVM_CONSTANT_Methodref              = 10,
111     JVM_CONSTANT_InterfaceMethodref     = 11,
112     JVM_CONSTANT_NameAndType            = 12,
113     JVM_CONSTANT_MethodHandle           = 15,  // JSR 292
114     JVM_CONSTANT_MethodType             = 16,  // JSR 292
115     JVM_CONSTANT_Dynamic                = 17,
116     JVM_CONSTANT_InvokeDynamic          = 18,
117     JVM_CONSTANT_Module                 = 19,
118     JVM_CONSTANT_Package                = 20,
119     JVM_CONSTANT_ExternalMax            = 20
120 };
121 
122 /* JVM_CONSTANT_MethodHandle subtypes */
123 enum {
124     JVM_REF_getField                = 1,
125     JVM_REF_getStatic               = 2,
126     JVM_REF_putField                = 3,
127     JVM_REF_putStatic               = 4,
128     JVM_REF_invokeVirtual           = 5,
129     JVM_REF_invokeStatic            = 6,
130     JVM_REF_invokeSpecial           = 7,
131     JVM_REF_newInvokeSpecial        = 8,
132     JVM_REF_invokeInterface         = 9
133 };
134 
135 /* StackMapTable type item numbers */
136 
137 enum {
138     JVM_ITEM_Top                = 0,
139     JVM_ITEM_Integer            = 1,
140     JVM_ITEM_Float              = 2,
141     JVM_ITEM_Double             = 3,
142     JVM_ITEM_Long               = 4,
143     JVM_ITEM_Null               = 5,
144     JVM_ITEM_UninitializedThis  = 6,
145     JVM_ITEM_Object             = 7,
146     JVM_ITEM_Uninitialized      = 8
147 };
148 
149 /* Type signatures */
150 
151 enum {
152     JVM_SIGNATURE_SLASH         = '/',
153     JVM_SIGNATURE_DOT           = '.',
154     JVM_SIGNATURE_SPECIAL       = '<',
155     JVM_SIGNATURE_ENDSPECIAL    = '>',
156     JVM_SIGNATURE_ARRAY         = '[',
157     JVM_SIGNATURE_BYTE          = 'B',
158     JVM_SIGNATURE_CHAR          = 'C',
159     JVM_SIGNATURE_CLASS         = 'L',
160     JVM_SIGNATURE_PRIMITIVE_OBJECT = 'Q',
161     JVM_SIGNATURE_ENDCLASS      = ';',
162     JVM_SIGNATURE_ENUM          = 'E',
163     JVM_SIGNATURE_FLOAT         = 'F',
164     JVM_SIGNATURE_DOUBLE        = 'D',
165     JVM_SIGNATURE_FUNC          = '(',
166     JVM_SIGNATURE_ENDFUNC       = ')',
167     JVM_SIGNATURE_INT           = 'I',
168     JVM_SIGNATURE_LONG          = 'J',
169     JVM_SIGNATURE_SHORT         = 'S',
170     JVM_SIGNATURE_VOID          = 'V',
171     JVM_SIGNATURE_BOOLEAN       = 'Z'
172 };
173 
174 /* Opcodes */
175 
176 enum {
177     JVM_OPC_nop                 = 0,
178     JVM_OPC_aconst_null         = 1,
179     JVM_OPC_iconst_m1           = 2,
180     JVM_OPC_iconst_0            = 3,
181     JVM_OPC_iconst_1            = 4,
182     JVM_OPC_iconst_2            = 5,
183     JVM_OPC_iconst_3            = 6,
184     JVM_OPC_iconst_4            = 7,
185     JVM_OPC_iconst_5            = 8,
186     JVM_OPC_lconst_0            = 9,
187     JVM_OPC_lconst_1            = 10,
188     JVM_OPC_fconst_0            = 11,
189     JVM_OPC_fconst_1            = 12,
190     JVM_OPC_fconst_2            = 13,
191     JVM_OPC_dconst_0            = 14,
192     JVM_OPC_dconst_1            = 15,
193     JVM_OPC_bipush              = 16,
194     JVM_OPC_sipush              = 17,
195     JVM_OPC_ldc                 = 18,
196     JVM_OPC_ldc_w               = 19,
197     JVM_OPC_ldc2_w              = 20,
198     JVM_OPC_iload               = 21,
199     JVM_OPC_lload               = 22,
200     JVM_OPC_fload               = 23,
201     JVM_OPC_dload               = 24,
202     JVM_OPC_aload               = 25,
203     JVM_OPC_iload_0             = 26,
204     JVM_OPC_iload_1             = 27,
205     JVM_OPC_iload_2             = 28,
206     JVM_OPC_iload_3             = 29,
207     JVM_OPC_lload_0             = 30,
208     JVM_OPC_lload_1             = 31,
209     JVM_OPC_lload_2             = 32,
210     JVM_OPC_lload_3             = 33,
211     JVM_OPC_fload_0             = 34,
212     JVM_OPC_fload_1             = 35,
213     JVM_OPC_fload_2             = 36,
214     JVM_OPC_fload_3             = 37,
215     JVM_OPC_dload_0             = 38,
216     JVM_OPC_dload_1             = 39,
217     JVM_OPC_dload_2             = 40,
218     JVM_OPC_dload_3             = 41,
219     JVM_OPC_aload_0             = 42,
220     JVM_OPC_aload_1             = 43,
221     JVM_OPC_aload_2             = 44,
222     JVM_OPC_aload_3             = 45,
223     JVM_OPC_iaload              = 46,
224     JVM_OPC_laload              = 47,
225     JVM_OPC_faload              = 48,
226     JVM_OPC_daload              = 49,
227     JVM_OPC_aaload              = 50,
228     JVM_OPC_baload              = 51,
229     JVM_OPC_caload              = 52,
230     JVM_OPC_saload              = 53,
231     JVM_OPC_istore              = 54,
232     JVM_OPC_lstore              = 55,
233     JVM_OPC_fstore              = 56,
234     JVM_OPC_dstore              = 57,
235     JVM_OPC_astore              = 58,
236     JVM_OPC_istore_0            = 59,
237     JVM_OPC_istore_1            = 60,
238     JVM_OPC_istore_2            = 61,
239     JVM_OPC_istore_3            = 62,
240     JVM_OPC_lstore_0            = 63,
241     JVM_OPC_lstore_1            = 64,
242     JVM_OPC_lstore_2            = 65,
243     JVM_OPC_lstore_3            = 66,
244     JVM_OPC_fstore_0            = 67,
245     JVM_OPC_fstore_1            = 68,
246     JVM_OPC_fstore_2            = 69,
247     JVM_OPC_fstore_3            = 70,
248     JVM_OPC_dstore_0            = 71,
249     JVM_OPC_dstore_1            = 72,
250     JVM_OPC_dstore_2            = 73,
251     JVM_OPC_dstore_3            = 74,
252     JVM_OPC_astore_0            = 75,
253     JVM_OPC_astore_1            = 76,
254     JVM_OPC_astore_2            = 77,
255     JVM_OPC_astore_3            = 78,
256     JVM_OPC_iastore             = 79,
257     JVM_OPC_lastore             = 80,
258     JVM_OPC_fastore             = 81,
259     JVM_OPC_dastore             = 82,
260     JVM_OPC_aastore             = 83,
261     JVM_OPC_bastore             = 84,
262     JVM_OPC_castore             = 85,
263     JVM_OPC_sastore             = 86,
264     JVM_OPC_pop                 = 87,
265     JVM_OPC_pop2                = 88,
266     JVM_OPC_dup                 = 89,
267     JVM_OPC_dup_x1              = 90,
268     JVM_OPC_dup_x2              = 91,
269     JVM_OPC_dup2                = 92,
270     JVM_OPC_dup2_x1             = 93,
271     JVM_OPC_dup2_x2             = 94,
272     JVM_OPC_swap                = 95,
273     JVM_OPC_iadd                = 96,
274     JVM_OPC_ladd                = 97,
275     JVM_OPC_fadd                = 98,
276     JVM_OPC_dadd                = 99,
277     JVM_OPC_isub                = 100,
278     JVM_OPC_lsub                = 101,
279     JVM_OPC_fsub                = 102,
280     JVM_OPC_dsub                = 103,
281     JVM_OPC_imul                = 104,
282     JVM_OPC_lmul                = 105,
283     JVM_OPC_fmul                = 106,
284     JVM_OPC_dmul                = 107,
285     JVM_OPC_idiv                = 108,
286     JVM_OPC_ldiv                = 109,
287     JVM_OPC_fdiv                = 110,
288     JVM_OPC_ddiv                = 111,
289     JVM_OPC_irem                = 112,
290     JVM_OPC_lrem                = 113,
291     JVM_OPC_frem                = 114,
292     JVM_OPC_drem                = 115,
293     JVM_OPC_ineg                = 116,
294     JVM_OPC_lneg                = 117,
295     JVM_OPC_fneg                = 118,
296     JVM_OPC_dneg                = 119,
297     JVM_OPC_ishl                = 120,
298     JVM_OPC_lshl                = 121,
299     JVM_OPC_ishr                = 122,
300     JVM_OPC_lshr                = 123,
301     JVM_OPC_iushr               = 124,
302     JVM_OPC_lushr               = 125,
303     JVM_OPC_iand                = 126,
304     JVM_OPC_land                = 127,
305     JVM_OPC_ior                 = 128,
306     JVM_OPC_lor                 = 129,
307     JVM_OPC_ixor                = 130,
308     JVM_OPC_lxor                = 131,
309     JVM_OPC_iinc                = 132,
310     JVM_OPC_i2l                 = 133,
311     JVM_OPC_i2f                 = 134,
312     JVM_OPC_i2d                 = 135,
313     JVM_OPC_l2i                 = 136,
314     JVM_OPC_l2f                 = 137,
315     JVM_OPC_l2d                 = 138,
316     JVM_OPC_f2i                 = 139,
317     JVM_OPC_f2l                 = 140,
318     JVM_OPC_f2d                 = 141,
319     JVM_OPC_d2i                 = 142,
320     JVM_OPC_d2l                 = 143,
321     JVM_OPC_d2f                 = 144,
322     JVM_OPC_i2b                 = 145,
323     JVM_OPC_i2c                 = 146,
324     JVM_OPC_i2s                 = 147,
325     JVM_OPC_lcmp                = 148,
326     JVM_OPC_fcmpl               = 149,
327     JVM_OPC_fcmpg               = 150,
328     JVM_OPC_dcmpl               = 151,
329     JVM_OPC_dcmpg               = 152,
330     JVM_OPC_ifeq                = 153,
331     JVM_OPC_ifne                = 154,
332     JVM_OPC_iflt                = 155,
333     JVM_OPC_ifge                = 156,
334     JVM_OPC_ifgt                = 157,
335     JVM_OPC_ifle                = 158,
336     JVM_OPC_if_icmpeq           = 159,
337     JVM_OPC_if_icmpne           = 160,
338     JVM_OPC_if_icmplt           = 161,
339     JVM_OPC_if_icmpge           = 162,
340     JVM_OPC_if_icmpgt           = 163,
341     JVM_OPC_if_icmple           = 164,
342     JVM_OPC_if_acmpeq           = 165,
343     JVM_OPC_if_acmpne           = 166,
344     JVM_OPC_goto                = 167,
345     JVM_OPC_jsr                 = 168,
346     JVM_OPC_ret                 = 169,
347     JVM_OPC_tableswitch         = 170,
348     JVM_OPC_lookupswitch        = 171,
349     JVM_OPC_ireturn             = 172,
350     JVM_OPC_lreturn             = 173,
351     JVM_OPC_freturn             = 174,
352     JVM_OPC_dreturn             = 175,
353     JVM_OPC_areturn             = 176,
354     JVM_OPC_return              = 177,
355     JVM_OPC_getstatic           = 178,
356     JVM_OPC_putstatic           = 179,
357     JVM_OPC_getfield            = 180,
358     JVM_OPC_putfield            = 181,
359     JVM_OPC_invokevirtual       = 182,
360     JVM_OPC_invokespecial       = 183,
361     JVM_OPC_invokestatic        = 184,
362     JVM_OPC_invokeinterface     = 185,
363     JVM_OPC_invokedynamic       = 186,
364     JVM_OPC_new                 = 187,
365     JVM_OPC_newarray            = 188,
366     JVM_OPC_anewarray           = 189,
367     JVM_OPC_arraylength         = 190,
368     JVM_OPC_athrow              = 191,
369     JVM_OPC_checkcast           = 192,
370     JVM_OPC_instanceof          = 193,
371     JVM_OPC_monitorenter        = 194,
372     JVM_OPC_monitorexit         = 195,
373     JVM_OPC_wide                = 196,
374     JVM_OPC_multianewarray      = 197,
375     JVM_OPC_ifnull              = 198,
376     JVM_OPC_ifnonnull           = 199,
377     JVM_OPC_goto_w              = 200,
378     JVM_OPC_jsr_w               = 201,
379     JVM_OPC_MAX                 = 201
380 };
381 
382 /* Opcode length initializer, use with something like:
383  *   unsigned char opcode_length[JVM_OPC_MAX+1] = JVM_OPCODE_LENGTH_INITIALIZER;
384  */
385 #define JVM_OPCODE_LENGTH_INITIALIZER { \
386    1,   /* nop */                       \
387    1,   /* aconst_null */               \
388    1,   /* iconst_m1 */                 \
389    1,   /* iconst_0 */                  \
390    1,   /* iconst_1 */                  \
391    1,   /* iconst_2 */                  \
392    1,   /* iconst_3 */                  \
393    1,   /* iconst_4 */                  \
394    1,   /* iconst_5 */                  \
395    1,   /* lconst_0 */                  \
396    1,   /* lconst_1 */                  \
397    1,   /* fconst_0 */                  \
398    1,   /* fconst_1 */                  \
399    1,   /* fconst_2 */                  \
400    1,   /* dconst_0 */                  \
401    1,   /* dconst_1 */                  \
402    2,   /* bipush */                    \
403    3,   /* sipush */                    \
404    2,   /* ldc */                       \
405    3,   /* ldc_w */                     \
406    3,   /* ldc2_w */                    \
407    2,   /* iload */                     \
408    2,   /* lload */                     \
409    2,   /* fload */                     \
410    2,   /* dload */                     \
411    2,   /* aload */                     \
412    1,   /* iload_0 */                   \
413    1,   /* iload_1 */                   \
414    1,   /* iload_2 */                   \
415    1,   /* iload_3 */                   \
416    1,   /* lload_0 */                   \
417    1,   /* lload_1 */                   \
418    1,   /* lload_2 */                   \
419    1,   /* lload_3 */                   \
420    1,   /* fload_0 */                   \
421    1,   /* fload_1 */                   \
422    1,   /* fload_2 */                   \
423    1,   /* fload_3 */                   \
424    1,   /* dload_0 */                   \
425    1,   /* dload_1 */                   \
426    1,   /* dload_2 */                   \
427    1,   /* dload_3 */                   \
428    1,   /* aload_0 */                   \
429    1,   /* aload_1 */                   \
430    1,   /* aload_2 */                   \
431    1,   /* aload_3 */                   \
432    1,   /* iaload */                    \
433    1,   /* laload */                    \
434    1,   /* faload */                    \
435    1,   /* daload */                    \
436    1,   /* aaload */                    \
437    1,   /* baload */                    \
438    1,   /* caload */                    \
439    1,   /* saload */                    \
440    2,   /* istore */                    \
441    2,   /* lstore */                    \
442    2,   /* fstore */                    \
443    2,   /* dstore */                    \
444    2,   /* astore */                    \
445    1,   /* istore_0 */                  \
446    1,   /* istore_1 */                  \
447    1,   /* istore_2 */                  \
448    1,   /* istore_3 */                  \
449    1,   /* lstore_0 */                  \
450    1,   /* lstore_1 */                  \
451    1,   /* lstore_2 */                  \
452    1,   /* lstore_3 */                  \
453    1,   /* fstore_0 */                  \
454    1,   /* fstore_1 */                  \
455    1,   /* fstore_2 */                  \
456    1,   /* fstore_3 */                  \
457    1,   /* dstore_0 */                  \
458    1,   /* dstore_1 */                  \
459    1,   /* dstore_2 */                  \
460    1,   /* dstore_3 */                  \
461    1,   /* astore_0 */                  \
462    1,   /* astore_1 */                  \
463    1,   /* astore_2 */                  \
464    1,   /* astore_3 */                  \
465    1,   /* iastore */                   \
466    1,   /* lastore */                   \
467    1,   /* fastore */                   \
468    1,   /* dastore */                   \
469    1,   /* aastore */                   \
470    1,   /* bastore */                   \
471    1,   /* castore */                   \
472    1,   /* sastore */                   \
473    1,   /* pop */                       \
474    1,   /* pop2 */                      \
475    1,   /* dup */                       \
476    1,   /* dup_x1 */                    \
477    1,   /* dup_x2 */                    \
478    1,   /* dup2 */                      \
479    1,   /* dup2_x1 */                   \
480    1,   /* dup2_x2 */                   \
481    1,   /* swap */                      \
482    1,   /* iadd */                      \
483    1,   /* ladd */                      \
484    1,   /* fadd */                      \
485    1,   /* dadd */                      \
486    1,   /* isub */                      \
487    1,   /* lsub */                      \
488    1,   /* fsub */                      \
489    1,   /* dsub */                      \
490    1,   /* imul */                      \
491    1,   /* lmul */                      \
492    1,   /* fmul */                      \
493    1,   /* dmul */                      \
494    1,   /* idiv */                      \
495    1,   /* ldiv */                      \
496    1,   /* fdiv */                      \
497    1,   /* ddiv */                      \
498    1,   /* irem */                      \
499    1,   /* lrem */                      \
500    1,   /* frem */                      \
501    1,   /* drem */                      \
502    1,   /* ineg */                      \
503    1,   /* lneg */                      \
504    1,   /* fneg */                      \
505    1,   /* dneg */                      \
506    1,   /* ishl */                      \
507    1,   /* lshl */                      \
508    1,   /* ishr */                      \
509    1,   /* lshr */                      \
510    1,   /* iushr */                     \
511    1,   /* lushr */                     \
512    1,   /* iand */                      \
513    1,   /* land */                      \
514    1,   /* ior */                       \
515    1,   /* lor */                       \
516    1,   /* ixor */                      \
517    1,   /* lxor */                      \
518    3,   /* iinc */                      \
519    1,   /* i2l */                       \
520    1,   /* i2f */                       \
521    1,   /* i2d */                       \
522    1,   /* l2i */                       \
523    1,   /* l2f */                       \
524    1,   /* l2d */                       \
525    1,   /* f2i */                       \
526    1,   /* f2l */                       \
527    1,   /* f2d */                       \
528    1,   /* d2i */                       \
529    1,   /* d2l */                       \
530    1,   /* d2f */                       \
531    1,   /* i2b */                       \
532    1,   /* i2c */                       \
533    1,   /* i2s */                       \
534    1,   /* lcmp */                      \
535    1,   /* fcmpl */                     \
536    1,   /* fcmpg */                     \
537    1,   /* dcmpl */                     \
538    1,   /* dcmpg */                     \
539    3,   /* ifeq */                      \
540    3,   /* ifne */                      \
541    3,   /* iflt */                      \
542    3,   /* ifge */                      \
543    3,   /* ifgt */                      \
544    3,   /* ifle */                      \
545    3,   /* if_icmpeq */                 \
546    3,   /* if_icmpne */                 \
547    3,   /* if_icmplt */                 \
548    3,   /* if_icmpge */                 \
549    3,   /* if_icmpgt */                 \
550    3,   /* if_icmple */                 \
551    3,   /* if_acmpeq */                 \
552    3,   /* if_acmpne */                 \
553    3,   /* goto */                      \
554    3,   /* jsr */                       \
555    2,   /* ret */                       \
556    99,  /* tableswitch */               \
557    99,  /* lookupswitch */              \
558    1,   /* ireturn */                   \
559    1,   /* lreturn */                   \
560    1,   /* freturn */                   \
561    1,   /* dreturn */                   \
562    1,   /* areturn */                   \
563    1,   /* return */                    \
564    3,   /* getstatic */                 \
565    3,   /* putstatic */                 \
566    3,   /* getfield */                  \
567    3,   /* putfield */                  \
568    3,   /* invokevirtual */             \
569    3,   /* invokespecial */             \
570    3,   /* invokestatic */              \
571    5,   /* invokeinterface */           \
572    5,   /* invokedynamic */             \
573    3,   /* new */                       \
574    2,   /* newarray */                  \
575    3,   /* anewarray */                 \
576    1,   /* arraylength */               \
577    1,   /* athrow */                    \
578    3,   /* checkcast */                 \
579    3,   /* instanceof */                \
580    1,   /* monitorenter */              \
581    1,   /* monitorexit */               \
582    0,   /* wide */                      \
583    4,   /* multianewarray */            \
584    3,   /* ifnull */                    \
585    3,   /* ifnonnull */                 \
586    5,   /* goto_w */                    \
587    5    /* jsr_w */                     \
588 }
589 
590 #ifdef __cplusplus
591 } /* extern "C" */
592 #endif /* __cplusplus */
593 
594 #endif /* CLASSFILE_CONSTANTS */