Adding JMCR-Stable version
[Benchmarks_CSolver.git] / JMCR-Stable / real-world application / derby-10.3.2.1 / java / engine / org / apache / derby / impl / services / bytecode / OpcodeDebug.java
diff --git a/JMCR-Stable/real-world application/derby-10.3.2.1/java/engine/org/apache/derby/impl/services/bytecode/OpcodeDebug.java b/JMCR-Stable/real-world application/derby-10.3.2.1/java/engine/org/apache/derby/impl/services/bytecode/OpcodeDebug.java
new file mode 100644 (file)
index 0000000..ff613e0
--- /dev/null
@@ -0,0 +1,251 @@
+/*\r
+\r
+   Derby - Class org.apache.derby.impl.services.bytecode.OpcodeDebug\r
+\r
+   Licensed to the Apache Software Foundation (ASF) under one or more\r
+   contributor license agreements.  See the NOTICE file distributed with\r
+   this work for additional information regarding copyright ownership.\r
+   The ASF licenses this file to you under the Apache License, Version 2.0\r
+   (the "License"); you may not use this file except in compliance with\r
+   the License.  You may obtain a copy of the License at\r
+\r
+      http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+   Unless required by applicable law or agreed to in writing, software\r
+   distributed under the License is distributed on an "AS IS" BASIS,\r
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+   See the License for the specific language governing permissions and\r
+   limitations under the License.\r
+\r
+ */\r
+\r
+package org.apache.derby.impl.services.bytecode;\r
+\r
+\r
+import org.apache.derby.iapi.services.sanity.SanityManager;\r
+\r
+/**\r
+ * This contains mnemonics for all of the opcodes of the JVM.\r
+ * It is a separate class so that it will not get loaded\r
+ * if the system does not need it (i.e. when compiled without\r
+ * debugging).  We even leave out the initialization in that case.\r
+ */\r
+class OpcodeDebug {\r
+       static final String Name[];\r
+\r
+       static {\r
+               if (SanityManager.DEBUG) {\r
+                       // we assign these to a temp var first because\r
+                       // "Array constants can only be used in initializers"\r
+                       // to quote the compiler.\r
+                       String NameInit[] = { \r
+                               "NOP",  // 0\r
+                               "ACONST_NULL",  // 1\r
+                               "ICONST_M1",    // 2\r
+                               "ICONST_0",     // 3\r
+                               "ICONST_1",     // 4\r
+                               "ICONST_2",     // 5\r
+                               "ICONST_3",     // 6\r
+                               "ICONST_4",     // 7\r
+                               "ICONST_5",     // 8\r
+                               "LCONST_0",     // 9\r
+                               "LCONST_1",     // 10\r
+                               "FCONST_0",     // 11\r
+                               "FCONST_1",     // 12\r
+                               "FCONST_2",     // 13\r
+                               "DCONST_0",     // 14\r
+                               "DCONST_1",     // 15\r
+                               "BIPUSH",       // 16\r
+                               "SIPUSH",       // 17\r
+                               "LDC",  // 18\r
+                               "LDC_W",        // 19\r
+                               "LDC2_W",       // 20\r
+                               "ILOAD",        // 21\r
+                               "LLOAD",        // 22\r
+                               "FLOAD",        // 23\r
+                               "DLOAD",        // 24\r
+                               "ALOAD",        // 25\r
+                               "ILOAD_0",      // 26\r
+                               "ILOAD_1",      // 27\r
+                               "ILOAD_2",      // 28\r
+                               "ILOAD_3",      // 29\r
+                               "LLOAD_0",      // 30\r
+                               "LLOAD_1",      // 31\r
+                               "LLOAD_2",      // 32\r
+                               "LLOAD_3",      // 33\r
+                               "FLOAD_0",      // 34\r
+                               "FLOAD_1",      // 35\r
+                               "FLOAD_2",      // 36\r
+                               "FLOAD_3",      // 37\r
+                               "DLOAD_0",      // 38\r
+                               "DLOAD_1",      // 39\r
+                               "DLOAD_2",      // 40\r
+                               "DLOAD_3",      // 41\r
+                               "ALOAD_0",      // 42\r
+                               "ALOAD_1",      // 43\r
+                               "ALOAD_2",      // 44\r
+                               "ALOAD_3",      // 45\r
+                               "IALOAD",       // 46\r
+                               "LALOAD",       // 47\r
+                               "FALOAD",       // 48\r
+                               "DALOAD",       // 49\r
+                               "AALOAD",       // 50\r
+                               "BALOAD",       // 51\r
+                               "CALOAD",       // 52\r
+                               "SALOAD",       // 53\r
+                               "ISTORE",       // 54\r
+                               "LSTORE",       // 55\r
+                               "FSTORE",       // 56\r
+                               "DSTORE",       // 57\r
+                               "ASTORE",       // 58\r
+                               "ISTORE_0",     // 59\r
+                               "ISTORE_1",     // 60\r
+                               "ISTORE_2",     // 61\r
+                               "ISTORE_3",     // 62\r
+                               "LSTORE_0",     // 63\r
+                               "LSTORE_1",     // 64\r
+                               "LSTORE_2",     // 65\r
+                               "LSTORE_3",     // 66\r
+                               "FSTORE_0",     // 67\r
+                               "FSTORE_1",     // 68\r
+                               "FSTORE_2",     // 69\r
+                               "FSTORE_3",     // 70\r
+                               "DSTORE_0",     // 71\r
+                               "DSTORE_1",     // 72\r
+                               "DSTORE_2",     // 73\r
+                               "DSTORE_3",     // 74\r
+                               "ASTORE_0",     // 75\r
+                               "ASTORE_1",     // 76\r
+                               "ASTORE_2",     // 77\r
+                               "ASTORE_3",     // 78\r
+                               "IASTORE",      // 79\r
+                               "LASTORE",      // 80\r
+                               "FASTORE",      // 81\r
+                               "DASTORE",      // 82\r
+                               "AASTORE",      // 83\r
+                               "BASTORE",      // 84\r
+                               "CASTORE",      // 85\r
+                               "SASTORE",      // 86\r
+                               "POP",  // 87\r
+                               "POP2", // 88\r
+                               "DUP",  // 89\r
+                               "DUP_X1",       // 90\r
+                               "DUP_X2",       // 91\r
+                               "DUP2", // 92\r
+                               "DUP2_X1",      // 93\r
+                               "DUP2_X2",      // 94\r
+                               "SWAP", // 95\r
+                               "IADD", // 96\r
+                               "LADD", // 97\r
+                               "FADD", // 98\r
+                               "DADD", // 99\r
+                               "ISUB", // 100\r
+                               "LSUB", // 101\r
+                               "FSUB", // 102\r
+                               "DSUB", // 103\r
+                               "IMUL", // 104\r
+                               "LMUL", // 105\r
+                               "FMUL", // 106\r
+                               "DMUL", // 107\r
+                               "IDIV", // 108\r
+                               "LDIV", // 109\r
+                               "FDIV", // 110\r
+                               "DDIV", // 111\r
+                               "IREM", // 112\r
+                               "LREM", // 113\r
+                               "FREM", // 114\r
+                               "DREM", // 115\r
+                               "INEG", // 116\r
+                               "LNEG", // 117\r
+                               "FNEG", // 118\r
+                               "DNEG", // 119\r
+                               "ISHL", // 120\r
+                               "LSHL", // 121\r
+                               "ISHR", // 122\r
+                               "LSHR", // 123\r
+                               "IUSHR",        // 124\r
+                               "LUSHR",        // 125\r
+                               "IAND", // 126\r
+                               "LAND", // 127\r
+                               "IOR",  // 128\r
+                               "LOR",  // 129\r
+                               "IXOR", // 130\r
+                               "LXOR", // 131\r
+                               "IINC", // 132\r
+                               "I2L",  // 133\r
+                               "I2F",  // 134\r
+                               "I2D",  // 135\r
+                               "L2I",  // 136\r
+                               "L2F",  // 137\r
+                               "L2D",  // 138\r
+                               "F2I",  // 139\r
+                               "F2L",  // 140\r
+                               "F2D",  // 141\r
+                               "D2I",  // 142\r
+                               "D2L",  // 143\r
+                               "D2F",  // 144\r
+                               "I2B",  // 145\r
+                               "I2C",  // 146\r
+                               "I2S",  // 147\r
+                               "LCMP", // 148\r
+                               "FCMPL",        // 149\r
+                               "FCMPG",        // 150\r
+                               "DCMPL",        // 151\r
+                               "DCMPG",        // 152\r
+                               "IFEQ", // 153\r
+                               "IFNE", // 154\r
+                               "IFLT", // 155\r
+                               "IFGE", // 156\r
+                               "IFGT", // 157\r
+                               "IFLE", // 158\r
+                               "IF_ICMPEQ",    // 159\r
+                               "IF_ICMPNE",    // 160\r
+                               "IF_ICMPLT",    // 161\r
+                               "IF_ICMPGE",    // 162\r
+                               "IF_ICMPGT",    // 163\r
+                               "IF_ICMPLE",    // 164\r
+                               "IF_ACMPEQ",    // 165\r
+                               "IF_ACMPNE",    // 166\r
+                               "GOTO", // 167\r
+                               "JSR",  // 168\r
+                               "RET",  // 169\r
+                               "TABLESWITCH",  // 170\r
+                               "LOOKUPSWITCH", // 171\r
+                               "IRETURN",      // 172\r
+                               "LRETURN",      // 173\r
+                               "FRETURN",      // 174\r
+                               "DRETURN",      // 175\r
+                               "ARETURN",      // 176\r
+                               "RETURN",       // 177\r
+                               "GETSTATIC",    // 178\r
+                               "PUTSTATIC",    // 179\r
+                               "GETFIELD",     // 180\r
+                               "PUTFIELD",     // 181\r
+                               "INVOKEVIRTUAL",        // 182\r
+                               "INVOKESPECIAL",        // 183\r
+                               "INVOKESTATIC", // 184\r
+                               "INVOKEINTERFACE",      // 185\r
+                               "XXXUNUSEDXXX", // 186\r
+                               "NEW",  // 187\r
+                               "NEWARRAY",     // 188\r
+                               "ANEWARRAY",    // 189\r
+                               "ARRAYLENGTH",  // 190\r
+                               "ATHROW",       // 191\r
+                               "CHECKCAST",    // 192\r
+                               "INSTANCEOF",   // 193\r
+                               "MONITORENTER", // 194\r
+                               "MONITOREXIT",  // 195\r
+                               "WIDE", // 196\r
+                               "MULTIANEWARRAY",       // 197\r
+                               "IFNULL",       // 198\r
+                               "IFNONNULL",    // 199\r
+                               "GOTO_W",       // 200\r
+                               "JSR_W",        // 201\r
+                               "BREAKPOINT"            // 202\r
+                       };\r
+                       Name = NameInit;\r
+               }\r
+               else\r
+                       Name = null;\r
+       }\r
+}\r