Merged trunk and subtype.
[cacao.git] / src / vm / jit / ir / icmdtable.inc
1 /*** The ICMD Table ***/
2
3 /* IMPORTANT: This file must be in a fixed format, as it is both included in */
4 /* src/vm/jit/jit.c, and parsed by src/vm/jit/verify/generate.pl!            */
5 /*                                                                           */
6 /* The comments at the start of the line and inside the braces are           */
7 /* significant. If you want to add a comment to an ICMD, do that after the   */
8 /* comma, or brace, at the end of the line.                                  */
9 /*                                                                           */
10 /* The format is as follows (slashes reversed for obvious reasons):          */
11 /*                                                                           */
12 /* \*#*\ { N( name )  data-flow, control-flow, flags \* stage (action) *\ }  */
13 /*                                                                           */
14 /*  ^^^                                                                      */
15 /* opcode                                                                    */
16 /*                                                                           */
17 /* where                                                                     */
18 /*     opcode...........is the opcode number (decimal)                       */
19 /*     name.............is the quoted name without the ICMD_ prefix          */
20 /*     data-flow........is one of the DF_ constants (see jit.h)              */
21 /*     control-flow.....is one of the CF_ constants (see jit.h)              */
22 /*     flags............is 0 or a |-combination of                           */
23 /*                          PEI........may throw an exception                */
24 /*                          CALLS......needs saved registers (calls out)     */
25 /*                          *_CALLS....see jit.h for architecture specific   */
26 /*                                     constants to put here                 */
27 /*                                                                           */
28 /*     stage............is either empty, or one of                           */
29 /*                          --         ICMD is not used anywhere after parse */
30 /*                          -S         ICMD is eliminated by stack_analyse   */
31 /*                          S+         ICMD is introduced by stack_analyse   */
32 /*                                                                           */
33 /*     action...........is the stack action of the ICMD in the notation      */
34 /*                      instack--outstack, TOS being rightmost.              */
35 /*                                                                           */
36 /*                      Valid type characters are                            */
37 /*                          I, L, F, D, and A      the basic types           */
38 /*                          1                      a category 1 type         */
39 /*                          2                      a category 2 type         */
40 /*                          .                      variable number of slots  */
41 /*                                                                           */
42 /*                      Whitespace is not allowed within the action.         */
43 /*                                                                           */
44 /*                      Some ICMDs may have several variants. In this case   */
45 /*                      the action is build by joining the individual        */
46 /*                      actions of the variants with |.                      */
47 /*                                                                           */
48 /*                                                                           */
49 /* CAUTION: Do not use preprocessor directives in this file! They will       */
50 /*          confuse the generator.                                           */
51 /*                                                                           */
52
53
54 /*  0*/ {N("NOP            ") DF_0_TO_0 , CF_NORMAL, 0              /*    (--)                 */},
55 /*  1*/ {N("ACONST         ") DF_0_TO_1 , CF_NORMAL, PEI            /*    (--A)                */},
56 /*  2*/ {N("CHECKNULL      ") DF_1_TO_1 , CF_NORMAL, PEI            /*    (A--A)               */},
57 /*  3*/ {N("ICONST         ") DF_0_TO_1 , CF_NORMAL, 0              /*    (--I)                */},
58 /*  4*/ {N("UNDEF4         ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
59 /*  5*/ {N("IDIVPOW2       ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (I--I)               */},
60 /*  6*/ {N("LDIVPOW2       ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (L--L)               */},
61 /*  7*/ {N("UNDEF7         ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
62 /*  8*/ {N("UNDEF8         ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
63 /*  9*/ {N("LCONST         ") DF_0_TO_1 , CF_NORMAL, 0              /*    (--L)                */},
64 /* 10*/ {N("LCMPCONST      ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (L--I)               */},
65 /* 11*/ {N("FCONST         ") DF_0_TO_1 , CF_NORMAL, 0              /*    (--F)                */},
66 /* 12*/ {N("UNDEF12        ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
67 /* 13*/ {N("UNDEF13        ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
68 /* 14*/ {N("DCONST         ") DF_0_TO_1 , CF_NORMAL, 0              /*    (--D)                */},
69 /* 15*/ {N("COPY           ") DF_COPY   , CF_NORMAL, 0              /* S+ (1--1)               */},
70 /* 16*/ {N("MOVE           ") DF_MOVE   , CF_NORMAL, 0              /* S+ (1--1)               */},
71 /* 17*/ {N("UNDEF17        ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
72 /* 18*/ {N("UNDEF18        ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
73 /* 19*/ {N("UNDEF19        ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
74 /* 20*/ {N("UNDEF20        ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
75 /* 21*/ {N("ILOAD          ") DF_LOAD   , CF_NORMAL, 0              /*    (--I)                */},
76 /* 22*/ {N("LLOAD          ") DF_LOAD   , CF_NORMAL, 0              /*    (--L)                */},
77 /* 23*/ {N("FLOAD          ") DF_LOAD   , CF_NORMAL, 0              /*    (--F)                */},
78 /* 24*/ {N("DLOAD          ") DF_LOAD   , CF_NORMAL, 0              /*    (--D)                */},
79 /* 25*/ {N("ALOAD          ") DF_LOAD   , CF_NORMAL, 0              /*    (--A)                */},
80 /* 26*/ {N("IADDCONST      ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (I--I)               */},
81 /* 27*/ {N("ISUBCONST      ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (I--I)               */},
82 /* 28*/ {N("IMULCONST      ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (I--I)               */},
83 /* 29*/ {N("IANDCONST      ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (I--I)               */},
84 /* 30*/ {N("IORCONST       ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (I--I)               */},
85 /* 31*/ {N("IXORCONST      ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (I--I)               */},
86 /* 32*/ {N("ISHLCONST      ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (I--I)               */},
87 /* 33*/ {N("ISHRCONST      ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (I--I)               */},
88 /* 34*/ {N("IUSHRCONST     ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (I--I)               */},
89 /* 35*/ {N("IREMPOW2       ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (I--I)               */},
90 /* 36*/ {N("LADDCONST      ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (L--L)               */},
91 /* 37*/ {N("LSUBCONST      ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (L--L)               */},
92 /* 38*/ {N("LMULCONST      ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (L--L)               */},
93 /* 39*/ {N("LANDCONST      ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (L--L)               */},
94 /* 40*/ {N("LORCONST       ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (L--L)               */},
95 /* 41*/ {N("LXORCONST      ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (L--L)               */},
96 /* 42*/ {N("LSHLCONST      ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (L--L)               */},
97 /* 43*/ {N("LSHRCONST      ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (L--L)               */},
98 /* 44*/ {N("LUSHRCONST     ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (L--L)               */},
99 /* 45*/ {N("LREMPOW2       ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (L--L)               */},
100 /* 46*/ {N("IALOAD         ") DF_2_TO_1 , CF_NORMAL, PEI            /*    (AI--I)              */},
101 /* 47*/ {N("LALOAD         ") DF_2_TO_1 , CF_NORMAL, PEI            /*    (AI--L)              */},
102 /* 48*/ {N("FALOAD         ") DF_2_TO_1 , CF_NORMAL, PEI            /*    (AI--F)              */},
103 /* 49*/ {N("DALOAD         ") DF_2_TO_1 , CF_NORMAL, PEI            /*    (AI--D)              */},
104 /* 50*/ {N("AALOAD         ") DF_2_TO_1 , CF_NORMAL, PEI            /*    (AI--A)              */},
105 /* 51*/ {N("BALOAD         ") DF_2_TO_1 , CF_NORMAL, PEI            /*    (AI--I)              */},
106 /* 52*/ {N("CALOAD         ") DF_2_TO_1 , CF_NORMAL, PEI            /*    (AI--I)              */},
107 /* 53*/ {N("SALOAD         ") DF_2_TO_1 , CF_NORMAL, PEI            /*    (AI--I)              */},
108 /* 54*/ {N("ISTORE         ") DF_STORE  , CF_NORMAL, 0              /*    (I--)                */},
109 /* 55*/ {N("LSTORE         ") DF_STORE  , CF_NORMAL, 0              /*    (L--)                */},
110 /* 56*/ {N("FSTORE         ") DF_STORE  , CF_NORMAL, 0              /*    (F--)                */},
111 /* 57*/ {N("DSTORE         ") DF_STORE  , CF_NORMAL, 0              /*    (D--)                */},
112 /* 58*/ {N("ASTORE         ") DF_STORE  , CF_NORMAL, 0              /*    (A--|R--)            */},
113 /* 59*/ {N("IF_LEQ         ") DF_1_TO_0 , CF_IF    , 0              /* S+ (L--)                */},
114 /* 60*/ {N("IF_LNE         ") DF_1_TO_0 , CF_IF    , 0              /* S+ (L--)                */},
115 /* 61*/ {N("IF_LLT         ") DF_1_TO_0 , CF_IF    , 0              /* S+ (L--)                */},
116 /* 62*/ {N("IF_LGE         ") DF_1_TO_0 , CF_IF    , 0              /* S+ (L--)                */},
117 /* 63*/ {N("IF_LGT         ") DF_1_TO_0 , CF_IF    , 0              /* S+ (L--)                */},
118 /* 64*/ {N("IF_LLE         ") DF_1_TO_0 , CF_IF    , 0              /* S+ (L--)                */},
119 /* 65*/ {N("IF_LCMPEQ      ") DF_2_TO_0 , CF_IF    , 0              /* S+ (LL--)               */},
120 /* 66*/ {N("IF_LCMPNE      ") DF_2_TO_0 , CF_IF    , 0              /* S+ (LL--)               */},
121 /* 67*/ {N("IF_LCMPLT      ") DF_2_TO_0 , CF_IF    , 0              /* S+ (LL--)               */},
122 /* 68*/ {N("IF_LCMPGE      ") DF_2_TO_0 , CF_IF    , 0              /* S+ (LL--)               */},
123 /* 69*/ {N("IF_LCMPGT      ") DF_2_TO_0 , CF_IF    , 0              /* S+ (LL--)               */},
124 /* 70*/ {N("IF_LCMPLE      ") DF_2_TO_0 , CF_IF    , 0              /* S+ (LL--)               */},
125 /* 71*/ {N("UNDEF71        ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
126 /* 72*/ {N("UNDEF72        ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
127 /* 73*/ {N("UNDEF73        ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
128 /* 74*/ {N("UNDEF74        ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
129 /* 75*/ {N("UNDEF75        ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
130 /* 76*/ {N("UNDEF76        ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
131 /* 77*/ {N("UNDEF77        ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
132 /* 78*/ {N("UNDEF78        ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
133 /* 79*/ {N("IASTORE        ") DF_3_TO_0 , CF_NORMAL, PEI            /*    (AII--)              */},
134 /* 80*/ {N("LASTORE        ") DF_3_TO_0 , CF_NORMAL, PEI            /*    (AIL--)              */},
135 /* 81*/ {N("FASTORE        ") DF_3_TO_0 , CF_NORMAL, PEI            /*    (AIF--)              */},
136 /* 82*/ {N("DASTORE        ") DF_3_TO_0 , CF_NORMAL, PEI            /*    (AID--)              */},
137 /* 83*/ {N("AASTORE        ") DF_3_TO_0 , CF_NORMAL, PEI|CALLS      /*    (AIA--)              */},
138 /* 84*/ {N("BASTORE        ") DF_3_TO_0 , CF_NORMAL, PEI            /*    (AII--)              */},
139 /* 85*/ {N("CASTORE        ") DF_3_TO_0 , CF_NORMAL, PEI            /*    (AII--)              */},
140 /* 86*/ {N("SASTORE        ") DF_3_TO_0 , CF_NORMAL, PEI            /*    (AII--)              */},
141 /* 87*/ {N("POP            ") DF_POP    , CF_NORMAL, 0              /*    (1--)                */},
142 /* 88*/ {N("POP2           ") DF_POP2   , CF_NORMAL, 0              /*    (11--|2--)           */},
143 /* 89*/ {N("DUP            ") DF_DUP    , CF_NORMAL, 0              /* -S (1--11)              */},
144 /* 90*/ {N("DUP_X1         ") DF_DUP_X1 , CF_NORMAL, 0              /* -S (11--111)            */},
145 /* 91*/ {N("DUP_X2         ") DF_DUP_X2 , CF_NORMAL, 0              /* -S (111--1111|21--121)  */},
146 /* 92*/ {N("DUP2           ") DF_DUP2   , CF_NORMAL, 0              /* -S (11--1111|2--22)     */},
147 /* 93*/ {N("DUP2_X1        ") DF_DUP2_X1, CF_NORMAL, 0              /* -S (111--11111|12--212) */},
148 /* 94*/ {N("DUP2_X2        ") DF_DUP2_X2, CF_NORMAL, 0              /* -S (1111--111111|112--2112|22--222|211--11211) */},
149 /* 95*/ {N("SWAP           ") DF_SWAP   , CF_NORMAL, 0              /* -S (11--11)             */},
150 /* 96*/ {N("IADD           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (II--I)              */},
151 /* 97*/ {N("LADD           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (LL--L)              */},
152 /* 98*/ {N("FADD           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (FF--F)              */},
153 /* 99*/ {N("DADD           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (DD--D)              */},
154 /*100*/ {N("ISUB           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (II--I)              */},
155 /*101*/ {N("LSUB           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (LL--L)              */},
156 /*102*/ {N("FSUB           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (FF--F)              */},
157 /*103*/ {N("DSUB           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (DD--D)              */},
158 /*104*/ {N("IMUL           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (II--I)              */},
159 /*105*/ {N("LMUL           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (LL--L)              */},
160 /*106*/ {N("FMUL           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (FF--F)              */},
161 /*107*/ {N("DMUL           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (DD--D)              */},
162 /*108*/ {N("IDIV           ") DF_2_TO_1 , CF_NORMAL, PEI|IDIV_CALLS /*    (II--I)              */},
163 /*109*/ {N("LDIV           ") DF_2_TO_1 , CF_NORMAL, PEI|LDIV_CALLS /*    (LL--L)              */},
164 /*110*/ {N("FDIV           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (FF--F)              */},
165 /*111*/ {N("DDIV           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (DD--D)              */},
166 /*112*/ {N("IREM           ") DF_2_TO_1 , CF_NORMAL, PEI|IDIV_CALLS /*    (II--I)              */},
167 /*113*/ {N("LREM           ") DF_2_TO_1 , CF_NORMAL, PEI|LDIV_CALLS /*    (LL--L)              */},
168 /*114*/ {N("FREM           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (FF--F)              */},
169 /*115*/ {N("DREM           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (DD--D)              */},
170 /*116*/ {N("INEG           ") DF_1_TO_1 , CF_NORMAL, 0              /*    (I--I)               */},
171 /*117*/ {N("LNEG           ") DF_1_TO_1 , CF_NORMAL, 0              /*    (L--L)               */},
172 /*118*/ {N("FNEG           ") DF_1_TO_1 , CF_NORMAL, 0              /*    (F--F)               */},
173 /*119*/ {N("DNEG           ") DF_1_TO_1 , CF_NORMAL, 0              /*    (D--D)               */},
174 /*120*/ {N("ISHL           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (II--I)              */},
175 /*121*/ {N("LSHL           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (LI--L)              */},
176 /*122*/ {N("ISHR           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (II--I)              */},
177 /*123*/ {N("LSHR           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (LI--L)              */},
178 /*124*/ {N("IUSHR          ") DF_2_TO_1 , CF_NORMAL, 0              /*    (II--I)              */},
179 /*125*/ {N("LUSHR          ") DF_2_TO_1 , CF_NORMAL, 0              /*    (LI--L)              */},
180 /*126*/ {N("IAND           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (II--I)              */},
181 /*127*/ {N("LAND           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (LL--L)              */},
182 /*128*/ {N("IOR            ") DF_2_TO_1 , CF_NORMAL, 0              /*    (II--I)              */},
183 /*129*/ {N("LOR            ") DF_2_TO_1 , CF_NORMAL, 0              /*    (LL--L)              */},
184 /*130*/ {N("IXOR           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (II--I)              */},
185 /*131*/ {N("LXOR           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (LL--L)              */},
186 /*132*/ {N("IINC           ") DF_IINC   , CF_NORMAL, 0              /*    (--)                 */},
187 /*133*/ {N("I2L            ") DF_1_TO_1 , CF_NORMAL, 0              /*    (I--L)               */},
188 /*134*/ {N("I2F            ") DF_1_TO_1 , CF_NORMAL, 0              /*    (I--F)               */},
189 /*135*/ {N("I2D            ") DF_1_TO_1 , CF_NORMAL, 0              /*    (I--D)               */},
190 /*136*/ {N("L2I            ") DF_1_TO_1 , CF_NORMAL, 0              /*    (L--I)               */},
191 /*137*/ {N("L2F            ") DF_1_TO_1 , CF_NORMAL, 0              /*    (L--F)               */},
192 /*138*/ {N("L2D            ") DF_1_TO_1 , CF_NORMAL, 0              /*    (L--D)               */},
193 /*139*/ {N("F2I            ") DF_1_TO_1 , CF_NORMAL, 0              /*    (F--I)               */},
194 /*140*/ {N("F2L            ") DF_1_TO_1 , CF_NORMAL, 0              /*    (F--L)               */},
195 /*141*/ {N("F2D            ") DF_1_TO_1 , CF_NORMAL, 0              /*    (F--D)               */},
196 /*142*/ {N("D2I            ") DF_1_TO_1 , CF_NORMAL, 0              /*    (D--I)               */},
197 /*143*/ {N("D2L            ") DF_1_TO_1 , CF_NORMAL, 0              /*    (D--L)               */},
198 /*144*/ {N("D2F            ") DF_1_TO_1 , CF_NORMAL, 0              /*    (D--F)               */},
199 /*145*/ {N("INT2BYTE       ") DF_1_TO_1 , CF_NORMAL, 0              /*    (I--I)               */},
200 /*146*/ {N("INT2CHAR       ") DF_1_TO_1 , CF_NORMAL, 0              /*    (I--I)               */},
201 /*147*/ {N("INT2SHORT      ") DF_1_TO_1 , CF_NORMAL, 0              /*    (I--I)               */},
202 /*148*/ {N("LCMP           ") DF_2_TO_1 , CF_NORMAL, 0              /*    (LL--I)              */},
203 /*149*/ {N("FCMPL          ") DF_2_TO_1 , CF_NORMAL, 0              /*    (FF--I)              */},
204 /*150*/ {N("FCMPG          ") DF_2_TO_1 , CF_NORMAL, 0              /*    (FF--I)              */},
205 /*151*/ {N("DCMPL          ") DF_2_TO_1 , CF_NORMAL, 0              /*    (DD--I)              */},
206 /*152*/ {N("DCMPG          ") DF_2_TO_1 , CF_NORMAL, 0              /*    (DD--I)              */},
207 /*153*/ {N("IFEQ           ") DF_1_TO_0 , CF_IF    , 0              /*    (I--)                */},
208 /*154*/ {N("IFNE           ") DF_1_TO_0 , CF_IF    , 0              /*    (I--)                */},
209 /*155*/ {N("IFLT           ") DF_1_TO_0 , CF_IF    , 0              /*    (I--)                */},
210 /*156*/ {N("IFGE           ") DF_1_TO_0 , CF_IF    , 0              /*    (I--)                */},
211 /*157*/ {N("IFGT           ") DF_1_TO_0 , CF_IF    , 0              /*    (I--)                */},
212 /*158*/ {N("IFLE           ") DF_1_TO_0 , CF_IF    , 0              /*    (I--)                */},
213 /*159*/ {N("IF_ICMPEQ      ") DF_2_TO_0 , CF_IF    , 0              /*    (II--)               */},
214 /*160*/ {N("IF_ICMPNE      ") DF_2_TO_0 , CF_IF    , 0              /*    (II--)               */},
215 /*161*/ {N("IF_ICMPLT      ") DF_2_TO_0 , CF_IF    , 0              /*    (II--)               */},
216 /*162*/ {N("IF_ICMPGE      ") DF_2_TO_0 , CF_IF    , 0              /*    (II--)               */},
217 /*163*/ {N("IF_ICMPGT      ") DF_2_TO_0 , CF_IF    , 0              /*    (II--)               */},
218 /*164*/ {N("IF_ICMPLE      ") DF_2_TO_0 , CF_IF    , 0              /*    (II--)               */},
219 /*165*/ {N("IF_ACMPEQ      ") DF_2_TO_0 , CF_IF    , 0              /*    (AA--)               */},
220 /*166*/ {N("IF_ACMPNE      ") DF_2_TO_0 , CF_IF    , 0              /*    (AA--)               */},
221 /*167*/ {N("GOTO           ") DF_0_TO_0 , CF_GOTO  , 0              /*    (--)                 */},
222 /*168*/ {N("JSR            ") DF_0_TO_1 , CF_JSR   , 0              /*    (--R)                */},
223 /*169*/ {N("RET            ") DF_0_TO_0 , CF_RET   , 0              /*    (--)                 */},
224 /*170*/ {N("TABLESWITCH    ") DF_1_TO_0 , CF_TABLE , 0              /*    (I--)                */},
225 /*171*/ {N("LOOKUPSWITCH   ") DF_1_TO_0 , CF_LOOKUP, 0              /*    (I--)                */},
226 /*172*/ {N("IRETURN        ") DF_1_TO_0 , CF_END   , 0              /*    (I--)                */},
227 /*173*/ {N("LRETURN        ") DF_1_TO_0 , CF_END   , 0              /*    (L--)                */},
228 /*174*/ {N("FRETURN        ") DF_1_TO_0 , CF_END   , 0              /*    (F--)                */},
229 /*175*/ {N("DRETURN        ") DF_1_TO_0 , CF_END   , 0              /*    (D--)                */},
230 /*176*/ {N("ARETURN        ") DF_1_TO_0 , CF_END   , PEI            /*    (A--)                */},
231 /*177*/ {N("RETURN         ") DF_0_TO_0 , CF_END   , 0              /*    (--)                 */},
232 /*178*/ {N("GETSTATIC      ") DF_0_TO_1 , CF_NORMAL, PEI            /*    (--1|--2)            */},
233 /*179*/ {N("PUTSTATIC      ") DF_1_TO_0 , CF_NORMAL, PEI            /*    (1--|2--)            */},
234 /*180*/ {N("GETFIELD       ") DF_1_TO_1 , CF_NORMAL, PEI            /*    (A--1|A--2)          */},
235 /*181*/ {N("PUTFIELD       ") DF_2_TO_0 , CF_NORMAL, PEI            /*    (A1--|A2--)          */},
236 /*182*/ {N("INVOKEVIRTUAL  ") DF_INVOKE , CF_NORMAL, PEI|CALLS      /*    (.--1|.--2|.--)      */},
237 /*183*/ {N("INVOKESPECIAL  ") DF_INVOKE , CF_NORMAL, PEI|CALLS      /*    (.--1|.--2|.--)      */},
238 /*184*/ {N("INVOKESTATIC   ") DF_INVOKE , CF_NORMAL, PEI|CALLS      /*    (.--1|.--2|.--)      */},
239 /*185*/ {N("INVOKEINTERFACE") DF_INVOKE , CF_NORMAL, PEI|CALLS      /*    (.--1|.--2|.--)      */},
240 /*186*/ {N("UNDEF186       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
241 /*187*/ {N("NEW            ") DF_0_TO_1 , CF_NORMAL, PEI            /* -- (--A)                */},
242 /*188*/ {N("NEWARRAY       ") DF_0_TO_1 , CF_NORMAL, PEI            /* -- (--A)                */},
243 /*189*/ {N("ANEWARRAY      ") DF_0_TO_1 , CF_NORMAL, PEI            /* -- (--A)                */},
244 /*190*/ {N("ARRAYLENGTH    ") DF_1_TO_1 , CF_NORMAL, PEI            /*    (A--I)               */},
245 /*191*/ {N("ATHROW         ") DF_1_TO_0 , CF_END   , PEI            /*    (A--)                */},
246 /*192*/ {N("CHECKCAST      ") DF_1_TO_1 , CF_NORMAL, PEI|CALLS      /*    (A--A)               */},
247 /*193*/ {N("INSTANCEOF     ") DF_1_TO_1 , CF_NORMAL, PEI|CALLS      /*    (A--I)               */},
248 /*194*/ {N("MONITORENTER   ") DF_1_TO_0 , CF_NORMAL, PEI|CALLS      /* -- (A--)                */},
249 /*195*/ {N("MONITOREXIT    ") DF_1_TO_0 , CF_NORMAL, PEI|CALLS      /* -- (A--)                */},
250 /*196*/ {N("UNDEF196       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
251 /*197*/ {N("MULTIANEWARRAY ") DF_N_TO_1 , CF_NORMAL, PEI|CALLS      /*    (.--A)               */},
252 /*198*/ {N("IFNULL         ") DF_1_TO_0 , CF_IF    , 0              /*    (A--)                */},
253 /*199*/ {N("IFNONNULL      ") DF_1_TO_0 , CF_IF    , 0              /*    (A--)                */},
254 /*200*/ {N("UNDEF200       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
255 /*201*/ {N("UNDEF201       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
256 /*202*/ {N("UNDEF202       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
257 /*203*/ {N("UNDEF203       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
258 /*204*/ {N("IASTORECONST   ") DF_2_TO_0 , CF_NORMAL, PEI            /* S+ (AI--)               */},
259 /*205*/ {N("LASTORECONST   ") DF_2_TO_0 , CF_NORMAL, PEI            /* S+ (AI--)               */},
260 /*206*/ {N("FASTORECONST   ") DF_2_TO_0 , CF_NORMAL, PEI            /* S+ (AI--)               */},
261 /*207*/ {N("DASTORECONST   ") DF_2_TO_0 , CF_NORMAL, PEI            /* S+ (AI--)               */},
262 /*208*/ {N("AASTORECONST   ") DF_2_TO_0 , CF_NORMAL, PEI            /* S+ (AI--)               */},
263 /*209*/ {N("BASTORECONST   ") DF_2_TO_0 , CF_NORMAL, PEI            /* S+ (AI--)               */},
264 /*210*/ {N("CASTORECONST   ") DF_2_TO_0 , CF_NORMAL, PEI            /* S+ (AI--)               */},
265 /*211*/ {N("SASTORECONST   ") DF_2_TO_0 , CF_NORMAL, PEI            /* S+ (AI--)               */},
266 /*212*/ {N("PUTSTATICCONST ") DF_0_TO_0 , CF_NORMAL, PEI            /* S+ (--)                 */},
267 /*213*/ {N("PUTFIELDCONST  ") DF_1_TO_0 , CF_NORMAL, PEI            /* S+ (A--)                */},
268 /*214*/ {N("IMULPOW2       ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (I--I)               */},
269 /*215*/ {N("LMULPOW2       ") DF_1_TO_1 , CF_NORMAL, 0              /* S+ (L--L)               */},
270 /*216*/ {N("IF_FCMPEQ      ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
271 /*217*/ {N("IF_FCMPNE      ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
272 /*218*/ {N("IF_FCMPL_LT    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
273 /*219*/ {N("IF_FCMPL_GE    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
274 /*220*/ {N("IF_FCMPL_GT    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
275 /*221*/ {N("IF_FCMPL_LE    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
276 /*222*/ {N("IF_FCMPG_LT    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
277 /*223*/ {N("IF_FCMPG_GE    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
278 /*224*/ {N("IF_FCMPG_GT    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
279 /*225*/ {N("IF_FCMPG_LE    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
280 /*226*/ {N("IF_DCMPEQ      ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
281 /*227*/ {N("IF_DCMPNE      ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
282 /*228*/ {N("IF_DCMPL_LT    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
283 /*229*/ {N("IF_DCMPL_GE    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
284 /*230*/ {N("IF_DCMPL_GT    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
285 /*231*/ {N("IF_DCMPL_LE    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
286 /*232*/ {N("IF_DCMPG_LT    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
287 /*233*/ {N("IF_DCMPG_GE    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
288 /*234*/ {N("IF_DCMPG_GT    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
289 /*235*/ {N("IF_DCMPG_LE    ") DF_0_TO_0 , CF_IF    , 0              /* -- ()                   */},
290 /*236*/ {N("UNDEF236       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
291 /*237*/ {N("UNDEF237       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
292 /*238*/ {N("UNDEF238       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
293 /*239*/ {N("UNDEF239       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
294 /*240*/ {N("UNDEF240       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
295 /*241*/ {N("UNDEF241       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
296 /*242*/ {N("UNDEF242       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
297 /*243*/ {N("UNDEF243       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
298 /*244*/ {N("UNDEF244       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
299 /*245*/ {N("UNDEF245       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
300 /*246*/ {N("UNDEF246       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
301 /*247*/ {N("UNDEF247       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
302 /*248*/ {N("UNDEF248       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
303 /*249*/ {N("GETEXCEPTION   ") DF_0_TO_1 , CF_NORMAL, 0              /* -- ()                   */},
304 /*250*/ {N("PHI            ") DF_N_TO_1 , CF_NORMAL, 0              /* -- ()                   */},
305 /*251*/ {N("INLINE_START   ") DF_0_TO_0 , CF_NORMAL, 0              /* S+ (--)                 */},
306 /*252*/ {N("INLINE_END     ") DF_0_TO_0 , CF_NORMAL, 0              /* S+ (--)                 */},
307 /*253*/ {N("INLINE_BODY    ") DF_0_TO_0 , CF_NORMAL, 0              /* S+ (--)                 */},
308 /*254*/ {N("UNDEF254       ") DF_0_TO_0 , CF_NORMAL, 0              /* -- ()                   */},
309 /*255*/ {N("BUILTIN        ") DF_BUILTIN, CF_NORMAL, PEI|CALLS      /*    (.--1|.--2|.--)      */}
310