blob: 6e93ec63828169ca6ce824e35261a20ff80a9360 [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001/*
2 * Copyright 1998-2007 Sun Microsystems, Inc. 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. Sun designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit www.sun.com if you need additional information or
23 * have any questions.
24 */
25
26const short opcode_length[256] = {
27 1, /* nop */
28 1, /* aconst_null */
29 1, /* iconst_m1 */
30 1, /* iconst_0 */
31 1, /* iconst_1 */
32 1, /* iconst_2 */
33 1, /* iconst_3 */
34 1, /* iconst_4 */
35 1, /* iconst_5 */
36 1, /* lconst_0 */
37 1, /* lconst_1 */
38 1, /* fconst_0 */
39 1, /* fconst_1 */
40 1, /* fconst_2 */
41 1, /* dconst_0 */
42 1, /* dconst_1 */
43 2, /* bipush */
44 3, /* sipush */
45 2, /* ldc */
46 3, /* ldc_w */
47 3, /* ldc2_w */
48 2, /* iload */
49 2, /* lload */
50 2, /* fload */
51 2, /* dload */
52 2, /* aload */
53 1, /* iload_0 */
54 1, /* iload_1 */
55 1, /* iload_2 */
56 1, /* iload_3 */
57 1, /* lload_0 */
58 1, /* lload_1 */
59 1, /* lload_2 */
60 1, /* lload_3 */
61 1, /* fload_0 */
62 1, /* fload_1 */
63 1, /* fload_2 */
64 1, /* fload_3 */
65 1, /* dload_0 */
66 1, /* dload_1 */
67 1, /* dload_2 */
68 1, /* dload_3 */
69 1, /* aload_0 */
70 1, /* aload_1 */
71 1, /* aload_2 */
72 1, /* aload_3 */
73 1, /* iaload */
74 1, /* laload */
75 1, /* faload */
76 1, /* daload */
77 1, /* aaload */
78 1, /* baload */
79 1, /* caload */
80 1, /* saload */
81 2, /* istore */
82 2, /* lstore */
83 2, /* fstore */
84 2, /* dstore */
85 2, /* astore */
86 1, /* istore_0 */
87 1, /* istore_1 */
88 1, /* istore_2 */
89 1, /* istore_3 */
90 1, /* lstore_0 */
91 1, /* lstore_1 */
92 1, /* lstore_2 */
93 1, /* lstore_3 */
94 1, /* fstore_0 */
95 1, /* fstore_1 */
96 1, /* fstore_2 */
97 1, /* fstore_3 */
98 1, /* dstore_0 */
99 1, /* dstore_1 */
100 1, /* dstore_2 */
101 1, /* dstore_3 */
102 1, /* astore_0 */
103 1, /* astore_1 */
104 1, /* astore_2 */
105 1, /* astore_3 */
106 1, /* iastore */
107 1, /* lastore */
108 1, /* fastore */
109 1, /* dastore */
110 1, /* aastore */
111 1, /* bastore */
112 1, /* castore */
113 1, /* sastore */
114 1, /* pop */
115 1, /* pop2 */
116 1, /* dup */
117 1, /* dup_x1 */
118 1, /* dup_x2 */
119 1, /* dup2 */
120 1, /* dup2_x1 */
121 1, /* dup2_x2 */
122 1, /* swap */
123 1, /* iadd */
124 1, /* ladd */
125 1, /* fadd */
126 1, /* dadd */
127 1, /* isub */
128 1, /* lsub */
129 1, /* fsub */
130 1, /* dsub */
131 1, /* imul */
132 1, /* lmul */
133 1, /* fmul */
134 1, /* dmul */
135 1, /* idiv */
136 1, /* ldiv */
137 1, /* fdiv */
138 1, /* ddiv */
139 1, /* irem */
140 1, /* lrem */
141 1, /* frem */
142 1, /* drem */
143 1, /* ineg */
144 1, /* lneg */
145 1, /* fneg */
146 1, /* dneg */
147 1, /* ishl */
148 1, /* lshl */
149 1, /* ishr */
150 1, /* lshr */
151 1, /* iushr */
152 1, /* lushr */
153 1, /* iand */
154 1, /* land */
155 1, /* ior */
156 1, /* lor */
157 1, /* ixor */
158 1, /* lxor */
159 3, /* iinc */
160 1, /* i2l */
161 1, /* i2f */
162 1, /* i2d */
163 1, /* l2i */
164 1, /* l2f */
165 1, /* l2d */
166 1, /* f2i */
167 1, /* f2l */
168 1, /* f2d */
169 1, /* d2i */
170 1, /* d2l */
171 1, /* d2f */
172 1, /* i2b */
173 1, /* i2c */
174 1, /* i2s */
175 1, /* lcmp */
176 1, /* fcmpl */
177 1, /* fcmpg */
178 1, /* dcmpl */
179 1, /* dcmpg */
180 3, /* ifeq */
181 3, /* ifne */
182 3, /* iflt */
183 3, /* ifge */
184 3, /* ifgt */
185 3, /* ifle */
186 3, /* if_icmpeq */
187 3, /* if_icmpne */
188 3, /* if_icmplt */
189 3, /* if_icmpge */
190 3, /* if_icmpgt */
191 3, /* if_icmple */
192 3, /* if_acmpeq */
193 3, /* if_acmpne */
194 3, /* goto */
195 3, /* jsr */
196 2, /* ret */
197 99, /* tableswitch */
198 99, /* lookupswitch */
199 1, /* ireturn */
200 1, /* lreturn */
201 1, /* freturn */
202 1, /* dreturn */
203 1, /* areturn */
204 1, /* return */
205 3, /* getstatic */
206 3, /* putstatic */
207 3, /* getfield */
208 3, /* putfield */
209 3, /* invokevirtual */
210 3, /* invokespecial */
211 3, /* invokestatic */
212 5, /* invokeinterface */
213 0, /* xxxunusedxxx */
214 3, /* new */
215 2, /* newarray */
216 3, /* anewarray */
217 1, /* arraylength */
218 1, /* athrow */
219 3, /* checkcast */
220 3, /* instanceof */
221 1, /* monitorenter */
222 1, /* monitorexit */
223 0, /* wide */
224 4, /* multianewarray */
225 3, /* ifnull */
226 3, /* ifnonnull */
227 5, /* goto_w */
228 5, /* jsr_w */
229 1, /* breakpoint */
230 2, /* ldc_quick */
231 3, /* ldc_w_quick */
232 3, /* ldc2_w_quick */
233 3, /* getfield_quick */
234 3, /* putfield_quick */
235 3, /* getfield2_quick */
236 3, /* putfield2_quick */
237 3, /* getstatic_quick */
238 3, /* putstatic_quick */
239 3, /* getstatic2_quick */
240 3, /* putstatic2_quick */
241 3, /* invokevirtual_quick */
242 3, /* invokenonvirtual_quick */
243 3, /* invokesuper_quick */
244 3, /* invokestatic_quick */
245 5, /* invokeinterface_quick */
246 3, /* invokevirtualobject_quick */
247 3, /* invokeignored_quick */
248 3, /* new_quick */
249 3, /* anewarray_quick */
250 4, /* multianewarray_quick */
251 3, /* checkcast_quick */
252 3, /* instanceof_quick */
253 3, /* invokevirtual_quick_w */
254 3, /* getfield_quick_w */
255 3, /* putfield_quick_w */
256 1, /* nonnull_quick */
257 -1,
258 -1,
259 -1,
260 -1,
261 -1,
262 -1,
263 -1,
264 -1,
265 -1,
266 -1,
267 -1,
268 -1,
269 -1,
270 -1,
271 -1,
272 -1,
273 -1,
274 -1,
275 -1,
276 -1,
277 -1,
278 -1,
279 -1,
280 -1,
281 -1,
282 -1,
283};