13c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein/*
23c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * Copyright (C) 2011 The Android Open Source Project
33c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein *
43c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * Licensed under the Apache License, Version 2.0 (the "License");
53c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * you may not use this file except in compliance with the License.
63c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * You may obtain a copy of the License at
73c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein *
83c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein *      http://www.apache.org/licenses/LICENSE-2.0
93c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein *
103c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * Unless required by applicable law or agreed to in writing, software
113c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * distributed under the License is distributed on an "AS IS" BASIS,
123c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * See the License for the specific language governing permissions and
143c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * limitations under the License.
153c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein */
163c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
173c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornsteinpackage com.android.dx.io;
183c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
19537939ca06a47668f719ee06159303bcd3175c69Dan Bornsteinimport com.android.dx.io.instructions.InstructionCodec;
203c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornsteinimport com.android.dx.util.Hex;
213c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
223c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein/**
233c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * Information about each Dalvik opcode.
243c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein */
253c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornsteinpublic final class OpcodeInfo {
263c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    /*
273c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     * TODO: Merge at least most of the info from the Dops class into
283c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     * this one.
293c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     */
303c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
313c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    /** non-null; array containing all the information */
323c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    private static final Info[] INFO;
333c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
34a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein    /**
35a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein     * pseudo-opcode used for nonstandard formatted "instructions"
36a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein     * (which are mostly not actually instructions, though they do
37a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein     * appear in instruction lists). TODO: Retire the usage of this
38a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein     * constant.
39a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein     */
40a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein    public static final Info SPECIAL_FORMAT =
41a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SPECIAL_FORMAT, "<special>",
42f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein                InstructionCodec.FORMAT_00X, IndexType.NONE);
43a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein
4432dd826ad1742993cf0627448cd083a5021d71bbDan Bornstein    // TODO: These payload opcodes should be generated by opcode-gen.
4532dd826ad1742993cf0627448cd083a5021d71bbDan Bornstein
4632dd826ad1742993cf0627448cd083a5021d71bbDan Bornstein    public static final Info PACKED_SWITCH_PAYLOAD =
47a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.PACKED_SWITCH_PAYLOAD, "packed-switch-payload",
48f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein                InstructionCodec.FORMAT_PACKED_SWITCH_PAYLOAD,
49f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein                IndexType.NONE);
5032dd826ad1742993cf0627448cd083a5021d71bbDan Bornstein
5132dd826ad1742993cf0627448cd083a5021d71bbDan Bornstein    public static final Info SPARSE_SWITCH_PAYLOAD =
52a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SPARSE_SWITCH_PAYLOAD, "sparse-switch-payload",
53f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein                InstructionCodec.FORMAT_SPARSE_SWITCH_PAYLOAD,
54f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein                IndexType.NONE);
5532dd826ad1742993cf0627448cd083a5021d71bbDan Bornstein
5632dd826ad1742993cf0627448cd083a5021d71bbDan Bornstein    public static final Info FILL_ARRAY_DATA_PAYLOAD =
57a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.FILL_ARRAY_DATA_PAYLOAD, "fill-array-data-payload",
58f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein                InstructionCodec.FORMAT_FILL_ARRAY_DATA_PAYLOAD,
59f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein                IndexType.NONE);
6032dd826ad1742993cf0627448cd083a5021d71bbDan Bornstein
613c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    // BEGIN(opcode-info-defs); GENERATED AUTOMATICALLY BY opcode-gen
623c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info NOP =
63a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.NOP, "nop",
64f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_10X, IndexType.NONE);
653c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
663c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MOVE =
67a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MOVE, "move",
68f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
693c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
703c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MOVE_FROM16 =
71a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MOVE_FROM16, "move/from16",
72f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22X, IndexType.NONE);
733c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
743c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MOVE_16 =
75a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MOVE_16, "move/16",
76f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_32X, IndexType.NONE);
773c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
783c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MOVE_WIDE =
79a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MOVE_WIDE, "move-wide",
80f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
813c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
823c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MOVE_WIDE_FROM16 =
83a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MOVE_WIDE_FROM16, "move-wide/from16",
84f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22X, IndexType.NONE);
853c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
863c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MOVE_WIDE_16 =
87a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MOVE_WIDE_16, "move-wide/16",
88f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_32X, IndexType.NONE);
893c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
903c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MOVE_OBJECT =
91a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MOVE_OBJECT, "move-object",
92f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
933c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
943c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MOVE_OBJECT_FROM16 =
95a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MOVE_OBJECT_FROM16, "move-object/from16",
96f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22X, IndexType.NONE);
973c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
983c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MOVE_OBJECT_16 =
99a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MOVE_OBJECT_16, "move-object/16",
100f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_32X, IndexType.NONE);
1013c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1023c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MOVE_RESULT =
103a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MOVE_RESULT, "move-result",
104f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_11X, IndexType.NONE);
1053c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1063c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MOVE_RESULT_WIDE =
107a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MOVE_RESULT_WIDE, "move-result-wide",
108f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_11X, IndexType.NONE);
1093c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1103c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MOVE_RESULT_OBJECT =
111a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MOVE_RESULT_OBJECT, "move-result-object",
112f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_11X, IndexType.NONE);
1133c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1143c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MOVE_EXCEPTION =
115a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MOVE_EXCEPTION, "move-exception",
116f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_11X, IndexType.NONE);
1173c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1183c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info RETURN_VOID =
119a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.RETURN_VOID, "return-void",
120f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_10X, IndexType.NONE);
1213c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1223c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info RETURN =
123a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.RETURN, "return",
124f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_11X, IndexType.NONE);
1253c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1263c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info RETURN_WIDE =
127a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.RETURN_WIDE, "return-wide",
128f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_11X, IndexType.NONE);
1293c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1303c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info RETURN_OBJECT =
131a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.RETURN_OBJECT, "return-object",
132f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_11X, IndexType.NONE);
1333c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1343c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CONST_4 =
135a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CONST_4, "const/4",
136f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_11N, IndexType.NONE);
1373c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1383c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CONST_16 =
139a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CONST_16, "const/16",
140f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_21S, IndexType.NONE);
1413c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1423c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CONST =
143a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CONST, "const",
144f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_31I, IndexType.NONE);
1453c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1463c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CONST_HIGH16 =
147a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CONST_HIGH16, "const/high16",
148f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_21H, IndexType.NONE);
1493c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1503c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CONST_WIDE_16 =
151a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CONST_WIDE_16, "const-wide/16",
152f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_21S, IndexType.NONE);
1533c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1543c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CONST_WIDE_32 =
155a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CONST_WIDE_32, "const-wide/32",
156f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_31I, IndexType.NONE);
1573c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1583c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CONST_WIDE =
159a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CONST_WIDE, "const-wide",
160f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_51L, IndexType.NONE);
1613c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1623c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CONST_WIDE_HIGH16 =
163a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CONST_WIDE_HIGH16, "const-wide/high16",
164f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_21H, IndexType.NONE);
1653c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1663c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CONST_STRING =
167a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CONST_STRING, "const-string",
1683c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.STRING_REF);
1693c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1703c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CONST_STRING_JUMBO =
171a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CONST_STRING_JUMBO, "const-string/jumbo",
1723c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_31C, IndexType.STRING_REF);
1733c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1743c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CONST_CLASS =
175a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CONST_CLASS, "const-class",
1763c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.TYPE_REF);
1773c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1783c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MONITOR_ENTER =
179a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MONITOR_ENTER, "monitor-enter",
180f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_11X, IndexType.NONE);
1813c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1823c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MONITOR_EXIT =
183a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MONITOR_EXIT, "monitor-exit",
184f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_11X, IndexType.NONE);
1853c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1863c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CHECK_CAST =
187a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CHECK_CAST, "check-cast",
1883c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.TYPE_REF);
1893c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1903c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INSTANCE_OF =
191a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INSTANCE_OF, "instance-of",
1923c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.TYPE_REF);
1933c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1943c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info ARRAY_LENGTH =
195a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.ARRAY_LENGTH, "array-length",
196f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
1973c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1983c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info NEW_INSTANCE =
199a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.NEW_INSTANCE, "new-instance",
2003c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.TYPE_REF);
2013c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2023c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info NEW_ARRAY =
203a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.NEW_ARRAY, "new-array",
2043c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.TYPE_REF);
2053c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2063c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info FILLED_NEW_ARRAY =
207a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.FILLED_NEW_ARRAY, "filled-new-array",
2083c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_35C, IndexType.TYPE_REF);
2093c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2103c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info FILLED_NEW_ARRAY_RANGE =
211a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.FILLED_NEW_ARRAY_RANGE, "filled-new-array/range",
2123c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_3RC, IndexType.TYPE_REF);
2133c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2143c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info FILL_ARRAY_DATA =
215a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.FILL_ARRAY_DATA, "fill-array-data",
216f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_31T, IndexType.NONE);
2173c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2183c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info THROW =
219a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.THROW, "throw",
220f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_11X, IndexType.NONE);
2213c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2223c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info GOTO =
223a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.GOTO, "goto",
224f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_10T, IndexType.NONE);
2253c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2263c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info GOTO_16 =
227a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.GOTO_16, "goto/16",
228f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_20T, IndexType.NONE);
2293c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2303c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info GOTO_32 =
231a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.GOTO_32, "goto/32",
232f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_30T, IndexType.NONE);
2333c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2343c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info PACKED_SWITCH =
235a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.PACKED_SWITCH, "packed-switch",
236f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_31T, IndexType.NONE);
2373c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2383c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SPARSE_SWITCH =
239a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SPARSE_SWITCH, "sparse-switch",
240f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_31T, IndexType.NONE);
2413c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2423c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CMPL_FLOAT =
243a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CMPL_FLOAT, "cmpl-float",
244f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
2453c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2463c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CMPG_FLOAT =
247a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CMPG_FLOAT, "cmpg-float",
248f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
2493c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2503c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CMPL_DOUBLE =
251a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CMPL_DOUBLE, "cmpl-double",
252f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
2533c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2543c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CMPG_DOUBLE =
255a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CMPG_DOUBLE, "cmpg-double",
256f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
2573c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2583c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info CMP_LONG =
259a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.CMP_LONG, "cmp-long",
260f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
2613c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2623c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IF_EQ =
263a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IF_EQ, "if-eq",
264f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22T, IndexType.NONE);
2653c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2663c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IF_NE =
267a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IF_NE, "if-ne",
268f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22T, IndexType.NONE);
2693c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2703c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IF_LT =
271a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IF_LT, "if-lt",
272f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22T, IndexType.NONE);
2733c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2743c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IF_GE =
275a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IF_GE, "if-ge",
276f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22T, IndexType.NONE);
2773c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2783c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IF_GT =
279a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IF_GT, "if-gt",
280f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22T, IndexType.NONE);
2813c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2823c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IF_LE =
283a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IF_LE, "if-le",
284f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22T, IndexType.NONE);
2853c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2863c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IF_EQZ =
287a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IF_EQZ, "if-eqz",
288f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_21T, IndexType.NONE);
2893c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2903c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IF_NEZ =
291a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IF_NEZ, "if-nez",
292f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_21T, IndexType.NONE);
2933c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2943c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IF_LTZ =
295a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IF_LTZ, "if-ltz",
296f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_21T, IndexType.NONE);
2973c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
2983c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IF_GEZ =
299a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IF_GEZ, "if-gez",
300f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_21T, IndexType.NONE);
3013c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3023c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IF_GTZ =
303a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IF_GTZ, "if-gtz",
304f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_21T, IndexType.NONE);
3053c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3063c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IF_LEZ =
307a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IF_LEZ, "if-lez",
308f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_21T, IndexType.NONE);
3093c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3103c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info AGET =
311a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.AGET, "aget",
312f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
3133c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3143c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info AGET_WIDE =
315a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.AGET_WIDE, "aget-wide",
316f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
3173c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3183c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info AGET_OBJECT =
319a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.AGET_OBJECT, "aget-object",
320f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
3213c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3223c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info AGET_BOOLEAN =
323a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.AGET_BOOLEAN, "aget-boolean",
324f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
3253c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3263c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info AGET_BYTE =
327a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.AGET_BYTE, "aget-byte",
328f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
3293c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3303c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info AGET_CHAR =
331a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.AGET_CHAR, "aget-char",
332f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
3333c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3343c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info AGET_SHORT =
335a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.AGET_SHORT, "aget-short",
336f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
3373c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3383c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info APUT =
339a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.APUT, "aput",
340f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
3413c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3423c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info APUT_WIDE =
343a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.APUT_WIDE, "aput-wide",
344f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
3453c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3463c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info APUT_OBJECT =
347a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.APUT_OBJECT, "aput-object",
348f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
3493c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3503c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info APUT_BOOLEAN =
351a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.APUT_BOOLEAN, "aput-boolean",
352f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
3533c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3543c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info APUT_BYTE =
355a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.APUT_BYTE, "aput-byte",
356f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
3573c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3583c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info APUT_CHAR =
359a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.APUT_CHAR, "aput-char",
360f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
3613c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3623c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info APUT_SHORT =
363a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.APUT_SHORT, "aput-short",
364f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
3653c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3663c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IGET =
367a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IGET, "iget",
3683c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
3693c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3703c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IGET_WIDE =
371a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IGET_WIDE, "iget-wide",
3723c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
3733c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3743c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IGET_OBJECT =
375a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IGET_OBJECT, "iget-object",
3763c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
3773c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3783c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IGET_BOOLEAN =
379a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IGET_BOOLEAN, "iget-boolean",
3803c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
3813c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3823c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IGET_BYTE =
383a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IGET_BYTE, "iget-byte",
3843c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
3853c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3863c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IGET_CHAR =
387a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IGET_CHAR, "iget-char",
3883c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
3893c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3903c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IGET_SHORT =
391a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IGET_SHORT, "iget-short",
3923c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
3933c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3943c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IPUT =
395a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IPUT, "iput",
3963c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
3973c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
3983c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IPUT_WIDE =
399a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IPUT_WIDE, "iput-wide",
4003c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
4013c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4023c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IPUT_OBJECT =
403a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IPUT_OBJECT, "iput-object",
4043c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
4053c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4063c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IPUT_BOOLEAN =
407a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IPUT_BOOLEAN, "iput-boolean",
4083c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
4093c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4103c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IPUT_BYTE =
411a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IPUT_BYTE, "iput-byte",
4123c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
4133c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4143c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IPUT_CHAR =
415a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IPUT_CHAR, "iput-char",
4163c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
4173c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4183c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info IPUT_SHORT =
419a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.IPUT_SHORT, "iput-short",
4203c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
4213c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4223c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SGET =
423a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SGET, "sget",
4243c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
4253c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4263c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SGET_WIDE =
427a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SGET_WIDE, "sget-wide",
4283c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
4293c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4303c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SGET_OBJECT =
431a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SGET_OBJECT, "sget-object",
4323c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
4333c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4343c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SGET_BOOLEAN =
435a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SGET_BOOLEAN, "sget-boolean",
4363c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
4373c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4383c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SGET_BYTE =
439a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SGET_BYTE, "sget-byte",
4403c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
4413c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4423c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SGET_CHAR =
443a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SGET_CHAR, "sget-char",
4443c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
4453c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4463c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SGET_SHORT =
447a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SGET_SHORT, "sget-short",
4483c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
4493c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4503c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SPUT =
451a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SPUT, "sput",
4523c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
4533c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4543c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SPUT_WIDE =
455a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SPUT_WIDE, "sput-wide",
4563c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
4573c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4583c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SPUT_OBJECT =
459a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SPUT_OBJECT, "sput-object",
4603c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
4613c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4623c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SPUT_BOOLEAN =
463a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SPUT_BOOLEAN, "sput-boolean",
4643c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
4653c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4663c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SPUT_BYTE =
467a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SPUT_BYTE, "sput-byte",
4683c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
4693c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4703c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SPUT_CHAR =
471a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SPUT_CHAR, "sput-char",
4723c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
4733c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4743c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SPUT_SHORT =
475a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SPUT_SHORT, "sput-short",
4763c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
4773c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4783c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INVOKE_VIRTUAL =
479a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INVOKE_VIRTUAL, "invoke-virtual",
4803c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
4813c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4823c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INVOKE_SUPER =
483a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INVOKE_SUPER, "invoke-super",
4843c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
4853c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4863c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INVOKE_DIRECT =
487a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INVOKE_DIRECT, "invoke-direct",
4883c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
4893c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4903c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INVOKE_STATIC =
491a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INVOKE_STATIC, "invoke-static",
4923c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
4933c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4943c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INVOKE_INTERFACE =
495a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INVOKE_INTERFACE, "invoke-interface",
4963c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
4973c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
4983c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INVOKE_VIRTUAL_RANGE =
499a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INVOKE_VIRTUAL_RANGE, "invoke-virtual/range",
5003c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
5013c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5023c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INVOKE_SUPER_RANGE =
503a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INVOKE_SUPER_RANGE, "invoke-super/range",
5043c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
5053c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5063c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INVOKE_DIRECT_RANGE =
507a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INVOKE_DIRECT_RANGE, "invoke-direct/range",
5083c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
5093c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5103c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INVOKE_STATIC_RANGE =
511a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INVOKE_STATIC_RANGE, "invoke-static/range",
5123c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
5133c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5143c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INVOKE_INTERFACE_RANGE =
515a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INVOKE_INTERFACE_RANGE, "invoke-interface/range",
5163c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
5173c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5183c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info NEG_INT =
519a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.NEG_INT, "neg-int",
520f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5213c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5223c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info NOT_INT =
523a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.NOT_INT, "not-int",
524f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5253c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5263c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info NEG_LONG =
527a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.NEG_LONG, "neg-long",
528f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5293c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5303c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info NOT_LONG =
531a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.NOT_LONG, "not-long",
532f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5333c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5343c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info NEG_FLOAT =
535a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.NEG_FLOAT, "neg-float",
536f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5373c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5383c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info NEG_DOUBLE =
539a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.NEG_DOUBLE, "neg-double",
540f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5413c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5423c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INT_TO_LONG =
543a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INT_TO_LONG, "int-to-long",
544f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5453c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5463c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INT_TO_FLOAT =
547a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INT_TO_FLOAT, "int-to-float",
548f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5493c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5503c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INT_TO_DOUBLE =
551a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INT_TO_DOUBLE, "int-to-double",
552f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5533c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5543c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info LONG_TO_INT =
555a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.LONG_TO_INT, "long-to-int",
556f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5573c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5583c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info LONG_TO_FLOAT =
559a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.LONG_TO_FLOAT, "long-to-float",
560f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5613c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5623c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info LONG_TO_DOUBLE =
563a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.LONG_TO_DOUBLE, "long-to-double",
564f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5653c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5663c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info FLOAT_TO_INT =
567a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.FLOAT_TO_INT, "float-to-int",
568f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5693c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5703c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info FLOAT_TO_LONG =
571a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.FLOAT_TO_LONG, "float-to-long",
572f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5733c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5743c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info FLOAT_TO_DOUBLE =
575a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.FLOAT_TO_DOUBLE, "float-to-double",
576f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5773c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5783c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info DOUBLE_TO_INT =
579a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.DOUBLE_TO_INT, "double-to-int",
580f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5813c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5823c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info DOUBLE_TO_LONG =
583a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.DOUBLE_TO_LONG, "double-to-long",
584f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5853c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5863c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info DOUBLE_TO_FLOAT =
587a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.DOUBLE_TO_FLOAT, "double-to-float",
588f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5893c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5903c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INT_TO_BYTE =
591a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INT_TO_BYTE, "int-to-byte",
592f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5933c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5943c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INT_TO_CHAR =
595a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INT_TO_CHAR, "int-to-char",
596f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
5973c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
5983c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info INT_TO_SHORT =
599a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.INT_TO_SHORT, "int-to-short",
600f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
6013c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6023c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info ADD_INT =
603a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.ADD_INT, "add-int",
604f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6053c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6063c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SUB_INT =
607a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SUB_INT, "sub-int",
608f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6093c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6103c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MUL_INT =
611a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MUL_INT, "mul-int",
612f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6133c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6143c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info DIV_INT =
615a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.DIV_INT, "div-int",
616f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6173c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6183c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info REM_INT =
619a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.REM_INT, "rem-int",
620f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6213c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6223c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info AND_INT =
623a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.AND_INT, "and-int",
624f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6253c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6263c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info OR_INT =
627a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.OR_INT, "or-int",
628f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6293c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6303c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info XOR_INT =
631a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.XOR_INT, "xor-int",
632f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6333c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6343c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SHL_INT =
635a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SHL_INT, "shl-int",
636f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6373c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6383c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SHR_INT =
639a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SHR_INT, "shr-int",
640f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6413c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6423c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info USHR_INT =
643a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.USHR_INT, "ushr-int",
644f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6453c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6463c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info ADD_LONG =
647a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.ADD_LONG, "add-long",
648f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6493c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6503c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SUB_LONG =
651a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SUB_LONG, "sub-long",
652f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6533c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6543c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MUL_LONG =
655a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MUL_LONG, "mul-long",
656f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6573c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6583c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info DIV_LONG =
659a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.DIV_LONG, "div-long",
660f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6613c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6623c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info REM_LONG =
663a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.REM_LONG, "rem-long",
664f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6653c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6663c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info AND_LONG =
667a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.AND_LONG, "and-long",
668f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6693c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6703c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info OR_LONG =
671a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.OR_LONG, "or-long",
672f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6733c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6743c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info XOR_LONG =
675a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.XOR_LONG, "xor-long",
676f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6773c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6783c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SHL_LONG =
679a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SHL_LONG, "shl-long",
680f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6813c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6823c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SHR_LONG =
683a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SHR_LONG, "shr-long",
684f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6853c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6863c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info USHR_LONG =
687a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.USHR_LONG, "ushr-long",
688f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6893c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6903c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info ADD_FLOAT =
691a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.ADD_FLOAT, "add-float",
692f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6933c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6943c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SUB_FLOAT =
695a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SUB_FLOAT, "sub-float",
696f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
6973c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
6983c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MUL_FLOAT =
699a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MUL_FLOAT, "mul-float",
700f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
7013c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7023c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info DIV_FLOAT =
703a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.DIV_FLOAT, "div-float",
704f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
7053c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7063c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info REM_FLOAT =
707a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.REM_FLOAT, "rem-float",
708f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
7093c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7103c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info ADD_DOUBLE =
711a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.ADD_DOUBLE, "add-double",
712f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
7133c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7143c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SUB_DOUBLE =
715a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SUB_DOUBLE, "sub-double",
716f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
7173c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7183c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MUL_DOUBLE =
719a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MUL_DOUBLE, "mul-double",
720f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
7213c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7223c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info DIV_DOUBLE =
723a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.DIV_DOUBLE, "div-double",
724f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
7253c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7263c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info REM_DOUBLE =
727a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.REM_DOUBLE, "rem-double",
728f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_23X, IndexType.NONE);
7293c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7303c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info ADD_INT_2ADDR =
731a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.ADD_INT_2ADDR, "add-int/2addr",
732f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7333c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7343c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SUB_INT_2ADDR =
735a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SUB_INT_2ADDR, "sub-int/2addr",
736f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7373c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7383c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MUL_INT_2ADDR =
739a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MUL_INT_2ADDR, "mul-int/2addr",
740f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7413c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7423c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info DIV_INT_2ADDR =
743a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.DIV_INT_2ADDR, "div-int/2addr",
744f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7453c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7463c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info REM_INT_2ADDR =
747a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.REM_INT_2ADDR, "rem-int/2addr",
748f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7493c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7503c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info AND_INT_2ADDR =
751a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.AND_INT_2ADDR, "and-int/2addr",
752f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7533c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7543c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info OR_INT_2ADDR =
755a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.OR_INT_2ADDR, "or-int/2addr",
756f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7573c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7583c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info XOR_INT_2ADDR =
759a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.XOR_INT_2ADDR, "xor-int/2addr",
760f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7613c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7623c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SHL_INT_2ADDR =
763a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SHL_INT_2ADDR, "shl-int/2addr",
764f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7653c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7663c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SHR_INT_2ADDR =
767a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SHR_INT_2ADDR, "shr-int/2addr",
768f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7693c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7703c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info USHR_INT_2ADDR =
771a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.USHR_INT_2ADDR, "ushr-int/2addr",
772f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7733c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7743c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info ADD_LONG_2ADDR =
775a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.ADD_LONG_2ADDR, "add-long/2addr",
776f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7773c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7783c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SUB_LONG_2ADDR =
779a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SUB_LONG_2ADDR, "sub-long/2addr",
780f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7813c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7823c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MUL_LONG_2ADDR =
783a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MUL_LONG_2ADDR, "mul-long/2addr",
784f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7853c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7863c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info DIV_LONG_2ADDR =
787a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.DIV_LONG_2ADDR, "div-long/2addr",
788f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7893c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7903c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info REM_LONG_2ADDR =
791a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.REM_LONG_2ADDR, "rem-long/2addr",
792f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7933c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7943c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info AND_LONG_2ADDR =
795a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.AND_LONG_2ADDR, "and-long/2addr",
796f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
7973c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
7983c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info OR_LONG_2ADDR =
799a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.OR_LONG_2ADDR, "or-long/2addr",
800f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
8013c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8023c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info XOR_LONG_2ADDR =
803a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.XOR_LONG_2ADDR, "xor-long/2addr",
804f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
8053c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8063c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SHL_LONG_2ADDR =
807a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SHL_LONG_2ADDR, "shl-long/2addr",
808f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
8093c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8103c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SHR_LONG_2ADDR =
811a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SHR_LONG_2ADDR, "shr-long/2addr",
812f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
8133c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8143c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info USHR_LONG_2ADDR =
815a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.USHR_LONG_2ADDR, "ushr-long/2addr",
816f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
8173c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8183c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info ADD_FLOAT_2ADDR =
819a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.ADD_FLOAT_2ADDR, "add-float/2addr",
820f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
8213c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8223c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SUB_FLOAT_2ADDR =
823a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SUB_FLOAT_2ADDR, "sub-float/2addr",
824f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
8253c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8263c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MUL_FLOAT_2ADDR =
827a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MUL_FLOAT_2ADDR, "mul-float/2addr",
828f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
8293c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8303c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info DIV_FLOAT_2ADDR =
831a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.DIV_FLOAT_2ADDR, "div-float/2addr",
832f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
8333c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8343c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info REM_FLOAT_2ADDR =
835a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.REM_FLOAT_2ADDR, "rem-float/2addr",
836f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
8373c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8383c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info ADD_DOUBLE_2ADDR =
839a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.ADD_DOUBLE_2ADDR, "add-double/2addr",
840f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
8413c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8423c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SUB_DOUBLE_2ADDR =
843a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SUB_DOUBLE_2ADDR, "sub-double/2addr",
844f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
8453c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8463c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MUL_DOUBLE_2ADDR =
847a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MUL_DOUBLE_2ADDR, "mul-double/2addr",
848f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
8493c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8503c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info DIV_DOUBLE_2ADDR =
851a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.DIV_DOUBLE_2ADDR, "div-double/2addr",
852f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
8533c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8543c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info REM_DOUBLE_2ADDR =
855a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.REM_DOUBLE_2ADDR, "rem-double/2addr",
856f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_12X, IndexType.NONE);
8573c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8583c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info ADD_INT_LIT16 =
859a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.ADD_INT_LIT16, "add-int/lit16",
860f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22S, IndexType.NONE);
8613c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8623c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info RSUB_INT =
863a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.RSUB_INT, "rsub-int",
864f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22S, IndexType.NONE);
8653c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8663c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MUL_INT_LIT16 =
867a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MUL_INT_LIT16, "mul-int/lit16",
868f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22S, IndexType.NONE);
8693c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8703c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info DIV_INT_LIT16 =
871a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.DIV_INT_LIT16, "div-int/lit16",
872f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22S, IndexType.NONE);
8733c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8743c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info REM_INT_LIT16 =
875a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.REM_INT_LIT16, "rem-int/lit16",
876f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22S, IndexType.NONE);
8773c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8783c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info AND_INT_LIT16 =
879a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.AND_INT_LIT16, "and-int/lit16",
880f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22S, IndexType.NONE);
8813c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8823c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info OR_INT_LIT16 =
883a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.OR_INT_LIT16, "or-int/lit16",
884f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22S, IndexType.NONE);
8853c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8863c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info XOR_INT_LIT16 =
887a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.XOR_INT_LIT16, "xor-int/lit16",
888f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22S, IndexType.NONE);
8893c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8903c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info ADD_INT_LIT8 =
891a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.ADD_INT_LIT8, "add-int/lit8",
892f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22B, IndexType.NONE);
8933c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8943c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info RSUB_INT_LIT8 =
895a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.RSUB_INT_LIT8, "rsub-int/lit8",
896f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22B, IndexType.NONE);
8973c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
8983c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info MUL_INT_LIT8 =
899a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.MUL_INT_LIT8, "mul-int/lit8",
900f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22B, IndexType.NONE);
9013c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
9023c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info DIV_INT_LIT8 =
903a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.DIV_INT_LIT8, "div-int/lit8",
904f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22B, IndexType.NONE);
9053c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
9063c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info REM_INT_LIT8 =
907a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.REM_INT_LIT8, "rem-int/lit8",
908f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22B, IndexType.NONE);
9093c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
9103c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info AND_INT_LIT8 =
911a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.AND_INT_LIT8, "and-int/lit8",
912f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22B, IndexType.NONE);
9133c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
9143c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info OR_INT_LIT8 =
915a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.OR_INT_LIT8, "or-int/lit8",
916f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22B, IndexType.NONE);
9173c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
9183c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info XOR_INT_LIT8 =
919a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.XOR_INT_LIT8, "xor-int/lit8",
920f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22B, IndexType.NONE);
9213c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
9223c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SHL_INT_LIT8 =
923a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SHL_INT_LIT8, "shl-int/lit8",
924f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22B, IndexType.NONE);
9253c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
9263c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info SHR_INT_LIT8 =
927a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.SHR_INT_LIT8, "shr-int/lit8",
928f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22B, IndexType.NONE);
9293c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
9303c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static final Info USHR_INT_LIT8 =
931a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        new Info(Opcodes.USHR_INT_LIT8, "ushr-int/lit8",
932f67b6afce08a6b9b5daf7d4d69e132fda07bc78fDan Bornstein            InstructionCodec.FORMAT_22B, IndexType.NONE);
9333c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
9343c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    // END(opcode-info-defs)
9353c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
9363c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    // Static initialization.
9373c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    static {
9387ba91291bb6ce64691398a8751656207e8e3e98dDan Bornstein        INFO = new Info[Opcodes.MAX_VALUE - Opcodes.MIN_VALUE + 1];
9393c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
940a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        // TODO: Stop using this constant.
941a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        set(SPECIAL_FORMAT);
942a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein
94332dd826ad1742993cf0627448cd083a5021d71bbDan Bornstein        // TODO: These payload opcodes should be generated by opcode-gen.
94432dd826ad1742993cf0627448cd083a5021d71bbDan Bornstein        set(PACKED_SWITCH_PAYLOAD);
94532dd826ad1742993cf0627448cd083a5021d71bbDan Bornstein        set(SPARSE_SWITCH_PAYLOAD);
94632dd826ad1742993cf0627448cd083a5021d71bbDan Bornstein        set(FILL_ARRAY_DATA_PAYLOAD);
94732dd826ad1742993cf0627448cd083a5021d71bbDan Bornstein
9483c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        // BEGIN(opcode-info-init); GENERATED AUTOMATICALLY BY opcode-gen
9493c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(NOP);
9503c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MOVE);
9513c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MOVE_FROM16);
9523c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MOVE_16);
9533c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MOVE_WIDE);
9543c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MOVE_WIDE_FROM16);
9553c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MOVE_WIDE_16);
9563c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MOVE_OBJECT);
9573c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MOVE_OBJECT_FROM16);
9583c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MOVE_OBJECT_16);
9593c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MOVE_RESULT);
9603c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MOVE_RESULT_WIDE);
9613c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MOVE_RESULT_OBJECT);
9623c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MOVE_EXCEPTION);
9633c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(RETURN_VOID);
9643c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(RETURN);
9653c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(RETURN_WIDE);
9663c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(RETURN_OBJECT);
9673c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CONST_4);
9683c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CONST_16);
9693c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CONST);
9703c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CONST_HIGH16);
9713c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CONST_WIDE_16);
9723c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CONST_WIDE_32);
9733c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CONST_WIDE);
9743c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CONST_WIDE_HIGH16);
9753c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CONST_STRING);
9763c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CONST_STRING_JUMBO);
9773c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CONST_CLASS);
9783c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MONITOR_ENTER);
9793c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MONITOR_EXIT);
9803c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CHECK_CAST);
9813c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INSTANCE_OF);
9823c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(ARRAY_LENGTH);
9833c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(NEW_INSTANCE);
9843c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(NEW_ARRAY);
9853c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(FILLED_NEW_ARRAY);
9863c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(FILLED_NEW_ARRAY_RANGE);
9873c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(FILL_ARRAY_DATA);
9883c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(THROW);
9893c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(GOTO);
9903c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(GOTO_16);
9913c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(GOTO_32);
9923c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(PACKED_SWITCH);
9933c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SPARSE_SWITCH);
9943c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CMPL_FLOAT);
9953c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CMPG_FLOAT);
9963c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CMPL_DOUBLE);
9973c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CMPG_DOUBLE);
9983c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(CMP_LONG);
9993c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IF_EQ);
10003c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IF_NE);
10013c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IF_LT);
10023c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IF_GE);
10033c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IF_GT);
10043c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IF_LE);
10053c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IF_EQZ);
10063c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IF_NEZ);
10073c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IF_LTZ);
10083c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IF_GEZ);
10093c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IF_GTZ);
10103c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IF_LEZ);
10113c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(AGET);
10123c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(AGET_WIDE);
10133c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(AGET_OBJECT);
10143c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(AGET_BOOLEAN);
10153c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(AGET_BYTE);
10163c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(AGET_CHAR);
10173c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(AGET_SHORT);
10183c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(APUT);
10193c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(APUT_WIDE);
10203c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(APUT_OBJECT);
10213c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(APUT_BOOLEAN);
10223c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(APUT_BYTE);
10233c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(APUT_CHAR);
10243c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(APUT_SHORT);
10253c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IGET);
10263c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IGET_WIDE);
10273c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IGET_OBJECT);
10283c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IGET_BOOLEAN);
10293c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IGET_BYTE);
10303c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IGET_CHAR);
10313c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IGET_SHORT);
10323c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IPUT);
10333c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IPUT_WIDE);
10343c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IPUT_OBJECT);
10353c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IPUT_BOOLEAN);
10363c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IPUT_BYTE);
10373c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IPUT_CHAR);
10383c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(IPUT_SHORT);
10393c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SGET);
10403c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SGET_WIDE);
10413c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SGET_OBJECT);
10423c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SGET_BOOLEAN);
10433c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SGET_BYTE);
10443c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SGET_CHAR);
10453c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SGET_SHORT);
10463c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SPUT);
10473c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SPUT_WIDE);
10483c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SPUT_OBJECT);
10493c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SPUT_BOOLEAN);
10503c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SPUT_BYTE);
10513c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SPUT_CHAR);
10523c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SPUT_SHORT);
10533c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INVOKE_VIRTUAL);
10543c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INVOKE_SUPER);
10553c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INVOKE_DIRECT);
10563c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INVOKE_STATIC);
10573c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INVOKE_INTERFACE);
10583c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INVOKE_VIRTUAL_RANGE);
10593c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INVOKE_SUPER_RANGE);
10603c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INVOKE_DIRECT_RANGE);
10613c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INVOKE_STATIC_RANGE);
10623c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INVOKE_INTERFACE_RANGE);
10633c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(NEG_INT);
10643c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(NOT_INT);
10653c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(NEG_LONG);
10663c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(NOT_LONG);
10673c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(NEG_FLOAT);
10683c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(NEG_DOUBLE);
10693c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INT_TO_LONG);
10703c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INT_TO_FLOAT);
10713c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INT_TO_DOUBLE);
10723c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(LONG_TO_INT);
10733c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(LONG_TO_FLOAT);
10743c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(LONG_TO_DOUBLE);
10753c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(FLOAT_TO_INT);
10763c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(FLOAT_TO_LONG);
10773c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(FLOAT_TO_DOUBLE);
10783c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(DOUBLE_TO_INT);
10793c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(DOUBLE_TO_LONG);
10803c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(DOUBLE_TO_FLOAT);
10813c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INT_TO_BYTE);
10823c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INT_TO_CHAR);
10833c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(INT_TO_SHORT);
10843c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(ADD_INT);
10853c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SUB_INT);
10863c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MUL_INT);
10873c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(DIV_INT);
10883c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(REM_INT);
10893c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(AND_INT);
10903c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(OR_INT);
10913c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(XOR_INT);
10923c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SHL_INT);
10933c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SHR_INT);
10943c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(USHR_INT);
10953c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(ADD_LONG);
10963c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SUB_LONG);
10973c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MUL_LONG);
10983c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(DIV_LONG);
10993c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(REM_LONG);
11003c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(AND_LONG);
11013c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(OR_LONG);
11023c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(XOR_LONG);
11033c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SHL_LONG);
11043c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SHR_LONG);
11053c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(USHR_LONG);
11063c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(ADD_FLOAT);
11073c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SUB_FLOAT);
11083c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MUL_FLOAT);
11093c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(DIV_FLOAT);
11103c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(REM_FLOAT);
11113c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(ADD_DOUBLE);
11123c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SUB_DOUBLE);
11133c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MUL_DOUBLE);
11143c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(DIV_DOUBLE);
11153c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(REM_DOUBLE);
11163c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(ADD_INT_2ADDR);
11173c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SUB_INT_2ADDR);
11183c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MUL_INT_2ADDR);
11193c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(DIV_INT_2ADDR);
11203c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(REM_INT_2ADDR);
11213c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(AND_INT_2ADDR);
11223c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(OR_INT_2ADDR);
11233c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(XOR_INT_2ADDR);
11243c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SHL_INT_2ADDR);
11253c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SHR_INT_2ADDR);
11263c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(USHR_INT_2ADDR);
11273c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(ADD_LONG_2ADDR);
11283c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SUB_LONG_2ADDR);
11293c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MUL_LONG_2ADDR);
11303c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(DIV_LONG_2ADDR);
11313c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(REM_LONG_2ADDR);
11323c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(AND_LONG_2ADDR);
11333c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(OR_LONG_2ADDR);
11343c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(XOR_LONG_2ADDR);
11353c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SHL_LONG_2ADDR);
11363c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SHR_LONG_2ADDR);
11373c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(USHR_LONG_2ADDR);
11383c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(ADD_FLOAT_2ADDR);
11393c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SUB_FLOAT_2ADDR);
11403c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MUL_FLOAT_2ADDR);
11413c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(DIV_FLOAT_2ADDR);
11423c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(REM_FLOAT_2ADDR);
11433c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(ADD_DOUBLE_2ADDR);
11443c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SUB_DOUBLE_2ADDR);
11453c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MUL_DOUBLE_2ADDR);
11463c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(DIV_DOUBLE_2ADDR);
11473c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(REM_DOUBLE_2ADDR);
11483c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(ADD_INT_LIT16);
11493c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(RSUB_INT);
11503c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MUL_INT_LIT16);
11513c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(DIV_INT_LIT16);
11523c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(REM_INT_LIT16);
11533c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(AND_INT_LIT16);
11543c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(OR_INT_LIT16);
11553c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(XOR_INT_LIT16);
11563c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(ADD_INT_LIT8);
11573c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(RSUB_INT_LIT8);
11583c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(MUL_INT_LIT8);
11593c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(DIV_INT_LIT8);
11603c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(REM_INT_LIT8);
11613c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(AND_INT_LIT8);
11623c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(OR_INT_LIT8);
11633c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(XOR_INT_LIT8);
11643c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SHL_INT_LIT8);
11653c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(SHR_INT_LIT8);
11663c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        set(USHR_INT_LIT8);
11673c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        // END(opcode-info-init)
11683c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    }
11693c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
11703c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    /**
11713c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     * This class is uninstantiable.
11723c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     */
11733c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    private OpcodeInfo() {
11743c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        // This space intentionally left blank.
11753c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    }
11763c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
11773c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    /**
11783c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     * Gets the {@link @Info} for the given opcode value.
11793c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     *
11807ba91291bb6ce64691398a8751656207e8e3e98dDan Bornstein     * @param opcode {@code Opcodes.MIN_VALUE..Opcodes.MAX_VALUE;} the
11813c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     * opcode value
11823c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     * @return non-null; the associated opcode information instance
11833c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     */
11843c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static Info get(int opcode) {
11857ba91291bb6ce64691398a8751656207e8e3e98dDan Bornstein        int idx = opcode - Opcodes.MIN_VALUE;
11863c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
11873c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        try {
11883c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            Info result = INFO[idx];
11893c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            if (result != null) {
11903c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein                return result;
11913c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            }
11923c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        } catch (ArrayIndexOutOfBoundsException ex) {
11933c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            // Fall through.
11943c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        }
11953c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
11963c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        throw new IllegalArgumentException("bogus opcode: "
11973c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein                + Hex.u2or4(opcode));
11983c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    }
11993c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
12003c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    /**
1201a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein     * Gets the name of the given opcode.
12023c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     */
1203a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein    public static String getName(int opcode) {
1204a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        return get(opcode).getName();
12053c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    }
12063c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
12073c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    /**
1208a2c9b2631e0e0034fdd6518e45a20d27914c731fDan Bornstein     * Gets the format (an {@link InstructionCodec}) for the given opcode
1209a2c9b2631e0e0034fdd6518e45a20d27914c731fDan Bornstein     * value.
1210a2c9b2631e0e0034fdd6518e45a20d27914c731fDan Bornstein     */
1211a2c9b2631e0e0034fdd6518e45a20d27914c731fDan Bornstein    public static InstructionCodec getFormat(int opcode) {
1212a2c9b2631e0e0034fdd6518e45a20d27914c731fDan Bornstein        return get(opcode).getFormat();
1213a2c9b2631e0e0034fdd6518e45a20d27914c731fDan Bornstein    }
1214a2c9b2631e0e0034fdd6518e45a20d27914c731fDan Bornstein
1215a2c9b2631e0e0034fdd6518e45a20d27914c731fDan Bornstein    /**
1216a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein     * Gets the {@link IndexType} for the given opcode value.
1217a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein     */
1218a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein    public static IndexType getIndexType(int opcode) {
1219a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        return get(opcode).getIndexType();
1220a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein    }
1221a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein
1222a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein    /**
12233c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     * Puts the given opcode into the table of all ops.
12243c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     *
12253c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     * @param opcode non-null; the opcode
12263c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     */
12273c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    private static void set(Info opcode) {
12287ba91291bb6ce64691398a8751656207e8e3e98dDan Bornstein        int idx = opcode.getOpcode() - Opcodes.MIN_VALUE;
12293c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        INFO[idx] = opcode;
12303c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    }
12313c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
12323c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    /**
12333c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     * Information about an opcode.
12343c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     */
12353c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public static class Info {
12363c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        private final int opcode;
1237a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        private final String name;
12383c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        private final InstructionCodec format;
12393c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        private final IndexType indexType;
12403c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1241a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        public Info(int opcode, String name, InstructionCodec format,
1242a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein                IndexType indexType) {
12433c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            this.opcode = opcode;
1244a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein            this.name = name;
12453c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            this.format = format;
12463c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            this.indexType = indexType;
12473c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        }
12483c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
12493c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        public int getOpcode() {
12503c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            return opcode;
12513c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        }
12523c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
1253a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        public String getName() {
1254a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein            return name;
1255a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein        }
1256a754fbb1555f9ac2d14de0ffd0046c780732da5aDan Bornstein
12573c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        public InstructionCodec getFormat() {
12583c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            return format;
12593c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        }
12603c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
12613c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        public IndexType getIndexType() {
12623c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein            return indexType;
12633c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein        }
12643c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    }
12653c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein}
1266