1 /*** The ICMD Table ***/
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! */
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. */
10 /* The format is as follows (slashes reversed for obvious reasons): */
12 /* \*#*\ { N( name ) data-flow, control-flow, flags \* stage (action) *\ } */
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 */
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 */
33 /* action...........is the stack action of the ICMD in the notation */
34 /* instack--outstack, TOS being rightmost. */
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 */
42 /* Whitespace is not allowed within the action. */
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 |. */
49 /* CAUTION: Do not use preprocessor directives in this file! They will */
50 /* confuse the generator. */
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("UNDEF249 ") DF_0_TO_0 , CF_NORMAL, 0 /* -- () */},
304 /*250*/ {N("UNDEF250 ") DF_0_TO_0 , 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|.--) */}