1 /*******************************************************************************
2  * Copyright (c) 2000, 2009 IBM Corporation and others.
3  *
4  * This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License 2.0
6  * which accompanies this distribution, and is available at
7  * https://www.eclipse.org/legal/epl-2.0/
8  *
9  * SPDX-License-Identifier: EPL-2.0
10  *
11  * Contributors:
12  *     IBM Corporation - initial API and implementation
13  *******************************************************************************/
14 package org.eclipse.jdt.core.util;
15 
16 /**
17  * Description of each opcode mnemonic according to the JVM specifications.
18  *
19  * @since 2.0
20  * @noimplement This interface is not intended to be implemented by clients.
21  */
22 public interface IOpcodeMnemonics {
23 
24 	int NOP = 0x00;
25 	int ACONST_NULL = 0x01;
26 	int ICONST_M1 = 0x02;
27 	int ICONST_0 = 0x03;
28 	int ICONST_1 = 0x04;
29 	int ICONST_2 = 0x05;
30 	int ICONST_3 = 0x06;
31 	int ICONST_4 = 0x07;
32 	int ICONST_5 = 0x08;
33 	int LCONST_0 = 0x09;
34 	int LCONST_1 = 0x0A;
35 	int FCONST_0 = 0x0B;
36 	int FCONST_1 = 0x0C;
37 	int FCONST_2 = 0x0D;
38 	int DCONST_0 = 0x0E;
39 	int DCONST_1 = 0x0F;
40 	int BIPUSH = 0x10;
41 	int SIPUSH = 0x11;
42 	int LDC = 0x12;
43 	int LDC_W = 0x13;
44 	int LDC2_W= 0x14;
45 	int ILOAD = 0x15;
46 	int LLOAD = 0x16;
47 	int FLOAD = 0x17;
48 	int DLOAD = 0x18;
49 	int ALOAD = 0x19;
50 	int ILOAD_0 = 0x1A;
51 	int ILOAD_1 = 0x1B;
52 	int ILOAD_2 = 0x1C;
53 	int ILOAD_3 = 0x1D;
54 	int LLOAD_0 = 0x1E;
55 	int LLOAD_1 = 0x1F;
56 	int LLOAD_2 = 0x20;
57 	int LLOAD_3 = 0x21;
58 	int FLOAD_0 = 0x22;
59 	int FLOAD_1 = 0x23;
60 	int FLOAD_2 = 0x24;
61 	int FLOAD_3 = 0x25;
62 	int DLOAD_0 = 0x26;
63 	int DLOAD_1 = 0x27;
64 	int DLOAD_2 = 0x28;
65 	int DLOAD_3 = 0x29;
66 	int ALOAD_0 = 0x2A;
67 	int ALOAD_1 = 0x2B;
68 	int ALOAD_2 = 0x2C;
69 	int ALOAD_3 = 0x2D;
70 	int IALOAD = 0x2E;
71 	int LALOAD = 0x2F;
72 	int FALOAD = 0x30;
73 	int DALOAD = 0x31;
74 	int AALOAD = 0x32;
75 	int BALOAD = 0x33;
76 	int CALOAD = 0x34;
77 	int SALOAD = 0x35;
78 	int ISTORE = 0x36;
79 	int LSTORE = 0x37;
80 	int FSTORE = 0x38;
81 	int DSTORE = 0x39;
82 	int ASTORE = 0x3A;
83 	int ISTORE_0 = 0x3B;
84 	int ISTORE_1 = 0x3C;
85 	int ISTORE_2 = 0x3D;
86 	int ISTORE_3 = 0x3E;
87 	int LSTORE_0 = 0x3F;
88 	int LSTORE_1 = 0x40;
89 	int LSTORE_2 = 0x41;
90 	int LSTORE_3 = 0x42;
91 	int FSTORE_0 = 0x43;
92 	int FSTORE_1 = 0x44;
93 	int FSTORE_2 = 0x45;
94 	int FSTORE_3 = 0x46;
95 	int DSTORE_0 = 0x47;
96 	int DSTORE_1 = 0x48;
97 	int DSTORE_2 = 0x49;
98 	int DSTORE_3 = 0x4A;
99 	int ASTORE_0 = 0x4B;
100 	int ASTORE_1 = 0x4C;
101 	int ASTORE_2 = 0x4D;
102 	int ASTORE_3 = 0x4E;
103 	int IASTORE = 0x4F;
104 	int LASTORE = 0x50;
105 	int FASTORE = 0x51;
106 	int DASTORE = 0x52;
107 	int AASTORE = 0x53;
108 	int BASTORE = 0x54;
109 	int CASTORE = 0x55;
110 	int SASTORE = 0x56;
111 	int POP = 0x57;
112 	int POP2 = 0x58;
113 	int DUP = 0x59;
114 	int DUP_X1 = 0x5A;
115 	int DUP_X2 = 0x5B;
116 	int DUP2 = 0x5C;
117 	int DUP2_X1 = 0x5D;
118 	int DUP2_X2 = 0x5E;
119 	int SWAP = 0x5F;
120 	int IADD = 0x60;
121 	int LADD = 0x61;
122 	int FADD = 0x62;
123 	int DADD = 0x63;
124 	int ISUB = 0x64;
125 	int LSUB = 0x65;
126 	int FSUB = 0x66;
127 	int DSUB = 0x67;
128 	int IMUL = 0x68;
129 	int LMUL = 0x69;
130 	int FMUL = 0x6A;
131 	int DMUL = 0x6B;
132 	int IDIV = 0x6C;
133 	int LDIV = 0x6D;
134 	int FDIV = 0x6E;
135 	int DDIV = 0x6F;
136 	int IREM = 0x70;
137 	int LREM = 0x71;
138 	int FREM = 0x72;
139 	int DREM = 0x73;
140 	int INEG = 0x74;
141 	int LNEG = 0x75;
142 	int FNEG = 0x76;
143 	int DNEG = 0x77;
144 	int ISHL = 0x78;
145 	int LSHL = 0x79;
146 	int ISHR = 0x7A;
147 	int LSHR = 0x7B;
148 	int IUSHR = 0x7C;
149 	int LUSHR = 0x7D;
150 	int IAND = 0x7E;
151 	int LAND = 0x7F;
152 	int IOR = 0x80;
153 	int LOR = 0x81;
154 	int IXOR = 0x82;
155 	int LXOR = 0x83;
156 	int IINC = 0x84;
157 	int I2L = 0x85;
158 	int I2F = 0x86;
159 	int I2D = 0x87;
160 	int L2I = 0x88;
161 	int L2F = 0x89;
162 	int L2D = 0x8A;
163 	int F2I = 0x8B;
164 	int F2L = 0x8C;
165 	int F2D = 0x8D;
166 	int D2I = 0x8E;
167 	int D2L = 0x8F;
168 	int D2F = 0x90;
169 	int I2B = 0x91;
170 	int I2C = 0x92;
171 	int I2S = 0x93;
172 	int LCMP = 0x94;
173 	int FCMPL = 0x95;
174 	int FCMPG = 0x96;
175 	int DCMPL = 0x97;
176 	int DCMPG = 0x98;
177 	int IFEQ = 0x99;
178 	int IFNE = 0x9A;
179 	int IFLT = 0x9B;
180 	int IFGE = 0x9C;
181 	int IFGT = 0x9D;
182 	int IFLE = 0x9E;
183 	int IF_ICMPEQ = 0x9F;
184 	int IF_ICMPNE = 0xA0;
185 	int IF_ICMPLT = 0xA1;
186 	int IF_ICMPGE = 0xA2;
187 	int IF_ICMPGT = 0xA3;
188 	int IF_ICMPLE = 0xA4;
189 	int IF_ACMPEQ = 0xA5;
190 	int IF_ACMPNE = 0xA6;
191 	int GOTO = 0xA7;
192 	int JSR = 0xA8;
193 	int RET = 0xA9;
194 	int TABLESWITCH = 0xAA;
195 	int LOOKUPSWITCH = 0xAB;
196 	int IRETURN = 0xAC;
197 	int LRETURN = 0xAD;
198 	int FRETURN = 0xAE;
199 	int DRETURN = 0xAF;
200 	int ARETURN = 0xB0;
201 	int RETURN = 0xB1;
202 	int GETSTATIC = 0xB2;
203 	int PUTSTATIC = 0xB3;
204 	int GETFIELD = 0xB4;
205 	int PUTFIELD = 0xB5;
206 	int INVOKEVIRTUAL = 0xB6;
207 	int INVOKESPECIAL = 0xB7;
208 	int INVOKESTATIC = 0xB8;
209 	int INVOKEINTERFACE = 0xB9;
210 	/**
211 	 * @since 3.6
212 	 */
213 	int INVOKEDYNAMIC = 0xBA;
214 	int NEW = 0xBB;
215 	int NEWARRAY = 0xBC;
216 	int ANEWARRAY = 0xBD;
217 	int ARRAYLENGTH = 0xBE;
218 	int ATHROW = 0xBF;
219 	int CHECKCAST = 0xC0;
220 	int INSTANCEOF = 0xC1;
221 	int MONITORENTER = 0xC2;
222 	int MONITOREXIT = 0xC3;
223 	int WIDE = 0xC4;
224 	int MULTIANEWARRAY = 0xC5;
225 	int IFNULL = 0xC6;
226 	int IFNONNULL = 0xC7;
227 	int GOTO_W = 0xC8;
228 	int JSR_W = 0xC9;
229 
230 	int BREAKPOINT = 0xCA;
231 	int IMPDEP1 = 0xFE;
232 	int IMPDEP2 = 0xFF;
233 }
234