001: /*
002: *
003: *
004: * Copyright 1990-2007 Sun Microsystems, Inc. All Rights Reserved.
005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License version
009: * 2 only, as published by the Free Software Foundation.
010: *
011: * This program is distributed in the hope that it will be useful, but
012: * WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * General Public License version 2 for more details (a copy is
015: * included at /legal/license.txt).
016: *
017: * You should have received a copy of the GNU General Public License
018: * version 2 along with this work; if not, write to the Free Software
019: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA
021: *
022: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
023: * Clara, CA 95054 or visit www.sun.com if you need additional
024: * information or have any questions.
025: */
026:
027: /*
028: * This interface contains opc_ constant values,
029: * a table of opcode names, and a table of instruction lengths.
030: * It is generated from opcodes.list.
031: * It is vm dependent, because it includes the quick opcodes.
032: */
033: package jcc;
034:
035: public interface OpcodeConst {
036: public static final int opc_nop = 0;
037: public static final int opc_aconst_null = 1;
038: public static final int opc_iconst_m1 = 2;
039: public static final int opc_iconst_0 = 3;
040: public static final int opc_iconst_1 = 4;
041: public static final int opc_iconst_2 = 5;
042: public static final int opc_iconst_3 = 6;
043: public static final int opc_iconst_4 = 7;
044: public static final int opc_iconst_5 = 8;
045: public static final int opc_lconst_0 = 9;
046: public static final int opc_lconst_1 = 10;
047: public static final int opc_fconst_0 = 11;
048: public static final int opc_fconst_1 = 12;
049: public static final int opc_fconst_2 = 13;
050: public static final int opc_dconst_0 = 14;
051: public static final int opc_dconst_1 = 15;
052: public static final int opc_bipush = 16;
053: public static final int opc_sipush = 17;
054: public static final int opc_ldc = 18;
055: public static final int opc_ldc_w = 19;
056: public static final int opc_ldc2_w = 20;
057: public static final int opc_iload = 21;
058: public static final int opc_lload = 22;
059: public static final int opc_fload = 23;
060: public static final int opc_dload = 24;
061: public static final int opc_aload = 25;
062: public static final int opc_iload_0 = 26;
063: public static final int opc_iload_1 = 27;
064: public static final int opc_iload_2 = 28;
065: public static final int opc_iload_3 = 29;
066: public static final int opc_lload_0 = 30;
067: public static final int opc_lload_1 = 31;
068: public static final int opc_lload_2 = 32;
069: public static final int opc_lload_3 = 33;
070: public static final int opc_fload_0 = 34;
071: public static final int opc_fload_1 = 35;
072: public static final int opc_fload_2 = 36;
073: public static final int opc_fload_3 = 37;
074: public static final int opc_dload_0 = 38;
075: public static final int opc_dload_1 = 39;
076: public static final int opc_dload_2 = 40;
077: public static final int opc_dload_3 = 41;
078: public static final int opc_aload_0 = 42;
079: public static final int opc_aload_1 = 43;
080: public static final int opc_aload_2 = 44;
081: public static final int opc_aload_3 = 45;
082: public static final int opc_iaload = 46;
083: public static final int opc_laload = 47;
084: public static final int opc_faload = 48;
085: public static final int opc_daload = 49;
086: public static final int opc_aaload = 50;
087: public static final int opc_baload = 51;
088: public static final int opc_caload = 52;
089: public static final int opc_saload = 53;
090: public static final int opc_istore = 54;
091: public static final int opc_lstore = 55;
092: public static final int opc_fstore = 56;
093: public static final int opc_dstore = 57;
094: public static final int opc_astore = 58;
095: public static final int opc_istore_0 = 59;
096: public static final int opc_istore_1 = 60;
097: public static final int opc_istore_2 = 61;
098: public static final int opc_istore_3 = 62;
099: public static final int opc_lstore_0 = 63;
100: public static final int opc_lstore_1 = 64;
101: public static final int opc_lstore_2 = 65;
102: public static final int opc_lstore_3 = 66;
103: public static final int opc_fstore_0 = 67;
104: public static final int opc_fstore_1 = 68;
105: public static final int opc_fstore_2 = 69;
106: public static final int opc_fstore_3 = 70;
107: public static final int opc_dstore_0 = 71;
108: public static final int opc_dstore_1 = 72;
109: public static final int opc_dstore_2 = 73;
110: public static final int opc_dstore_3 = 74;
111: public static final int opc_astore_0 = 75;
112: public static final int opc_astore_1 = 76;
113: public static final int opc_astore_2 = 77;
114: public static final int opc_astore_3 = 78;
115: public static final int opc_iastore = 79;
116: public static final int opc_lastore = 80;
117: public static final int opc_fastore = 81;
118: public static final int opc_dastore = 82;
119: public static final int opc_aastore = 83;
120: public static final int opc_bastore = 84;
121: public static final int opc_castore = 85;
122: public static final int opc_sastore = 86;
123: public static final int opc_pop = 87;
124: public static final int opc_pop2 = 88;
125: public static final int opc_dup = 89;
126: public static final int opc_dup_x1 = 90;
127: public static final int opc_dup_x2 = 91;
128: public static final int opc_dup2 = 92;
129: public static final int opc_dup2_x1 = 93;
130: public static final int opc_dup2_x2 = 94;
131: public static final int opc_swap = 95;
132: public static final int opc_iadd = 96;
133: public static final int opc_ladd = 97;
134: public static final int opc_fadd = 98;
135: public static final int opc_dadd = 99;
136: public static final int opc_isub = 100;
137: public static final int opc_lsub = 101;
138: public static final int opc_fsub = 102;
139: public static final int opc_dsub = 103;
140: public static final int opc_imul = 104;
141: public static final int opc_lmul = 105;
142: public static final int opc_fmul = 106;
143: public static final int opc_dmul = 107;
144: public static final int opc_idiv = 108;
145: public static final int opc_ldiv = 109;
146: public static final int opc_fdiv = 110;
147: public static final int opc_ddiv = 111;
148: public static final int opc_irem = 112;
149: public static final int opc_lrem = 113;
150: public static final int opc_frem = 114;
151: public static final int opc_drem = 115;
152: public static final int opc_ineg = 116;
153: public static final int opc_lneg = 117;
154: public static final int opc_fneg = 118;
155: public static final int opc_dneg = 119;
156: public static final int opc_ishl = 120;
157: public static final int opc_lshl = 121;
158: public static final int opc_ishr = 122;
159: public static final int opc_lshr = 123;
160: public static final int opc_iushr = 124;
161: public static final int opc_lushr = 125;
162: public static final int opc_iand = 126;
163: public static final int opc_land = 127;
164: public static final int opc_ior = 128;
165: public static final int opc_lor = 129;
166: public static final int opc_ixor = 130;
167: public static final int opc_lxor = 131;
168: public static final int opc_iinc = 132;
169: public static final int opc_i2l = 133;
170: public static final int opc_i2f = 134;
171: public static final int opc_i2d = 135;
172: public static final int opc_l2i = 136;
173: public static final int opc_l2f = 137;
174: public static final int opc_l2d = 138;
175: public static final int opc_f2i = 139;
176: public static final int opc_f2l = 140;
177: public static final int opc_f2d = 141;
178: public static final int opc_d2i = 142;
179: public static final int opc_d2l = 143;
180: public static final int opc_d2f = 144;
181: public static final int opc_i2b = 145;
182: public static final int opc_i2c = 146;
183: public static final int opc_i2s = 147;
184: public static final int opc_lcmp = 148;
185: public static final int opc_fcmpl = 149;
186: public static final int opc_fcmpg = 150;
187: public static final int opc_dcmpl = 151;
188: public static final int opc_dcmpg = 152;
189: public static final int opc_ifeq = 153;
190: public static final int opc_ifne = 154;
191: public static final int opc_iflt = 155;
192: public static final int opc_ifge = 156;
193: public static final int opc_ifgt = 157;
194: public static final int opc_ifle = 158;
195: public static final int opc_if_icmpeq = 159;
196: public static final int opc_if_icmpne = 160;
197: public static final int opc_if_icmplt = 161;
198: public static final int opc_if_icmpge = 162;
199: public static final int opc_if_icmpgt = 163;
200: public static final int opc_if_icmple = 164;
201: public static final int opc_if_acmpeq = 165;
202: public static final int opc_if_acmpne = 166;
203: public static final int opc_goto = 167;
204: public static final int opc_jsr = 168;
205: public static final int opc_ret = 169;
206: public static final int opc_tableswitch = 170;
207: public static final int opc_lookupswitch = 171;
208: public static final int opc_ireturn = 172;
209: public static final int opc_lreturn = 173;
210: public static final int opc_freturn = 174;
211: public static final int opc_dreturn = 175;
212: public static final int opc_areturn = 176;
213: public static final int opc_return = 177;
214: public static final int opc_getstatic = 178;
215: public static final int opc_putstatic = 179;
216: public static final int opc_getfield = 180;
217: public static final int opc_putfield = 181;
218: public static final int opc_invokevirtual = 182;
219: public static final int opc_invokespecial = 183;
220: public static final int opc_invokestatic = 184;
221: public static final int opc_invokeinterface = 185;
222: public static final int opc_xxxunusedxxx = 186;
223: public static final int opc_new = 187;
224: public static final int opc_newarray = 188;
225: public static final int opc_anewarray = 189;
226: public static final int opc_arraylength = 190;
227: public static final int opc_athrow = 191;
228: public static final int opc_checkcast = 192;
229: public static final int opc_instanceof = 193;
230: public static final int opc_monitorenter = 194;
231: public static final int opc_monitorexit = 195;
232: public static final int opc_wide = 196;
233: public static final int opc_multianewarray = 197;
234: public static final int opc_ifnull = 198;
235: public static final int opc_ifnonnull = 199;
236: public static final int opc_goto_w = 200;
237: public static final int opc_jsr_w = 201;
238: public static final int opc_breakpoint = 202;
239:
240: public static final int opc_getfield_fast = 203;
241: public static final int opc_getfieldp_fast = 204;
242: public static final int opc_getfield2_fast = 205;
243: public static final int opc_putfield_fast = 206;
244: public static final int opc_putfield2_fast = 207;
245: public static final int opc_getstatic_fast = 208;
246: public static final int opc_getstaticp_fast = 209;
247: public static final int opc_getstatic2_fast = 210;
248: public static final int opc_putstatic_fast = 211;
249: public static final int opc_putstatic2_fast = 212;
250: public static final int opc_unused_d5 = 213;
251: public static final int opc_invokevirtual_fast = 214;
252: public static final int opc_invokespecial_fast = 215;
253: public static final int opc_invokestatic_fast = 216;
254: public static final int opc_invokeinterface_fast = 217;
255: public static final int opc_new_fast = 218;
256: public static final int opc_anewarray_fast = 219;
257: public static final int opc_multianewarray_fast = 220;
258: public static final int opc_checkcast_fast = 221;
259: public static final int opc_instanceof _fast = 222;
260:
261: public static final int opc_customcode = 223;
262:
263: /*** These don't actually exist. . . . ***/
264: public static final int opc_nonnull_quick = 224;
265: public static final int opc_invokeignored_quick = 225;
266:
267: public static final String opcNames[] = { "nop", "aconst_null",
268: "iconst_m1", "iconst_0", "iconst_1", "iconst_2",
269: "iconst_3", "iconst_4", "iconst_5", "lconst_0", "lconst_1",
270: "fconst_0", "fconst_1", "fconst_2", "dconst_0", "dconst_1",
271: "bipush", "sipush", "ldc", "ldc_w", "ldc2_w", "iload",
272: "lload", "fload", "dload", "aload", "iload_0", "iload_1",
273: "iload_2", "iload_3", "lload_0", "lload_1", "lload_2",
274: "lload_3", "fload_0", "fload_1", "fload_2", "fload_3",
275: "dload_0", "dload_1", "dload_2", "dload_3", "aload_0",
276: "aload_1", "aload_2", "aload_3", "iaload", "laload",
277: "faload", "daload", "aaload", "baload", "caload", "saload",
278: "istore", "lstore", "fstore", "dstore", "astore",
279: "istore_0", "istore_1", "istore_2", "istore_3", "lstore_0",
280: "lstore_1", "lstore_2", "lstore_3", "fstore_0", "fstore_1",
281: "fstore_2", "fstore_3", "dstore_0", "dstore_1", "dstore_2",
282: "dstore_3", "astore_0", "astore_1", "astore_2", "astore_3",
283: "iastore", "lastore", "fastore", "dastore", "aastore",
284: "bastore", "castore", "sastore", "pop", "pop2", "dup",
285: "dup_x1", "dup_x2", "dup2", "dup2_x1", "dup2_x2", "swap",
286: "iadd", "ladd", "fadd", "dadd", "isub", "lsub", "fsub",
287: "dsub", "imul", "lmul", "fmul", "dmul", "idiv", "ldiv",
288: "fdiv", "ddiv", "irem", "lrem", "frem", "drem", "ineg",
289: "lneg", "fneg", "dneg", "ishl", "lshl", "ishr", "lshr",
290: "iushr", "lushr", "iand", "land", "ior", "lor", "ixor",
291: "lxor", "iinc", "i2l", "i2f", "i2d", "l2i", "l2f", "l2d",
292: "f2i", "f2l", "f2d", "d2i", "d2l", "d2f", "i2b", "i2c",
293: "i2s", "lcmp", "fcmpl", "fcmpg", "dcmpl", "dcmpg", "ifeq",
294: "ifne", "iflt", "ifge", "ifgt", "ifle", "if_icmpeq",
295: "if_icmpne", "if_icmplt", "if_icmpge", "if_icmpgt",
296: "if_icmple", "if_acmpeq", "if_acmpne", "goto", "jsr",
297: "ret", "tableswitch", "lookupswitch", "ireturn", "lreturn",
298: "freturn", "dreturn", "areturn", "return", "getstatic",
299: "putstatic", "getfield", "putfield", "invokevirtual",
300: "invokespecial", "invokestatic", "invokeinterface",
301: "xxxunusedxxx", "new", "newarray", "anewarray",
302: "arraylength", "athrow", "checkcast", "instanceof",
303: "monitorenter", "monitorexit", "wide", "multianewarray",
304: "ifnull", "ifnonnull", "goto_w", "jsr_w", "breakpoint",
305: "getfield_fast", "getfieldp_fast", "getfield2_fast",
306: "putfield_fast", "putfield2_fast", "getstatic_fast",
307: "getstaticp_fast", "getstatic2_fast", "putstatic_fast",
308: "putstatic2_fast", "unused_d5", "invokevirtual_fast",
309: "invokespecial_fast", "invokestatic_fast",
310: "invokeinterface_fast", "new_fast", "anewarray_fast",
311: "multianewarray_fast", "checkcast_fast",
312: "instance_of_fast", "customcode", "nonnull_fast",
313: "invokeignored_fast" };
314: public static final int opcLengths[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1,
315: 1, 1, 1, 1, 1, 1, 1, 2, 3, 2, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1,
316: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
317: 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
318: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
319: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
320: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
321: 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
322: 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
323: 2, 0, 0, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 5, 0, 3, 2,
324: 3, 1, 1, 3, 3, 1, 1, 0, 4, 3, 3, 5, 5, 1, 3, 3, 3, 3, 3, 3,
325: 3, 3, 3, 3, 0, 3, 3, 3, 5, 3, 3, 4, 3, 3, 1, 1, 3 };
326: }
327: /*
328:
329: case opc_getfield_fast:
330: case opc_getfieldp_fast:
331: case opc_getfield2_fast:
332: case opc_putfield_fast:
333: case opc_putfield2_fast:
334: case opc_getstatic_fast:
335: case opc_getstaticp_fast:
336: case opc_getstatic2_fast:
337: case opc_putstatic_fast:
338: case opc_putstatic2_fast:
339: case opc_unused_d5:
340: case opc_invokevirtual_fast:
341: case opc_invokespecial_fast:
342: case opc_invokestatic_fast:
343: case opc_invokeinterface_fast:
344: case opc_new_fast:
345: case opc_anewarray_fast:
346: case opc_multianewarray_fast:
347: case opc_checkcast_fast:
348: case opc_instanceof_fast:
349: */
|