1959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle/*
2959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle * Copyright (C) 2014 The Android Open Source Project
3959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle *
4959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle * Licensed under the Apache License, Version 2.0 (the "License");
5959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle * you may not use this file except in compliance with the License.
6959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle * You may obtain a copy of the License at
7959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle *
8959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle *      http://www.apache.org/licenses/LICENSE-2.0
9959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle *
10959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle * Unless required by applicable law or agreed to in writing, software
11959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle * distributed under the License is distributed on an "AS IS" BASIS,
12959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle * See the License for the specific language governing permissions and
14959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle * limitations under the License.
15959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle */
16959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle
17959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kylepackage dexfuzz.rawdex;
18959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle
19959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kylepublic enum Opcode {
20959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  NOP,
21959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MOVE,
22959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MOVE_FROM16,
23959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MOVE_16,
24959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MOVE_WIDE,
25959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MOVE_WIDE_FROM16,
26959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MOVE_WIDE_16,
27959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MOVE_OBJECT,
28959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MOVE_OBJECT_FROM16,
29959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MOVE_OBJECT_16,
30959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MOVE_RESULT,
31959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MOVE_RESULT_WIDE,
32959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MOVE_RESULT_OBJECT,
33959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MOVE_EXCEPTION,
34959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  RETURN_VOID,
35959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  RETURN,
36959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  RETURN_WIDE,
37959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  RETURN_OBJECT,
38959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CONST_4,
39959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CONST_16,
40959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CONST,
41959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CONST_HIGH16,
42959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CONST_WIDE_16,
43959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CONST_WIDE_32,
44959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CONST_WIDE,
45959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CONST_WIDE_HIGH16,
46959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CONST_STRING,
47959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CONST_STRING_JUMBO,
48959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CONST_CLASS,
49959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MONITOR_ENTER,
50959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MONITOR_EXIT,
51959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CHECK_CAST,
52959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INSTANCE_OF,
53959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  ARRAY_LENGTH,
54959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  NEW_INSTANCE,
55959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  NEW_ARRAY,
56959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  FILLED_NEW_ARRAY,
57959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  FILLED_NEW_ARRAY_RANGE,
58959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  FILL_ARRAY_DATA,
59959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  THROW,
60959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  GOTO,
61959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  GOTO_16,
62959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  GOTO_32,
63959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  PACKED_SWITCH,
64959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SPARSE_SWITCH,
65959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CMPL_FLOAT,
66959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CMPG_FLOAT,
67959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CMPL_DOUBLE,
68959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CMPG_DOUBLE,
69959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  CMP_LONG,
70959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IF_EQ,
71959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IF_NE,
72959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IF_LT,
73959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IF_GE,
74959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IF_GT,
75959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IF_LE,
76959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IF_EQZ,
77959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IF_NEZ,
78959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IF_LTZ,
79959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IF_GEZ,
80959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IF_GTZ,
81959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IF_LEZ,
82959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_3E,
83959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_3F,
84959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_40,
85959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_41,
86959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_42,
87959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_43,
88959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  AGET,
89959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  AGET_WIDE,
90959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  AGET_OBJECT,
91959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  AGET_BOOLEAN,
92959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  AGET_BYTE,
93959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  AGET_CHAR,
94959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  AGET_SHORT,
95959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  APUT,
96959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  APUT_WIDE,
97959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  APUT_OBJECT,
98959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  APUT_BOOLEAN,
99959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  APUT_BYTE,
100959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  APUT_CHAR,
101959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  APUT_SHORT,
102959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IGET,
103959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IGET_WIDE,
104959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IGET_OBJECT,
105959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IGET_BOOLEAN,
106959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IGET_BYTE,
107959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IGET_CHAR,
108959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IGET_SHORT,
109959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IPUT,
110959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IPUT_WIDE,
111959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IPUT_OBJECT,
112959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IPUT_BOOLEAN,
113959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IPUT_BYTE,
114959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IPUT_CHAR,
115959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IPUT_SHORT,
116959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SGET,
117959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SGET_WIDE,
118959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SGET_OBJECT,
119959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SGET_BOOLEAN,
120959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SGET_BYTE,
121959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SGET_CHAR,
122959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SGET_SHORT,
123959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SPUT,
124959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SPUT_WIDE,
125959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SPUT_OBJECT,
126959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SPUT_BOOLEAN,
127959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SPUT_BYTE,
128959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SPUT_CHAR,
129959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SPUT_SHORT,
130959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INVOKE_VIRTUAL,
131959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INVOKE_SUPER,
132959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INVOKE_DIRECT,
133959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INVOKE_STATIC,
134959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INVOKE_INTERFACE,
135d7cbf8a6629942e7bd315ffae7e1c77b082f3e11Mathieu Chartier  RETURN_VOID_NO_BARRIER,
136959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INVOKE_VIRTUAL_RANGE,
137959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INVOKE_SUPER_RANGE,
138959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INVOKE_DIRECT_RANGE,
139959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INVOKE_STATIC_RANGE,
140959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INVOKE_INTERFACE_RANGE,
141959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_79,
142959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_7A,
143959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  NEG_INT,
144959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  NOT_INT,
145959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  NEG_LONG,
146959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  NOT_LONG,
147959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  NEG_FLOAT,
148959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  NEG_DOUBLE,
149959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INT_TO_LONG,
150959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INT_TO_FLOAT,
151959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INT_TO_DOUBLE,
152959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  LONG_TO_INT,
153959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  LONG_TO_FLOAT,
154959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  LONG_TO_DOUBLE,
155959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  FLOAT_TO_INT,
156959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  FLOAT_TO_LONG,
157959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  FLOAT_TO_DOUBLE,
158959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  DOUBLE_TO_INT,
159959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  DOUBLE_TO_LONG,
160959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  DOUBLE_TO_FLOAT,
161959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INT_TO_BYTE,
162959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INT_TO_CHAR,
163959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INT_TO_SHORT,
164959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  ADD_INT,
165959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SUB_INT,
166959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MUL_INT,
167959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  DIV_INT,
168959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  REM_INT,
169959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  AND_INT,
170959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  OR_INT,
171959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  XOR_INT,
172959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SHL_INT,
173959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SHR_INT,
174959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  USHR_INT,
175959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  ADD_LONG,
176959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SUB_LONG,
177959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MUL_LONG,
178959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  DIV_LONG,
179959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  REM_LONG,
180959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  AND_LONG,
181959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  OR_LONG,
182959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  XOR_LONG,
183959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SHL_LONG,
184959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SHR_LONG,
185959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  USHR_LONG,
186959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  ADD_FLOAT,
187959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SUB_FLOAT,
188959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MUL_FLOAT,
189959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  DIV_FLOAT,
190959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  REM_FLOAT,
191959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  ADD_DOUBLE,
192959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SUB_DOUBLE,
193959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MUL_DOUBLE,
194959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  DIV_DOUBLE,
195959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  REM_DOUBLE,
196959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  ADD_INT_2ADDR,
197959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SUB_INT_2ADDR,
198959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MUL_INT_2ADDR,
199959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  DIV_INT_2ADDR,
200959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  REM_INT_2ADDR,
201959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  AND_INT_2ADDR,
202959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  OR_INT_2ADDR,
203959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  XOR_INT_2ADDR,
204959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SHL_INT_2ADDR,
205959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SHR_INT_2ADDR,
206959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  USHR_INT_2ADDR,
207959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  ADD_LONG_2ADDR,
208959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SUB_LONG_2ADDR,
209959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MUL_LONG_2ADDR,
210959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  DIV_LONG_2ADDR,
211959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  REM_LONG_2ADDR,
212959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  AND_LONG_2ADDR,
213959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  OR_LONG_2ADDR,
214959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  XOR_LONG_2ADDR,
215959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SHL_LONG_2ADDR,
216959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SHR_LONG_2ADDR,
217959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  USHR_LONG_2ADDR,
218959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  ADD_FLOAT_2ADDR,
219959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SUB_FLOAT_2ADDR,
220959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MUL_FLOAT_2ADDR,
221959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  DIV_FLOAT_2ADDR,
222959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  REM_FLOAT_2ADDR,
223959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  ADD_DOUBLE_2ADDR,
224959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SUB_DOUBLE_2ADDR,
225959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MUL_DOUBLE_2ADDR,
226959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  DIV_DOUBLE_2ADDR,
227959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  REM_DOUBLE_2ADDR,
228959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  ADD_INT_LIT16,
229959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  RSUB_INT,
230959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MUL_INT_LIT16,
231959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  DIV_INT_LIT16,
232959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  REM_INT_LIT16,
233959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  AND_INT_LIT16,
234959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  OR_INT_LIT16,
235959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  XOR_INT_LIT16,
236959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  ADD_INT_LIT8,
237959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  RSUB_INT_LIT8,
238959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  MUL_INT_LIT8,
239959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  DIV_INT_LIT8,
240959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  REM_INT_LIT8,
241959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  AND_INT_LIT8,
242959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  OR_INT_LIT8,
243959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  XOR_INT_LIT8,
244959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SHL_INT_LIT8,
245959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  SHR_INT_LIT8,
246959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  USHR_INT_LIT8,
247959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IGET_QUICK,
248959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IGET_WIDE_QUICK,
249959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IGET_OBJECT_QUICK,
250959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IPUT_QUICK,
251959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IPUT_WIDE_QUICK,
252959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IPUT_OBJECT_QUICK,
253959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INVOKE_VIRTUAL_QUICK,
254959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  INVOKE_VIRTUAL_QUICK_RANGE,
255959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IPUT_BOOLEAN_QUICK,
256959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IPUT_BYTE_QUICK,
257959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IPUT_CHAR_QUICK,
258959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  IPUT_SHORT_QUICK,
259959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_EF,
260959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_F0,
261959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_F1,
262959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_F2,
263959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_F3,
264959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_F4,
265959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_F5,
266959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_F6,
267959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_F7,
268959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_F8,
269959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_F9,
270959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_FA,
271959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_FB,
272959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_FC,
273959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_FD,
274959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_FE,
275959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  UNUSED_FF;
276959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle
277959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  public static boolean isBetween(Opcode opcode, Opcode opcode1, Opcode opcode2) {
278959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle    return (opcode.ordinal() >= opcode1.ordinal() && opcode.ordinal() <= opcode2.ordinal());
279959ffdf65f280ee90b7944a8dd610564e7f99e69Stephen Kyle  }
280d7cbf8a6629942e7bd315ffae7e1c77b082f3e11Mathieu Chartier}
281