/Users/lyon/j4p/src/javassist/bytecode/Mnemonic.java
|
1 /*
2 * Javassist, a Java-bytecode translator toolkit.
3 * Copyright (C) 1999-2003 Shigeru Chiba. All Rights Reserved.
4 *
5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License. Alternatively, the contents of this file may be used under
8 * the terms of the GNU Lesser General Public License Version 2.1 or later.
9 *
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 * for the specific language governing rights and limitations under the
13 * License.
14 */
15
16 package javassist.bytecode;
17
18 /**
19 * JVM Instruction Names.
20 *
21 * <p>This interface has been separated from javassist.bytecode.Opcode
22 * because typical bytecode translators do not use mnemonics. If this
23 * interface were merged with Opcode, extra memory would be unnecessary
24 * consumed.
25 *
26 * @see Opcode
27 */
28 public interface Mnemonic {
29
30 /**
31 * The instruction names (mnemonics) sorted by the opcode.
32 * The length of this array is 202 (jsr_w=201).
33 *
34 * <p>The value at index 186 is null since no instruction is
35 * assigned to 186.
36 */
37 String[] OPCODE = {
38 "nop", /* 0*/
39 "aconst_null", /* 1*/
40 "iconst_m1", /* 2*/
41 "iconst_0", /* 3*/
42 "iconst_1", /* 4*/
43 "iconst_2", /* 5*/
44 "iconst_3", /* 6*/
45 "iconst_4", /* 7*/
46 "iconst_5", /* 8*/
47 "lconst_0", /* 9*/
48 "lconst_1", /* 10*/
49 "fconst_0", /* 11*/
50 "fconst_1", /* 12*/
51 "fconst_2", /* 13*/
52 "dconst_0", /* 14*/
53 "dconst_1", /* 15*/
54 "bipush", /* 16*/
55 "sipush", /* 17*/
56 "ldc", /* 18*/
57 "ldc_w", /* 19*/
58 "ldc2_w", /* 20*/
59 "iload", /* 21*/
60 "lload", /* 22*/
61 "fload", /* 23*/
62 "dload", /* 24*/
63 "aload", /* 25*/
64 "iload_0", /* 26*/
65 "iload_1", /* 27*/
66 "iload_2", /* 28*/
67 "iload_3", /* 29*/
68 "lload_0", /* 30*/
69 "lload_1", /* 31*/
70 "lload_2", /* 32*/
71 "lload_3", /* 33*/
72 "fload_0", /* 34*/
73 "fload_1", /* 35*/
74 "fload_2", /* 36*/
75 "fload_3", /* 37*/
76 "dload_0", /* 38*/
77 "dload_1", /* 39*/
78 "dload_2", /* 40*/
79 "dload_3", /* 41*/
80 "aload_0", /* 42*/
81 "aload_1", /* 43*/
82 "aload_2", /* 44*/
83 "aload_3", /* 45*/
84 "iaload", /* 46*/
85 "laload", /* 47*/
86 "faload", /* 48*/
87 "daload", /* 49*/
88 "aaload", /* 50*/
89 "baload", /* 51*/
90 "caload", /* 52*/
91 "saload", /* 53*/
92 "istore", /* 54*/
93 "lstore", /* 55*/
94 "fstore", /* 56*/
95 "dstore", /* 57*/
96 "astore", /* 58*/
97 "istore_0", /* 59*/
98 "istore_1", /* 60*/
99 "istore_2", /* 61*/
100 "istore_3", /* 62*/
101 "lstore_0", /* 63*/
102 "lstore_1", /* 64*/
103 "lstore_2", /* 65*/
104 "lstore_3", /* 66*/
105 "fstore_0", /* 67*/
106 "fstore_1", /* 68*/
107 "fstore_2", /* 69*/
108 "fstore_3", /* 70*/
109 "dstore_0", /* 71*/
110 "dstore_1", /* 72*/
111 "dstore_2", /* 73*/
112 "dstore_3", /* 74*/
113 "astore_0", /* 75*/
114 "astore_1", /* 76*/
115 "astore_2", /* 77*/
116 "astore_3", /* 78*/
117 "iastore", /* 79*/
118 "lastore", /* 80*/
119 "fastore", /* 81*/
120 "dastore", /* 82*/
121 "aastore", /* 83*/
122 "bastore", /* 84*/
123 "castore", /* 85*/
124 "sastore", /* 86*/
125 "pop", /* 87*/
126 "pop2", /* 88*/
127 "dup", /* 89*/
128 "dup_x1", /* 90*/
129 "dup_x2", /* 91*/
130 "dup2", /* 92*/
131 "dup2_x1", /* 93*/
132 "dup2_x2", /* 94*/
133 "swap", /* 95*/
134 "iadd", /* 96*/
135 "ladd", /* 97*/
136 "fadd", /* 98*/
137 "dadd", /* 99*/
138 "isub", /* 100*/
139 "lsub", /* 101*/
140 "fsub", /* 102*/
141 "dsub", /* 103*/
142 "imul", /* 104*/
143 "lmul", /* 105*/
144 "fmul", /* 106*/
145 "dmul", /* 107*/
146 "idiv", /* 108*/
147 "ldiv", /* 109*/
148 "fdiv", /* 110*/
149 "ddiv", /* 111*/
150 "irem", /* 112*/
151 "lrem", /* 113*/
152 "frem", /* 114*/
153 "drem", /* 115*/
154 "ineg", /* 116*/
155 "lneg", /* 117*/
156 "fneg", /* 118*/
157 "dneg", /* 119*/
158 "ishl", /* 120*/
159 "lshl", /* 121*/
160 "ishr", /* 122*/
161 "lshr", /* 123*/
162 "iushr", /* 124*/
163 "lushr", /* 125*/
164 "iand", /* 126*/
165 "land", /* 127*/
166 "ior", /* 128*/
167 "lor", /* 129*/
168 "ixor", /* 130*/
169 "lxor", /* 131*/
170 "iinc", /* 132*/
171 "i2l", /* 133*/
172 "i2f", /* 134*/
173 "i2d", /* 135*/
174 "l2i", /* 136*/
175 "l2f", /* 137*/
176 "l2d", /* 138*/
177 "f2i", /* 139*/
178 "f2l", /* 140*/
179 "f2d", /* 141*/
180 "d2i", /* 142*/
181 "d2l", /* 143*/
182 "d2f", /* 144*/
183 "i2b", /* 145*/
184 "i2c", /* 146*/
185 "i2s", /* 147*/
186 "lcmp", /* 148*/
187 "fcmpl", /* 149*/
188 "fcmpg", /* 150*/
189 "dcmpl", /* 151*/
190 "dcmpg", /* 152*/
191 "ifeq", /* 153*/
192 "ifne", /* 154*/
193 "iflt", /* 155*/
194 "ifge", /* 156*/
195 "ifgt", /* 157*/
196 "ifle", /* 158*/
197 "if_icmpeq", /* 159*/
198 "if_icmpne", /* 160*/
199 "if_icmplt", /* 161*/
200 "if_icmpge", /* 162*/
201 "if_icmpgt", /* 163*/
202 "if_icmple", /* 164*/
203 "if_acmpeq", /* 165*/
204 "if_acmpne", /* 166*/
205 "goto", /* 167*/
206 "jsr", /* 168*/
207 "ret", /* 169*/
208 "tableswitch", /* 170*/
209 "lookupswitch", /* 171*/
210 "ireturn", /* 172*/
211 "lreturn", /* 173*/
212 "freturn", /* 174*/
213 "dreturn", /* 175*/
214 "areturn", /* 176*/
215 "return", /* 177*/
216 "getstatic", /* 178*/
217 "putstatic", /* 179*/
218 "getfield", /* 180*/
219 "putfield", /* 181*/
220 "invokevirtual", /* 182*/
221 "invokespecial", /* 183*/
222 "invokestatic", /* 184*/
223 "invokeinterface", /* 185*/
224 null,
225 "new", /* 187*/
226 "newarray", /* 188*/
227 "anewarray", /* 189*/
228 "arraylength", /* 190*/
229 "athrow", /* 191*/
230 "checkcast", /* 192*/
231 "instanceof", /* 193*/
232 "monitorenter", /* 194*/
233 "monitorexit", /* 195*/
234 "wide", /* 196*/
235 "multianewarray", /* 197*/
236 "ifnull", /* 198*/
237 "ifnonnull", /* 199*/
238 "goto_w", /* 200*/
239 "jsr_w" /* 201*/
240 };
241 }
242