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