0N/A/*
2362N/A * Copyright (c) 1998, 2009, Oracle and/or its affiliates. All rights reserved.
0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A *
0N/A * This code is free software; you can redistribute it and/or modify it
0N/A * under the terms of the GNU General Public License version 2 only, as
2362N/A * published by the Free Software Foundation. Oracle designates this
0N/A * particular file as subject to the "Classpath" exception as provided
2362N/A * by Oracle in the LICENSE file that accompanied this code.
0N/A *
0N/A * This code is distributed in the hope that it will be useful, but WITHOUT
0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A * version 2 for more details (a copy is included in the LICENSE file that
0N/A * accompanied this code).
0N/A *
0N/A * You should have received a copy of the GNU General Public License version
0N/A * 2 along with this work; if not, write to the Free Software Foundation,
0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A *
2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/A * or visit www.oracle.com if you need additional information or have any
2362N/A * questions.
0N/A */
0N/A
0N/Achar * const opcode_in_out[][2] = {
0N/A {"", ""}, /* nop */
0N/A {"", "A"}, /* aconst_null */
0N/A {"", "I"}, /* iconst_m1 */
0N/A {"", "I"}, /* iconst_0 */
0N/A {"", "I"}, /* iconst_1 */
0N/A {"", "I"}, /* iconst_2 */
0N/A {"", "I"}, /* iconst_3 */
0N/A {"", "I"}, /* iconst_4 */
0N/A {"", "I"}, /* iconst_5 */
0N/A {"", "L"}, /* lconst_0 */
0N/A {"", "L"}, /* lconst_1 */
0N/A {"", "F"}, /* fconst_0 */
0N/A {"", "F"}, /* fconst_1 */
0N/A {"", "F"}, /* fconst_2 */
0N/A {"", "D"}, /* dconst_0 */
0N/A {"", "D"}, /* dconst_1 */
0N/A {"", "I"}, /* bipush */
0N/A {"", "I"}, /* sipush */
0N/A {"", "?"}, /* ldc */
0N/A {"", "?"}, /* ldc_w */
0N/A {"", "?"}, /* ldc2_w */
0N/A {"", "I"}, /* iload */
0N/A {"", "L"}, /* lload */
0N/A {"", "F"}, /* fload */
0N/A {"", "D"}, /* dload */
0N/A {"", "A"}, /* aload */
0N/A {"", "I"}, /* iload_0 */
0N/A {"", "I"}, /* iload_1 */
0N/A {"", "I"}, /* iload_2 */
0N/A {"", "I"}, /* iload_3 */
0N/A {"", "L"}, /* lload_0 */
0N/A {"", "L"}, /* lload_1 */
0N/A {"", "L"}, /* lload_2 */
0N/A {"", "L"}, /* lload_3 */
0N/A {"", "F"}, /* fload_0 */
0N/A {"", "F"}, /* fload_1 */
0N/A {"", "F"}, /* fload_2 */
0N/A {"", "F"}, /* fload_3 */
0N/A {"", "D"}, /* dload_0 */
0N/A {"", "D"}, /* dload_1 */
0N/A {"", "D"}, /* dload_2 */
0N/A {"", "D"}, /* dload_3 */
0N/A {"", "A"}, /* aload_0 */
0N/A {"", "A"}, /* aload_1 */
0N/A {"", "A"}, /* aload_2 */
0N/A {"", "A"}, /* aload_3 */
0N/A {"[I]I", "I"}, /* iaload */
0N/A {"[L]I", "L"}, /* laload */
0N/A {"[F]I", "F"}, /* faload */
0N/A {"[D]I", "D"}, /* daload */
0N/A {"[A]I", "A"}, /* aaload */
0N/A {"[B]I", "I"}, /* baload */
0N/A {"[C]I", "I"}, /* caload */
0N/A {"[S]I", "I"}, /* saload */
0N/A {"I", ""}, /* istore */
0N/A {"L", ""}, /* lstore */
0N/A {"F", ""}, /* fstore */
0N/A {"D", ""}, /* dstore */
0N/A {"A", ""}, /* astore */
0N/A {"I", ""}, /* istore_0 */
0N/A {"I", ""}, /* istore_1 */
0N/A {"I", ""}, /* istore_2 */
0N/A {"I", ""}, /* istore_3 */
0N/A {"L", ""}, /* lstore_0 */
0N/A {"L", ""}, /* lstore_1 */
0N/A {"L", ""}, /* lstore_2 */
0N/A {"L", ""}, /* lstore_3 */
0N/A {"F", ""}, /* fstore_0 */
0N/A {"F", ""}, /* fstore_1 */
0N/A {"F", ""}, /* fstore_2 */
0N/A {"F", ""}, /* fstore_3 */
0N/A {"D", ""}, /* dstore_0 */
0N/A {"D", ""}, /* dstore_1 */
0N/A {"D", ""}, /* dstore_2 */
0N/A {"D", ""}, /* dstore_3 */
0N/A {"A", ""}, /* astore_0 */
0N/A {"A", ""}, /* astore_1 */
0N/A {"A", ""}, /* astore_2 */
0N/A {"A", ""}, /* astore_3 */
0N/A {"[I]II", ""}, /* iastore */
0N/A {"[L]IL", ""}, /* lastore */
0N/A {"[F]IF", ""}, /* fastore */
0N/A {"[D]ID", ""}, /* dastore */
0N/A {"[A]IA", ""}, /* aastore */
0N/A {"[B]II", ""}, /* bastore */
0N/A {"[C]II", ""}, /* castore */
0N/A {"[S]II", ""}, /* sastore */
0N/A {"1", ""}, /* pop */
0N/A {"2+1", ""}, /* pop2 */
0N/A {"1", "11"}, /* dup */
0N/A {"21", "121"}, /* dup_x1 */
0N/A {"3+21", "1321"}, /* dup_x2 */
0N/A {"2+1", "2121"}, /* dup2 */
0N/A {"32+1", "21321"}, /* dup2_x1 */
0N/A {"4+32+1", "214321"}, /* dup2_x2 */
0N/A {"21", "12"}, /* swap */
0N/A {"II", "I"}, /* iadd */
0N/A {"LL", "L"}, /* ladd */
0N/A {"FF", "F"}, /* fadd */
0N/A {"DD", "D"}, /* dadd */
0N/A {"II", "I"}, /* isub */
0N/A {"LL", "L"}, /* lsub */
0N/A {"FF", "F"}, /* fsub */
0N/A {"DD", "D"}, /* dsub */
0N/A {"II", "I"}, /* imul */
0N/A {"LL", "L"}, /* lmul */
0N/A {"FF", "F"}, /* fmul */
0N/A {"DD", "D"}, /* dmul */
0N/A {"II", "I"}, /* idiv */
0N/A {"LL", "L"}, /* ldiv */
0N/A {"FF", "F"}, /* fdiv */
0N/A {"DD", "D"}, /* ddiv */
0N/A {"II", "I"}, /* irem */
0N/A {"LL", "L"}, /* lrem */
0N/A {"FF", "F"}, /* frem */
0N/A {"DD", "D"}, /* drem */
0N/A {"I", "I"}, /* ineg */
0N/A {"L", "L"}, /* lneg */
0N/A {"F", "F"}, /* fneg */
0N/A {"D", "D"}, /* dneg */
0N/A {"II", "I"}, /* ishl */
0N/A {"LI", "L"}, /* lshl */
0N/A {"II", "I"}, /* ishr */
0N/A {"LI", "L"}, /* lshr */
0N/A {"II", "I"}, /* iushr */
0N/A {"LI", "L"}, /* lushr */
0N/A {"II", "I"}, /* iand */
0N/A {"LL", "L"}, /* land */
0N/A {"II", "I"}, /* ior */
0N/A {"LL", "L"}, /* lor */
0N/A {"II", "I"}, /* ixor */
0N/A {"LL", "L"}, /* lxor */
0N/A {"", ""}, /* iinc */
0N/A {"I", "L"}, /* i2l */
0N/A {"I", "F"}, /* i2f */
0N/A {"I", "D"}, /* i2d */
0N/A {"L", "I"}, /* l2i */
0N/A {"L", "F"}, /* l2f */
0N/A {"L", "D"}, /* l2d */
0N/A {"F", "I"}, /* f2i */
0N/A {"F", "L"}, /* f2l */
0N/A {"F", "D"}, /* f2d */
0N/A {"D", "I"}, /* d2i */
0N/A {"D", "L"}, /* d2l */
0N/A {"D", "F"}, /* d2f */
0N/A {"I", "I"}, /* i2b */
0N/A {"I", "I"}, /* i2c */
0N/A {"I", "I"}, /* i2s */
0N/A {"LL", "I"}, /* lcmp */
0N/A {"FF", "I"}, /* fcmpl */
0N/A {"FF", "I"}, /* fcmpg */
0N/A {"DD", "I"}, /* dcmpl */
0N/A {"DD", "I"}, /* dcmpg */
0N/A {"I", ""}, /* ifeq */
0N/A {"I", ""}, /* ifne */
0N/A {"I", ""}, /* iflt */
0N/A {"I", ""}, /* ifge */
0N/A {"I", ""}, /* ifgt */
0N/A {"I", ""}, /* ifle */
0N/A {"II", ""}, /* if_icmpeq */
0N/A {"II", ""}, /* if_icmpne */
0N/A {"II", ""}, /* if_icmplt */
0N/A {"II", ""}, /* if_icmpge */
0N/A {"II", ""}, /* if_icmpgt */
0N/A {"II", ""}, /* if_icmple */
0N/A {"AA", ""}, /* if_acmpeq */
0N/A {"AA", ""}, /* if_acmpne */
0N/A {"", ""}, /* goto */
0N/A {"", "R"}, /* jsr */
0N/A {"", ""}, /* ret */
0N/A {"I", ""}, /* tableswitch */
0N/A {"I", ""}, /* lookupswitch */
0N/A {"I", ""}, /* ireturn */
0N/A {"L", ""}, /* lreturn */
0N/A {"F", ""}, /* freturn */
0N/A {"D", ""}, /* dreturn */
0N/A {"A", ""}, /* areturn */
0N/A {"", ""}, /* return */
0N/A {"", "?"}, /* getstatic */
0N/A {"?", ""}, /* putstatic */
0N/A {"A", "?"}, /* getfield */
0N/A {"?", ""}, /* putfield */
0N/A {"?", "?"}, /* invokevirtual */
0N/A {"?", "?"}, /* invokespecial */
0N/A {"?", "?"}, /* invokestatic */
0N/A {"?", "?"}, /* invokeinterface */
1193N/A {"?", "?"}, /* invokedynamic */
0N/A {"", "A"}, /* new */
0N/A {"I", "A"}, /* newarray */
0N/A {"I", "A"}, /* anewarray */
0N/A {"[?]", "I"}, /* arraylength */
0N/A {"O", ""}, /* athrow */
0N/A {"A", "A"}, /* checkcast */
0N/A {"A", "I"}, /* instanceof */
0N/A {"A", ""}, /* monitorenter */
0N/A {"A", ""}, /* monitorexit */
0N/A {"", ""}, /* wide */
0N/A {"?", "A"}, /* multianewarray */
0N/A {"A", ""}, /* ifnull */
0N/A {"A", ""}, /* ifnonnull */
0N/A {"", ""}, /* goto_w */
0N/A {"", "R"}, /* jsr_w */
0N/A {"", ""}, /* breakpoint */
0N/A {"", "?"}, /* ldc_quick */
0N/A {"", "?"}, /* ldc_w_quick */
0N/A {"", "?"}, /* ldc2_w_quick */
0N/A {"A", "?"}, /* getfield_quick */
0N/A {"?", ""}, /* putfield_quick */
0N/A {"A", "?"}, /* getfield2_quick */
0N/A {"?", ""}, /* putfield2_quick */
0N/A {"", "?"}, /* getstatic_quick */
0N/A {"?", ""}, /* putstatic_quick */
0N/A {"", "?"}, /* getstatic2_quick */
0N/A {"?", "_"}, /* putstatic2_quick */
0N/A {"?", "?"}, /* invokevirtual_quick */
0N/A {"?", "?"}, /* invokenonvirtual_quick */
0N/A {"?", "?"}, /* invokesuper_quick */
0N/A {"?", "?"}, /* invokestatic_quick */
0N/A {"?", "?"}, /* invokeinterface_quick */
0N/A {"?", "?"}, /* invokevirtualobject_quick */
0N/A {"?", "?"}, /* invokeignored_quick */
0N/A {"", "A"}, /* new_quick */
0N/A {"I", "A"}, /* anewarray_quick */
0N/A {"?", "A"}, /* multianewarray_quick */
0N/A {"A", "A"}, /* checkcast_quick */
0N/A {"A", "I"}, /* instanceof_quick */
0N/A {"?", "?"}, /* invokevirtual_quick_w */
0N/A {"A", "?"}, /* getfield_quick_w */
0N/A {"?", ""}, /* putfield_quick_w */
0N/A {"A", ""}, /* nonnull_quick */
0N/A};