1579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson/*
2579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson * Copyright (C) 2011 The Android Open Source Project
3579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson *
4579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson * Licensed under the Apache License, Version 2.0 (the "License");
5579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson * you may not use this file except in compliance with the License.
6579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson * You may obtain a copy of the License at
7579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson *
8579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson *      http://www.apache.org/licenses/LICENSE-2.0
9579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson *
10579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson * Unless required by applicable law or agreed to in writing, software
11579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson * distributed under the License is distributed on an "AS IS" BASIS,
12579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson * See the License for the specific language governing permissions and
14579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson * limitations under the License.
15579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson */
16579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
17579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilsonpackage com.android.dx.io;
18579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
19579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilsonimport com.android.dx.io.instructions.InstructionCodec;
20579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilsonimport com.android.dx.util.Hex;
21579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
22579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson/**
23579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson * Information about each Dalvik opcode.
24579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson */
25579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilsonpublic final class OpcodeInfo {
26579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    /*
27579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * TODO: Merge at least most of the info from the Dops class into
28579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * this one.
29579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     */
30579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
31579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    /** non-null; array containing all the information */
32579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    private static final Info[] INFO;
33579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
34579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    /**
35579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * pseudo-opcode used for nonstandard formatted "instructions"
36579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * (which are mostly not actually instructions, though they do
37579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * appear in instruction lists). TODO: Retire the usage of this
38579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * constant.
39579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     */
40579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPECIAL_FORMAT =
41579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPECIAL_FORMAT, "<special>",
42579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson                InstructionCodec.FORMAT_00X, IndexType.NONE);
43579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
44579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    // TODO: These payload opcodes should be generated by opcode-gen.
45579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
46579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info PACKED_SWITCH_PAYLOAD =
47579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.PACKED_SWITCH_PAYLOAD, "packed-switch-payload",
48579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson                InstructionCodec.FORMAT_PACKED_SWITCH_PAYLOAD,
49579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson                IndexType.NONE);
50579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
51579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPARSE_SWITCH_PAYLOAD =
52579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPARSE_SWITCH_PAYLOAD, "sparse-switch-payload",
53579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson                InstructionCodec.FORMAT_SPARSE_SWITCH_PAYLOAD,
54579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson                IndexType.NONE);
55579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
56579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info FILL_ARRAY_DATA_PAYLOAD =
57579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.FILL_ARRAY_DATA_PAYLOAD, "fill-array-data-payload",
58579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson                InstructionCodec.FORMAT_FILL_ARRAY_DATA_PAYLOAD,
59579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson                IndexType.NONE);
60579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
61579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    // BEGIN(opcode-info-defs); GENERATED AUTOMATICALLY BY opcode-gen
62579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info NOP =
63579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.NOP, "nop",
64579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_10X, IndexType.NONE);
65579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
66579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MOVE =
67579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MOVE, "move",
68579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
69579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
70579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MOVE_FROM16 =
71579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MOVE_FROM16, "move/from16",
72579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22X, IndexType.NONE);
73579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
74579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MOVE_16 =
75579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MOVE_16, "move/16",
76579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_32X, IndexType.NONE);
77579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
78579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MOVE_WIDE =
79579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MOVE_WIDE, "move-wide",
80579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
81579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
82579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MOVE_WIDE_FROM16 =
83579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MOVE_WIDE_FROM16, "move-wide/from16",
84579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22X, IndexType.NONE);
85579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
86579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MOVE_WIDE_16 =
87579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MOVE_WIDE_16, "move-wide/16",
88579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_32X, IndexType.NONE);
89579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
90579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MOVE_OBJECT =
91579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MOVE_OBJECT, "move-object",
92579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
93579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
94579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MOVE_OBJECT_FROM16 =
95579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MOVE_OBJECT_FROM16, "move-object/from16",
96579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22X, IndexType.NONE);
97579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
98579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MOVE_OBJECT_16 =
99579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MOVE_OBJECT_16, "move-object/16",
100579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_32X, IndexType.NONE);
101579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
102579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MOVE_RESULT =
103579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MOVE_RESULT, "move-result",
104579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_11X, IndexType.NONE);
105579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
106579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MOVE_RESULT_WIDE =
107579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MOVE_RESULT_WIDE, "move-result-wide",
108579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_11X, IndexType.NONE);
109579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
110579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MOVE_RESULT_OBJECT =
111579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MOVE_RESULT_OBJECT, "move-result-object",
112579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_11X, IndexType.NONE);
113579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
114579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MOVE_EXCEPTION =
115579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MOVE_EXCEPTION, "move-exception",
116579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_11X, IndexType.NONE);
117579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
118579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info RETURN_VOID =
119579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.RETURN_VOID, "return-void",
120579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_10X, IndexType.NONE);
121579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
122579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info RETURN =
123579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.RETURN, "return",
124579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_11X, IndexType.NONE);
125579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
126579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info RETURN_WIDE =
127579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.RETURN_WIDE, "return-wide",
128579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_11X, IndexType.NONE);
129579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
130579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info RETURN_OBJECT =
131579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.RETURN_OBJECT, "return-object",
132579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_11X, IndexType.NONE);
133579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
134579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CONST_4 =
135579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CONST_4, "const/4",
136579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_11N, IndexType.NONE);
137579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
138579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CONST_16 =
139579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CONST_16, "const/16",
140579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21S, IndexType.NONE);
141579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
142579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CONST =
143579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CONST, "const",
144579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_31I, IndexType.NONE);
145579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
146579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CONST_HIGH16 =
147579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CONST_HIGH16, "const/high16",
148579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21H, IndexType.NONE);
149579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
150579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CONST_WIDE_16 =
151579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CONST_WIDE_16, "const-wide/16",
152579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21S, IndexType.NONE);
153579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
154579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CONST_WIDE_32 =
155579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CONST_WIDE_32, "const-wide/32",
156579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_31I, IndexType.NONE);
157579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
158579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CONST_WIDE =
159579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CONST_WIDE, "const-wide",
160579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_51L, IndexType.NONE);
161579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
162579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CONST_WIDE_HIGH16 =
163579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CONST_WIDE_HIGH16, "const-wide/high16",
164579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21H, IndexType.NONE);
165579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
166579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CONST_STRING =
167579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CONST_STRING, "const-string",
168579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.STRING_REF);
169579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
170579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CONST_STRING_JUMBO =
171579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CONST_STRING_JUMBO, "const-string/jumbo",
172579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_31C, IndexType.STRING_REF);
173579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
174579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CONST_CLASS =
175579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CONST_CLASS, "const-class",
176579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.TYPE_REF);
177579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
178579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MONITOR_ENTER =
179579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MONITOR_ENTER, "monitor-enter",
180579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_11X, IndexType.NONE);
181579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
182579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MONITOR_EXIT =
183579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MONITOR_EXIT, "monitor-exit",
184579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_11X, IndexType.NONE);
185579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
186579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CHECK_CAST =
187579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CHECK_CAST, "check-cast",
188579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.TYPE_REF);
189579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
190579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INSTANCE_OF =
191579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INSTANCE_OF, "instance-of",
192579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.TYPE_REF);
193579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
194579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info ARRAY_LENGTH =
195579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.ARRAY_LENGTH, "array-length",
196579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
197579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
198579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info NEW_INSTANCE =
199579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.NEW_INSTANCE, "new-instance",
200579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.TYPE_REF);
201579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
202579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info NEW_ARRAY =
203579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.NEW_ARRAY, "new-array",
204579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.TYPE_REF);
205579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
206579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info FILLED_NEW_ARRAY =
207579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.FILLED_NEW_ARRAY, "filled-new-array",
208579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_35C, IndexType.TYPE_REF);
209579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
210579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info FILLED_NEW_ARRAY_RANGE =
211579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.FILLED_NEW_ARRAY_RANGE, "filled-new-array/range",
212579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_3RC, IndexType.TYPE_REF);
213579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
214579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info FILL_ARRAY_DATA =
215579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.FILL_ARRAY_DATA, "fill-array-data",
216579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_31T, IndexType.NONE);
217579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
218579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info THROW =
219579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.THROW, "throw",
220579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_11X, IndexType.NONE);
221579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
222579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info GOTO =
223579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.GOTO, "goto",
224579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_10T, IndexType.NONE);
225579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
226579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info GOTO_16 =
227579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.GOTO_16, "goto/16",
228579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_20T, IndexType.NONE);
229579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
230579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info GOTO_32 =
231579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.GOTO_32, "goto/32",
232579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_30T, IndexType.NONE);
233579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
234579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info PACKED_SWITCH =
235579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.PACKED_SWITCH, "packed-switch",
236579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_31T, IndexType.NONE);
237579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
238579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPARSE_SWITCH =
239579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPARSE_SWITCH, "sparse-switch",
240579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_31T, IndexType.NONE);
241579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
242579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CMPL_FLOAT =
243579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CMPL_FLOAT, "cmpl-float",
244579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
245579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
246579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CMPG_FLOAT =
247579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CMPG_FLOAT, "cmpg-float",
248579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
249579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
250579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CMPL_DOUBLE =
251579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CMPL_DOUBLE, "cmpl-double",
252579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
253579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
254579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CMPG_DOUBLE =
255579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CMPG_DOUBLE, "cmpg-double",
256579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
257579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
258579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CMP_LONG =
259579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CMP_LONG, "cmp-long",
260579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
261579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
262579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IF_EQ =
263579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IF_EQ, "if-eq",
264579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22T, IndexType.NONE);
265579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
266579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IF_NE =
267579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IF_NE, "if-ne",
268579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22T, IndexType.NONE);
269579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
270579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IF_LT =
271579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IF_LT, "if-lt",
272579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22T, IndexType.NONE);
273579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
274579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IF_GE =
275579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IF_GE, "if-ge",
276579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22T, IndexType.NONE);
277579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
278579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IF_GT =
279579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IF_GT, "if-gt",
280579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22T, IndexType.NONE);
281579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
282579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IF_LE =
283579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IF_LE, "if-le",
284579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22T, IndexType.NONE);
285579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
286579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IF_EQZ =
287579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IF_EQZ, "if-eqz",
288579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21T, IndexType.NONE);
289579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
290579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IF_NEZ =
291579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IF_NEZ, "if-nez",
292579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21T, IndexType.NONE);
293579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
294579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IF_LTZ =
295579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IF_LTZ, "if-ltz",
296579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21T, IndexType.NONE);
297579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
298579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IF_GEZ =
299579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IF_GEZ, "if-gez",
300579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21T, IndexType.NONE);
301579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
302579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IF_GTZ =
303579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IF_GTZ, "if-gtz",
304579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21T, IndexType.NONE);
305579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
306579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IF_LEZ =
307579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IF_LEZ, "if-lez",
308579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21T, IndexType.NONE);
309579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
310579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info AGET =
311579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.AGET, "aget",
312579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
313579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
314579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info AGET_WIDE =
315579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.AGET_WIDE, "aget-wide",
316579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
317579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
318579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info AGET_OBJECT =
319579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.AGET_OBJECT, "aget-object",
320579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
321579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
322579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info AGET_BOOLEAN =
323579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.AGET_BOOLEAN, "aget-boolean",
324579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
325579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
326579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info AGET_BYTE =
327579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.AGET_BYTE, "aget-byte",
328579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
329579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
330579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info AGET_CHAR =
331579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.AGET_CHAR, "aget-char",
332579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
333579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
334579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info AGET_SHORT =
335579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.AGET_SHORT, "aget-short",
336579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
337579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
338579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info APUT =
339579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.APUT, "aput",
340579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
341579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
342579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info APUT_WIDE =
343579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.APUT_WIDE, "aput-wide",
344579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
345579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
346579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info APUT_OBJECT =
347579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.APUT_OBJECT, "aput-object",
348579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
349579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
350579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info APUT_BOOLEAN =
351579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.APUT_BOOLEAN, "aput-boolean",
352579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
353579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
354579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info APUT_BYTE =
355579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.APUT_BYTE, "aput-byte",
356579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
357579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
358579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info APUT_CHAR =
359579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.APUT_CHAR, "aput-char",
360579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
361579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
362579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info APUT_SHORT =
363579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.APUT_SHORT, "aput-short",
364579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
365579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
366579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IGET =
367579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IGET, "iget",
368579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
369579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
370579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IGET_WIDE =
371579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IGET_WIDE, "iget-wide",
372579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
373579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
374579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IGET_OBJECT =
375579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IGET_OBJECT, "iget-object",
376579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
377579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
378579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IGET_BOOLEAN =
379579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IGET_BOOLEAN, "iget-boolean",
380579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
381579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
382579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IGET_BYTE =
383579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IGET_BYTE, "iget-byte",
384579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
385579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
386579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IGET_CHAR =
387579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IGET_CHAR, "iget-char",
388579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
389579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
390579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IGET_SHORT =
391579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IGET_SHORT, "iget-short",
392579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
393579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
394579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IPUT =
395579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IPUT, "iput",
396579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
397579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
398579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IPUT_WIDE =
399579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IPUT_WIDE, "iput-wide",
400579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
401579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
402579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IPUT_OBJECT =
403579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IPUT_OBJECT, "iput-object",
404579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
405579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
406579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IPUT_BOOLEAN =
407579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IPUT_BOOLEAN, "iput-boolean",
408579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
409579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
410579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IPUT_BYTE =
411579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IPUT_BYTE, "iput-byte",
412579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
413579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
414579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IPUT_CHAR =
415579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IPUT_CHAR, "iput-char",
416579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
417579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
418579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IPUT_SHORT =
419579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IPUT_SHORT, "iput-short",
420579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22C, IndexType.FIELD_REF);
421579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
422579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SGET =
423579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SGET, "sget",
424579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
425579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
426579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SGET_WIDE =
427579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SGET_WIDE, "sget-wide",
428579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
429579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
430579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SGET_OBJECT =
431579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SGET_OBJECT, "sget-object",
432579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
433579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
434579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SGET_BOOLEAN =
435579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SGET_BOOLEAN, "sget-boolean",
436579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
437579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
438579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SGET_BYTE =
439579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SGET_BYTE, "sget-byte",
440579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
441579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
442579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SGET_CHAR =
443579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SGET_CHAR, "sget-char",
444579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
445579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
446579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SGET_SHORT =
447579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SGET_SHORT, "sget-short",
448579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
449579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
450579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPUT =
451579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPUT, "sput",
452579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
453579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
454579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPUT_WIDE =
455579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPUT_WIDE, "sput-wide",
456579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
457579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
458579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPUT_OBJECT =
459579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPUT_OBJECT, "sput-object",
460579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
461579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
462579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPUT_BOOLEAN =
463579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPUT_BOOLEAN, "sput-boolean",
464579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
465579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
466579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPUT_BYTE =
467579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPUT_BYTE, "sput-byte",
468579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
469579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
470579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPUT_CHAR =
471579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPUT_CHAR, "sput-char",
472579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
473579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
474579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPUT_SHORT =
475579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPUT_SHORT, "sput-short",
476579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_21C, IndexType.FIELD_REF);
477579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
478579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INVOKE_VIRTUAL =
479579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INVOKE_VIRTUAL, "invoke-virtual",
480579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
481579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
482579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INVOKE_SUPER =
483579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INVOKE_SUPER, "invoke-super",
484579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
485579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
486579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INVOKE_DIRECT =
487579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INVOKE_DIRECT, "invoke-direct",
488579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
489579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
490579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INVOKE_STATIC =
491579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INVOKE_STATIC, "invoke-static",
492579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
493579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
494579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INVOKE_INTERFACE =
495579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INVOKE_INTERFACE, "invoke-interface",
496579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_35C, IndexType.METHOD_REF);
497579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
498579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INVOKE_VIRTUAL_RANGE =
499579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INVOKE_VIRTUAL_RANGE, "invoke-virtual/range",
500579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
501579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
502579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INVOKE_SUPER_RANGE =
503579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INVOKE_SUPER_RANGE, "invoke-super/range",
504579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
505579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
506579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INVOKE_DIRECT_RANGE =
507579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INVOKE_DIRECT_RANGE, "invoke-direct/range",
508579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
509579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
510579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INVOKE_STATIC_RANGE =
511579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INVOKE_STATIC_RANGE, "invoke-static/range",
512579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
513579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
514579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INVOKE_INTERFACE_RANGE =
515579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INVOKE_INTERFACE_RANGE, "invoke-interface/range",
516579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_3RC, IndexType.METHOD_REF);
517579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
518579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info NEG_INT =
519579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.NEG_INT, "neg-int",
520579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
521579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
522579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info NOT_INT =
523579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.NOT_INT, "not-int",
524579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
525579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
526579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info NEG_LONG =
527579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.NEG_LONG, "neg-long",
528579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
529579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
530579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info NOT_LONG =
531579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.NOT_LONG, "not-long",
532579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
533579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
534579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info NEG_FLOAT =
535579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.NEG_FLOAT, "neg-float",
536579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
537579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
538579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info NEG_DOUBLE =
539579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.NEG_DOUBLE, "neg-double",
540579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
541579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
542579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INT_TO_LONG =
543579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INT_TO_LONG, "int-to-long",
544579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
545579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
546579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INT_TO_FLOAT =
547579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INT_TO_FLOAT, "int-to-float",
548579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
549579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
550579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INT_TO_DOUBLE =
551579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INT_TO_DOUBLE, "int-to-double",
552579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
553579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
554579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info LONG_TO_INT =
555579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.LONG_TO_INT, "long-to-int",
556579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
557579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
558579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info LONG_TO_FLOAT =
559579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.LONG_TO_FLOAT, "long-to-float",
560579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
561579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
562579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info LONG_TO_DOUBLE =
563579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.LONG_TO_DOUBLE, "long-to-double",
564579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
565579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
566579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info FLOAT_TO_INT =
567579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.FLOAT_TO_INT, "float-to-int",
568579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
569579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
570579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info FLOAT_TO_LONG =
571579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.FLOAT_TO_LONG, "float-to-long",
572579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
573579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
574579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info FLOAT_TO_DOUBLE =
575579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.FLOAT_TO_DOUBLE, "float-to-double",
576579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
577579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
578579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info DOUBLE_TO_INT =
579579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.DOUBLE_TO_INT, "double-to-int",
580579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
581579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
582579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info DOUBLE_TO_LONG =
583579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.DOUBLE_TO_LONG, "double-to-long",
584579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
585579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
586579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info DOUBLE_TO_FLOAT =
587579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.DOUBLE_TO_FLOAT, "double-to-float",
588579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
589579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
590579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INT_TO_BYTE =
591579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INT_TO_BYTE, "int-to-byte",
592579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
593579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
594579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INT_TO_CHAR =
595579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INT_TO_CHAR, "int-to-char",
596579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
597579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
598579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INT_TO_SHORT =
599579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INT_TO_SHORT, "int-to-short",
600579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
601579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
602579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info ADD_INT =
603579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.ADD_INT, "add-int",
604579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
605579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
606579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SUB_INT =
607579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SUB_INT, "sub-int",
608579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
609579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
610579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MUL_INT =
611579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MUL_INT, "mul-int",
612579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
613579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
614579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info DIV_INT =
615579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.DIV_INT, "div-int",
616579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
617579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
618579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info REM_INT =
619579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.REM_INT, "rem-int",
620579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
621579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
622579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info AND_INT =
623579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.AND_INT, "and-int",
624579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
625579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
626579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info OR_INT =
627579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.OR_INT, "or-int",
628579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
629579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
630579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info XOR_INT =
631579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.XOR_INT, "xor-int",
632579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
633579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
634579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SHL_INT =
635579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SHL_INT, "shl-int",
636579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
637579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
638579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SHR_INT =
639579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SHR_INT, "shr-int",
640579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
641579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
642579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info USHR_INT =
643579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.USHR_INT, "ushr-int",
644579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
645579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
646579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info ADD_LONG =
647579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.ADD_LONG, "add-long",
648579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
649579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
650579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SUB_LONG =
651579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SUB_LONG, "sub-long",
652579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
653579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
654579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MUL_LONG =
655579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MUL_LONG, "mul-long",
656579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
657579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
658579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info DIV_LONG =
659579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.DIV_LONG, "div-long",
660579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
661579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
662579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info REM_LONG =
663579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.REM_LONG, "rem-long",
664579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
665579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
666579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info AND_LONG =
667579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.AND_LONG, "and-long",
668579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
669579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
670579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info OR_LONG =
671579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.OR_LONG, "or-long",
672579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
673579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
674579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info XOR_LONG =
675579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.XOR_LONG, "xor-long",
676579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
677579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
678579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SHL_LONG =
679579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SHL_LONG, "shl-long",
680579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
681579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
682579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SHR_LONG =
683579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SHR_LONG, "shr-long",
684579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
685579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
686579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info USHR_LONG =
687579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.USHR_LONG, "ushr-long",
688579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
689579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
690579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info ADD_FLOAT =
691579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.ADD_FLOAT, "add-float",
692579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
693579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
694579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SUB_FLOAT =
695579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SUB_FLOAT, "sub-float",
696579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
697579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
698579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MUL_FLOAT =
699579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MUL_FLOAT, "mul-float",
700579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
701579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
702579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info DIV_FLOAT =
703579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.DIV_FLOAT, "div-float",
704579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
705579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
706579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info REM_FLOAT =
707579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.REM_FLOAT, "rem-float",
708579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
709579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
710579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info ADD_DOUBLE =
711579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.ADD_DOUBLE, "add-double",
712579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
713579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
714579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SUB_DOUBLE =
715579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SUB_DOUBLE, "sub-double",
716579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
717579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
718579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MUL_DOUBLE =
719579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MUL_DOUBLE, "mul-double",
720579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
721579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
722579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info DIV_DOUBLE =
723579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.DIV_DOUBLE, "div-double",
724579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
725579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
726579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info REM_DOUBLE =
727579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.REM_DOUBLE, "rem-double",
728579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_23X, IndexType.NONE);
729579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
730579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info ADD_INT_2ADDR =
731579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.ADD_INT_2ADDR, "add-int/2addr",
732579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
733579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
734579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SUB_INT_2ADDR =
735579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SUB_INT_2ADDR, "sub-int/2addr",
736579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
737579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
738579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MUL_INT_2ADDR =
739579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MUL_INT_2ADDR, "mul-int/2addr",
740579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
741579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
742579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info DIV_INT_2ADDR =
743579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.DIV_INT_2ADDR, "div-int/2addr",
744579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
745579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
746579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info REM_INT_2ADDR =
747579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.REM_INT_2ADDR, "rem-int/2addr",
748579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
749579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
750579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info AND_INT_2ADDR =
751579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.AND_INT_2ADDR, "and-int/2addr",
752579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
753579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
754579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info OR_INT_2ADDR =
755579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.OR_INT_2ADDR, "or-int/2addr",
756579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
757579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
758579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info XOR_INT_2ADDR =
759579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.XOR_INT_2ADDR, "xor-int/2addr",
760579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
761579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
762579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SHL_INT_2ADDR =
763579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SHL_INT_2ADDR, "shl-int/2addr",
764579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
765579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
766579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SHR_INT_2ADDR =
767579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SHR_INT_2ADDR, "shr-int/2addr",
768579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
769579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
770579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info USHR_INT_2ADDR =
771579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.USHR_INT_2ADDR, "ushr-int/2addr",
772579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
773579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
774579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info ADD_LONG_2ADDR =
775579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.ADD_LONG_2ADDR, "add-long/2addr",
776579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
777579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
778579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SUB_LONG_2ADDR =
779579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SUB_LONG_2ADDR, "sub-long/2addr",
780579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
781579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
782579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MUL_LONG_2ADDR =
783579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MUL_LONG_2ADDR, "mul-long/2addr",
784579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
785579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
786579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info DIV_LONG_2ADDR =
787579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.DIV_LONG_2ADDR, "div-long/2addr",
788579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
789579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
790579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info REM_LONG_2ADDR =
791579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.REM_LONG_2ADDR, "rem-long/2addr",
792579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
793579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
794579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info AND_LONG_2ADDR =
795579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.AND_LONG_2ADDR, "and-long/2addr",
796579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
797579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
798579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info OR_LONG_2ADDR =
799579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.OR_LONG_2ADDR, "or-long/2addr",
800579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
801579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
802579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info XOR_LONG_2ADDR =
803579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.XOR_LONG_2ADDR, "xor-long/2addr",
804579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
805579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
806579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SHL_LONG_2ADDR =
807579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SHL_LONG_2ADDR, "shl-long/2addr",
808579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
809579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
810579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SHR_LONG_2ADDR =
811579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SHR_LONG_2ADDR, "shr-long/2addr",
812579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
813579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
814579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info USHR_LONG_2ADDR =
815579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.USHR_LONG_2ADDR, "ushr-long/2addr",
816579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
817579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
818579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info ADD_FLOAT_2ADDR =
819579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.ADD_FLOAT_2ADDR, "add-float/2addr",
820579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
821579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
822579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SUB_FLOAT_2ADDR =
823579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SUB_FLOAT_2ADDR, "sub-float/2addr",
824579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
825579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
826579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MUL_FLOAT_2ADDR =
827579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MUL_FLOAT_2ADDR, "mul-float/2addr",
828579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
829579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
830579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info DIV_FLOAT_2ADDR =
831579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.DIV_FLOAT_2ADDR, "div-float/2addr",
832579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
833579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
834579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info REM_FLOAT_2ADDR =
835579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.REM_FLOAT_2ADDR, "rem-float/2addr",
836579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
837579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
838579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info ADD_DOUBLE_2ADDR =
839579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.ADD_DOUBLE_2ADDR, "add-double/2addr",
840579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
841579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
842579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SUB_DOUBLE_2ADDR =
843579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SUB_DOUBLE_2ADDR, "sub-double/2addr",
844579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
845579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
846579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MUL_DOUBLE_2ADDR =
847579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MUL_DOUBLE_2ADDR, "mul-double/2addr",
848579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
849579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
850579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info DIV_DOUBLE_2ADDR =
851579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.DIV_DOUBLE_2ADDR, "div-double/2addr",
852579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
853579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
854579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info REM_DOUBLE_2ADDR =
855579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.REM_DOUBLE_2ADDR, "rem-double/2addr",
856579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_12X, IndexType.NONE);
857579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
858579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info ADD_INT_LIT16 =
859579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.ADD_INT_LIT16, "add-int/lit16",
860579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22S, IndexType.NONE);
861579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
862579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info RSUB_INT =
863579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.RSUB_INT, "rsub-int",
864579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22S, IndexType.NONE);
865579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
866579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MUL_INT_LIT16 =
867579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MUL_INT_LIT16, "mul-int/lit16",
868579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22S, IndexType.NONE);
869579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
870579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info DIV_INT_LIT16 =
871579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.DIV_INT_LIT16, "div-int/lit16",
872579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22S, IndexType.NONE);
873579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
874579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info REM_INT_LIT16 =
875579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.REM_INT_LIT16, "rem-int/lit16",
876579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22S, IndexType.NONE);
877579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
878579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info AND_INT_LIT16 =
879579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.AND_INT_LIT16, "and-int/lit16",
880579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22S, IndexType.NONE);
881579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
882579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info OR_INT_LIT16 =
883579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.OR_INT_LIT16, "or-int/lit16",
884579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22S, IndexType.NONE);
885579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
886579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info XOR_INT_LIT16 =
887579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.XOR_INT_LIT16, "xor-int/lit16",
888579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22S, IndexType.NONE);
889579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
890579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info ADD_INT_LIT8 =
891579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.ADD_INT_LIT8, "add-int/lit8",
892579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22B, IndexType.NONE);
893579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
894579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info RSUB_INT_LIT8 =
895579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.RSUB_INT_LIT8, "rsub-int/lit8",
896579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22B, IndexType.NONE);
897579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
898579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info MUL_INT_LIT8 =
899579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.MUL_INT_LIT8, "mul-int/lit8",
900579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22B, IndexType.NONE);
901579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
902579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info DIV_INT_LIT8 =
903579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.DIV_INT_LIT8, "div-int/lit8",
904579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22B, IndexType.NONE);
905579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
906579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info REM_INT_LIT8 =
907579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.REM_INT_LIT8, "rem-int/lit8",
908579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22B, IndexType.NONE);
909579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
910579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info AND_INT_LIT8 =
911579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.AND_INT_LIT8, "and-int/lit8",
912579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22B, IndexType.NONE);
913579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
914579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info OR_INT_LIT8 =
915579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.OR_INT_LIT8, "or-int/lit8",
916579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22B, IndexType.NONE);
917579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
918579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info XOR_INT_LIT8 =
919579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.XOR_INT_LIT8, "xor-int/lit8",
920579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22B, IndexType.NONE);
921579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
922579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SHL_INT_LIT8 =
923579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SHL_INT_LIT8, "shl-int/lit8",
924579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22B, IndexType.NONE);
925579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
926579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SHR_INT_LIT8 =
927579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SHR_INT_LIT8, "shr-int/lit8",
928579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22B, IndexType.NONE);
929579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
930579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info USHR_INT_LIT8 =
931579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.USHR_INT_LIT8, "ushr-int/lit8",
932579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_22B, IndexType.NONE);
933579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
934579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CONST_CLASS_JUMBO =
935579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CONST_CLASS_JUMBO, "const-class/jumbo",
936579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.TYPE_REF);
937579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
938579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info CHECK_CAST_JUMBO =
939579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.CHECK_CAST_JUMBO, "check-cast/jumbo",
940579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.TYPE_REF);
941579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
942579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INSTANCE_OF_JUMBO =
943579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INSTANCE_OF_JUMBO, "instance-of/jumbo",
944579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.TYPE_REF);
945579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
946579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info NEW_INSTANCE_JUMBO =
947579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.NEW_INSTANCE_JUMBO, "new-instance/jumbo",
948579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.TYPE_REF);
949579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
950579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info NEW_ARRAY_JUMBO =
951579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.NEW_ARRAY_JUMBO, "new-array/jumbo",
952579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.TYPE_REF);
953579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
954579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info FILLED_NEW_ARRAY_JUMBO =
955579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.FILLED_NEW_ARRAY_JUMBO, "filled-new-array/jumbo",
956579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_5RC, IndexType.TYPE_REF);
957579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
958579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IGET_JUMBO =
959579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IGET_JUMBO, "iget/jumbo",
960579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
961579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
962579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IGET_WIDE_JUMBO =
963579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IGET_WIDE_JUMBO, "iget-wide/jumbo",
964579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
965579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
966579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IGET_OBJECT_JUMBO =
967579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IGET_OBJECT_JUMBO, "iget-object/jumbo",
968579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
969579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
970579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IGET_BOOLEAN_JUMBO =
971579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IGET_BOOLEAN_JUMBO, "iget-boolean/jumbo",
972579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
973579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
974579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IGET_BYTE_JUMBO =
975579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IGET_BYTE_JUMBO, "iget-byte/jumbo",
976579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
977579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
978579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IGET_CHAR_JUMBO =
979579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IGET_CHAR_JUMBO, "iget-char/jumbo",
980579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
981579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
982579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IGET_SHORT_JUMBO =
983579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IGET_SHORT_JUMBO, "iget-short/jumbo",
984579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
985579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
986579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IPUT_JUMBO =
987579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IPUT_JUMBO, "iput/jumbo",
988579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
989579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
990579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IPUT_WIDE_JUMBO =
991579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IPUT_WIDE_JUMBO, "iput-wide/jumbo",
992579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
993579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
994579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IPUT_OBJECT_JUMBO =
995579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IPUT_OBJECT_JUMBO, "iput-object/jumbo",
996579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
997579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
998579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IPUT_BOOLEAN_JUMBO =
999579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IPUT_BOOLEAN_JUMBO, "iput-boolean/jumbo",
1000579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
1001579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1002579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IPUT_BYTE_JUMBO =
1003579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IPUT_BYTE_JUMBO, "iput-byte/jumbo",
1004579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
1005579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1006579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IPUT_CHAR_JUMBO =
1007579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IPUT_CHAR_JUMBO, "iput-char/jumbo",
1008579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
1009579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1010579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info IPUT_SHORT_JUMBO =
1011579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.IPUT_SHORT_JUMBO, "iput-short/jumbo",
1012579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
1013579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1014579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SGET_JUMBO =
1015579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SGET_JUMBO, "sget/jumbo",
1016579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
1017579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1018579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SGET_WIDE_JUMBO =
1019579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SGET_WIDE_JUMBO, "sget-wide/jumbo",
1020579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
1021579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1022579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SGET_OBJECT_JUMBO =
1023579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SGET_OBJECT_JUMBO, "sget-object/jumbo",
1024579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
1025579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1026579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SGET_BOOLEAN_JUMBO =
1027579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SGET_BOOLEAN_JUMBO, "sget-boolean/jumbo",
1028579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
1029579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1030579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SGET_BYTE_JUMBO =
1031579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SGET_BYTE_JUMBO, "sget-byte/jumbo",
1032579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
1033579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1034579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SGET_CHAR_JUMBO =
1035579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SGET_CHAR_JUMBO, "sget-char/jumbo",
1036579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
1037579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1038579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SGET_SHORT_JUMBO =
1039579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SGET_SHORT_JUMBO, "sget-short/jumbo",
1040579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
1041579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1042579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPUT_JUMBO =
1043579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPUT_JUMBO, "sput/jumbo",
1044579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
1045579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1046579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPUT_WIDE_JUMBO =
1047579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPUT_WIDE_JUMBO, "sput-wide/jumbo",
1048579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
1049579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1050579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPUT_OBJECT_JUMBO =
1051579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPUT_OBJECT_JUMBO, "sput-object/jumbo",
1052579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
1053579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1054579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPUT_BOOLEAN_JUMBO =
1055579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPUT_BOOLEAN_JUMBO, "sput-boolean/jumbo",
1056579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
1057579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1058579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPUT_BYTE_JUMBO =
1059579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPUT_BYTE_JUMBO, "sput-byte/jumbo",
1060579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
1061579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1062579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPUT_CHAR_JUMBO =
1063579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPUT_CHAR_JUMBO, "sput-char/jumbo",
1064579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
1065579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1066579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info SPUT_SHORT_JUMBO =
1067579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.SPUT_SHORT_JUMBO, "sput-short/jumbo",
1068579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
1069579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1070579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INVOKE_VIRTUAL_JUMBO =
1071579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INVOKE_VIRTUAL_JUMBO, "invoke-virtual/jumbo",
1072579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF);
1073579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1074579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INVOKE_SUPER_JUMBO =
1075579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INVOKE_SUPER_JUMBO, "invoke-super/jumbo",
1076579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF);
1077579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1078579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INVOKE_DIRECT_JUMBO =
1079579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INVOKE_DIRECT_JUMBO, "invoke-direct/jumbo",
1080579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF);
1081579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1082579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INVOKE_STATIC_JUMBO =
1083579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INVOKE_STATIC_JUMBO, "invoke-static/jumbo",
1084579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF);
1085579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1086579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static final Info INVOKE_INTERFACE_JUMBO =
1087579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        new Info(Opcodes.INVOKE_INTERFACE_JUMBO, "invoke-interface/jumbo",
1088579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF);
1089579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1090579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    // END(opcode-info-defs)
1091579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1092579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    // Static initialization.
1093579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    static {
1094579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        INFO = new Info[Opcodes.MAX_VALUE - Opcodes.MIN_VALUE + 1];
1095579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1096579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        // TODO: Stop using this constant.
1097579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPECIAL_FORMAT);
1098579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1099579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        // TODO: These payload opcodes should be generated by opcode-gen.
1100579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(PACKED_SWITCH_PAYLOAD);
1101579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPARSE_SWITCH_PAYLOAD);
1102579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(FILL_ARRAY_DATA_PAYLOAD);
1103579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1104579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        // BEGIN(opcode-info-init); GENERATED AUTOMATICALLY BY opcode-gen
1105579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(NOP);
1106579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MOVE);
1107579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MOVE_FROM16);
1108579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MOVE_16);
1109579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MOVE_WIDE);
1110579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MOVE_WIDE_FROM16);
1111579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MOVE_WIDE_16);
1112579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MOVE_OBJECT);
1113579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MOVE_OBJECT_FROM16);
1114579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MOVE_OBJECT_16);
1115579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MOVE_RESULT);
1116579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MOVE_RESULT_WIDE);
1117579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MOVE_RESULT_OBJECT);
1118579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MOVE_EXCEPTION);
1119579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(RETURN_VOID);
1120579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(RETURN);
1121579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(RETURN_WIDE);
1122579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(RETURN_OBJECT);
1123579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CONST_4);
1124579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CONST_16);
1125579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CONST);
1126579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CONST_HIGH16);
1127579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CONST_WIDE_16);
1128579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CONST_WIDE_32);
1129579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CONST_WIDE);
1130579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CONST_WIDE_HIGH16);
1131579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CONST_STRING);
1132579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CONST_STRING_JUMBO);
1133579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CONST_CLASS);
1134579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MONITOR_ENTER);
1135579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MONITOR_EXIT);
1136579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CHECK_CAST);
1137579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INSTANCE_OF);
1138579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(ARRAY_LENGTH);
1139579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(NEW_INSTANCE);
1140579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(NEW_ARRAY);
1141579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(FILLED_NEW_ARRAY);
1142579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(FILLED_NEW_ARRAY_RANGE);
1143579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(FILL_ARRAY_DATA);
1144579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(THROW);
1145579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(GOTO);
1146579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(GOTO_16);
1147579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(GOTO_32);
1148579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(PACKED_SWITCH);
1149579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPARSE_SWITCH);
1150579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CMPL_FLOAT);
1151579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CMPG_FLOAT);
1152579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CMPL_DOUBLE);
1153579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CMPG_DOUBLE);
1154579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CMP_LONG);
1155579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IF_EQ);
1156579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IF_NE);
1157579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IF_LT);
1158579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IF_GE);
1159579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IF_GT);
1160579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IF_LE);
1161579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IF_EQZ);
1162579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IF_NEZ);
1163579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IF_LTZ);
1164579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IF_GEZ);
1165579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IF_GTZ);
1166579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IF_LEZ);
1167579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(AGET);
1168579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(AGET_WIDE);
1169579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(AGET_OBJECT);
1170579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(AGET_BOOLEAN);
1171579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(AGET_BYTE);
1172579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(AGET_CHAR);
1173579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(AGET_SHORT);
1174579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(APUT);
1175579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(APUT_WIDE);
1176579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(APUT_OBJECT);
1177579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(APUT_BOOLEAN);
1178579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(APUT_BYTE);
1179579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(APUT_CHAR);
1180579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(APUT_SHORT);
1181579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IGET);
1182579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IGET_WIDE);
1183579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IGET_OBJECT);
1184579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IGET_BOOLEAN);
1185579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IGET_BYTE);
1186579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IGET_CHAR);
1187579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IGET_SHORT);
1188579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IPUT);
1189579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IPUT_WIDE);
1190579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IPUT_OBJECT);
1191579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IPUT_BOOLEAN);
1192579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IPUT_BYTE);
1193579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IPUT_CHAR);
1194579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IPUT_SHORT);
1195579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SGET);
1196579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SGET_WIDE);
1197579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SGET_OBJECT);
1198579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SGET_BOOLEAN);
1199579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SGET_BYTE);
1200579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SGET_CHAR);
1201579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SGET_SHORT);
1202579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPUT);
1203579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPUT_WIDE);
1204579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPUT_OBJECT);
1205579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPUT_BOOLEAN);
1206579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPUT_BYTE);
1207579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPUT_CHAR);
1208579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPUT_SHORT);
1209579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INVOKE_VIRTUAL);
1210579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INVOKE_SUPER);
1211579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INVOKE_DIRECT);
1212579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INVOKE_STATIC);
1213579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INVOKE_INTERFACE);
1214579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INVOKE_VIRTUAL_RANGE);
1215579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INVOKE_SUPER_RANGE);
1216579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INVOKE_DIRECT_RANGE);
1217579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INVOKE_STATIC_RANGE);
1218579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INVOKE_INTERFACE_RANGE);
1219579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(NEG_INT);
1220579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(NOT_INT);
1221579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(NEG_LONG);
1222579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(NOT_LONG);
1223579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(NEG_FLOAT);
1224579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(NEG_DOUBLE);
1225579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INT_TO_LONG);
1226579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INT_TO_FLOAT);
1227579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INT_TO_DOUBLE);
1228579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(LONG_TO_INT);
1229579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(LONG_TO_FLOAT);
1230579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(LONG_TO_DOUBLE);
1231579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(FLOAT_TO_INT);
1232579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(FLOAT_TO_LONG);
1233579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(FLOAT_TO_DOUBLE);
1234579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(DOUBLE_TO_INT);
1235579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(DOUBLE_TO_LONG);
1236579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(DOUBLE_TO_FLOAT);
1237579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INT_TO_BYTE);
1238579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INT_TO_CHAR);
1239579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INT_TO_SHORT);
1240579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(ADD_INT);
1241579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SUB_INT);
1242579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MUL_INT);
1243579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(DIV_INT);
1244579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(REM_INT);
1245579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(AND_INT);
1246579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(OR_INT);
1247579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(XOR_INT);
1248579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SHL_INT);
1249579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SHR_INT);
1250579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(USHR_INT);
1251579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(ADD_LONG);
1252579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SUB_LONG);
1253579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MUL_LONG);
1254579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(DIV_LONG);
1255579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(REM_LONG);
1256579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(AND_LONG);
1257579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(OR_LONG);
1258579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(XOR_LONG);
1259579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SHL_LONG);
1260579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SHR_LONG);
1261579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(USHR_LONG);
1262579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(ADD_FLOAT);
1263579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SUB_FLOAT);
1264579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MUL_FLOAT);
1265579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(DIV_FLOAT);
1266579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(REM_FLOAT);
1267579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(ADD_DOUBLE);
1268579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SUB_DOUBLE);
1269579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MUL_DOUBLE);
1270579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(DIV_DOUBLE);
1271579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(REM_DOUBLE);
1272579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(ADD_INT_2ADDR);
1273579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SUB_INT_2ADDR);
1274579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MUL_INT_2ADDR);
1275579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(DIV_INT_2ADDR);
1276579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(REM_INT_2ADDR);
1277579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(AND_INT_2ADDR);
1278579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(OR_INT_2ADDR);
1279579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(XOR_INT_2ADDR);
1280579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SHL_INT_2ADDR);
1281579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SHR_INT_2ADDR);
1282579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(USHR_INT_2ADDR);
1283579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(ADD_LONG_2ADDR);
1284579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SUB_LONG_2ADDR);
1285579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MUL_LONG_2ADDR);
1286579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(DIV_LONG_2ADDR);
1287579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(REM_LONG_2ADDR);
1288579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(AND_LONG_2ADDR);
1289579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(OR_LONG_2ADDR);
1290579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(XOR_LONG_2ADDR);
1291579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SHL_LONG_2ADDR);
1292579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SHR_LONG_2ADDR);
1293579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(USHR_LONG_2ADDR);
1294579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(ADD_FLOAT_2ADDR);
1295579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SUB_FLOAT_2ADDR);
1296579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MUL_FLOAT_2ADDR);
1297579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(DIV_FLOAT_2ADDR);
1298579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(REM_FLOAT_2ADDR);
1299579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(ADD_DOUBLE_2ADDR);
1300579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SUB_DOUBLE_2ADDR);
1301579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MUL_DOUBLE_2ADDR);
1302579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(DIV_DOUBLE_2ADDR);
1303579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(REM_DOUBLE_2ADDR);
1304579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(ADD_INT_LIT16);
1305579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(RSUB_INT);
1306579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MUL_INT_LIT16);
1307579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(DIV_INT_LIT16);
1308579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(REM_INT_LIT16);
1309579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(AND_INT_LIT16);
1310579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(OR_INT_LIT16);
1311579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(XOR_INT_LIT16);
1312579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(ADD_INT_LIT8);
1313579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(RSUB_INT_LIT8);
1314579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(MUL_INT_LIT8);
1315579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(DIV_INT_LIT8);
1316579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(REM_INT_LIT8);
1317579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(AND_INT_LIT8);
1318579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(OR_INT_LIT8);
1319579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(XOR_INT_LIT8);
1320579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SHL_INT_LIT8);
1321579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SHR_INT_LIT8);
1322579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(USHR_INT_LIT8);
1323579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CONST_CLASS_JUMBO);
1324579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(CHECK_CAST_JUMBO);
1325579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INSTANCE_OF_JUMBO);
1326579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(NEW_INSTANCE_JUMBO);
1327579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(NEW_ARRAY_JUMBO);
1328579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(FILLED_NEW_ARRAY_JUMBO);
1329579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IGET_JUMBO);
1330579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IGET_WIDE_JUMBO);
1331579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IGET_OBJECT_JUMBO);
1332579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IGET_BOOLEAN_JUMBO);
1333579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IGET_BYTE_JUMBO);
1334579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IGET_CHAR_JUMBO);
1335579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IGET_SHORT_JUMBO);
1336579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IPUT_JUMBO);
1337579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IPUT_WIDE_JUMBO);
1338579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IPUT_OBJECT_JUMBO);
1339579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IPUT_BOOLEAN_JUMBO);
1340579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IPUT_BYTE_JUMBO);
1341579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IPUT_CHAR_JUMBO);
1342579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(IPUT_SHORT_JUMBO);
1343579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SGET_JUMBO);
1344579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SGET_WIDE_JUMBO);
1345579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SGET_OBJECT_JUMBO);
1346579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SGET_BOOLEAN_JUMBO);
1347579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SGET_BYTE_JUMBO);
1348579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SGET_CHAR_JUMBO);
1349579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SGET_SHORT_JUMBO);
1350579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPUT_JUMBO);
1351579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPUT_WIDE_JUMBO);
1352579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPUT_OBJECT_JUMBO);
1353579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPUT_BOOLEAN_JUMBO);
1354579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPUT_BYTE_JUMBO);
1355579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPUT_CHAR_JUMBO);
1356579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(SPUT_SHORT_JUMBO);
1357579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INVOKE_VIRTUAL_JUMBO);
1358579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INVOKE_SUPER_JUMBO);
1359579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INVOKE_DIRECT_JUMBO);
1360579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INVOKE_STATIC_JUMBO);
1361579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        set(INVOKE_INTERFACE_JUMBO);
1362579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        // END(opcode-info-init)
1363579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
1364579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1365579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    /**
1366579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * This class is uninstantiable.
1367579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     */
1368579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    private OpcodeInfo() {
1369579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        // This space intentionally left blank.
1370579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
1371579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1372579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    /**
1373579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * Gets the {@link @Info} for the given opcode value.
1374579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     *
1375579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * @param opcode {@code Opcodes.MIN_VALUE..Opcodes.MAX_VALUE;} the
1376579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * opcode value
1377579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * @return non-null; the associated opcode information instance
1378579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     */
1379579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static Info get(int opcode) {
1380579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        int idx = opcode - Opcodes.MIN_VALUE;
1381579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1382579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        try {
1383579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            Info result = INFO[idx];
1384579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            if (result != null) {
1385579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson                return result;
1386579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            }
1387579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        } catch (ArrayIndexOutOfBoundsException ex) {
1388579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            // Fall through.
1389579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        }
1390579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1391579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        throw new IllegalArgumentException("bogus opcode: "
1392579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson                + Hex.u2or4(opcode));
1393579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
1394579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1395579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    /**
1396579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * Gets the name of the given opcode.
1397579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     */
1398579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static String getName(int opcode) {
1399579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        return get(opcode).getName();
1400579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
1401579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1402579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    /**
1403579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * Gets the format (an {@link InstructionCodec}) for the given opcode
1404579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * value.
1405579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     */
1406579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static InstructionCodec getFormat(int opcode) {
1407579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        return get(opcode).getFormat();
1408579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
1409579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1410579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    /**
1411579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * Gets the {@link IndexType} for the given opcode value.
1412579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     */
1413579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static IndexType getIndexType(int opcode) {
1414579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        return get(opcode).getIndexType();
1415579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
1416579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1417579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    /**
1418579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * Puts the given opcode into the table of all ops.
1419579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     *
1420579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * @param opcode non-null; the opcode
1421579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     */
1422579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    private static void set(Info opcode) {
1423579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        int idx = opcode.getOpcode() - Opcodes.MIN_VALUE;
1424579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        INFO[idx] = opcode;
1425579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
1426579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1427579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    /**
1428579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * Information about an opcode.
1429579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     */
1430579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public static class Info {
1431579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        private final int opcode;
1432579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        private final String name;
1433579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        private final InstructionCodec format;
1434579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        private final IndexType indexType;
1435579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1436579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        public Info(int opcode, String name, InstructionCodec format,
1437579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson                IndexType indexType) {
1438579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            this.opcode = opcode;
1439579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            this.name = name;
1440579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            this.format = format;
1441579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            this.indexType = indexType;
1442579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        }
1443579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1444579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        public int getOpcode() {
1445579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            return opcode;
1446579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        }
1447579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1448579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        public String getName() {
1449579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            return name;
1450579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        }
1451579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1452579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        public InstructionCodec getFormat() {
1453579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            return format;
1454579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        }
1455579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
1456579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        public IndexType getIndexType() {
1457579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson            return indexType;
1458579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        }
1459579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
1460579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson}
1461