Home | History | Annotate | Download | only in dex

Lines Matching full:instruction

26     case Instruction::NOP:
27 case Instruction::RETURN_VOID:
28 case Instruction::RETURN:
29 case Instruction::RETURN_OBJECT:
30 case Instruction::RETURN_WIDE:
31 case Instruction::MONITOR_ENTER:
32 case Instruction::MONITOR_EXIT:
33 case Instruction::GOTO:
34 case Instruction::GOTO_16:
35 case Instruction::GOTO_32:
36 case Instruction::CHECK_CAST:
37 case Instruction::THROW:
38 case Instruction::FILL_ARRAY_DATA:
39 case Instruction::FILLED_NEW_ARRAY:
40 case Instruction::FILLED_NEW_ARRAY_RANGE:
41 case Instruction::PACKED_SWITCH:
42 case Instruction::SPARSE_SWITCH:
43 case Instruction::IF_EQ:
44 case Instruction::IF_NE:
45 case Instruction::IF_LT:
46 case Instruction::IF_GE:
47 case Instruction::IF_GT:
48 case Instruction::IF_LE:
49 case Instruction::IF_EQZ:
50 case Instruction::IF_NEZ:
51 case Instruction::IF_LTZ:
52 case Instruction::IF_GEZ:
53 case Instruction::IF_GTZ:
54 case Instruction::IF_LEZ:
55 case Instruction::INVOKE_STATIC_RANGE:
56 case Instruction::INVOKE_STATIC:
57 case Instruction::INVOKE_DIRECT:
58 case Instruction::INVOKE_DIRECT_RANGE:
59 case Instruction::INVOKE_VIRTUAL:
60 case Instruction::INVOKE_VIRTUAL_RANGE:
61 case Instruction::INVOKE_SUPER:
62 case Instruction::INVOKE_SUPER_RANGE:
63 case Instruction::INVOKE_INTERFACE:
64 case Instruction::INVOKE_INTERFACE_RANGE:
73 case Instruction::MOVE_EXCEPTION:
74 case Instruction::MOVE_RESULT:
75 case Instruction::MOVE_RESULT_OBJECT:
76 case Instruction::INSTANCE_OF:
77 case Instruction::NEW_INSTANCE:
78 case Instruction::CONST_STRING:
79 case Instruction::CONST_STRING_JUMBO:
80 case Instruction::CONST_CLASS:
81 case Instruction::NEW_ARRAY: {
87 case Instruction::MOVE_RESULT_WIDE: {
101 case Instruction::MOVE:
102 case Instruction::MOVE_OBJECT:
103 case Instruction::MOVE_16:
104 case Instruction::MOVE_OBJECT_16:
105 case Instruction::MOVE_FROM16:
106 case Instruction::MOVE_OBJECT_FROM16:
114 case Instruction::MOVE_WIDE:
115 case Instruction::MOVE_WIDE_16:
116 case Instruction::MOVE_WIDE_FROM16: {
123 case Instruction::CONST:
124 case Instruction::CONST_4:
125 case Instruction::CONST_16: {
126 uint16_t res = LookupValue(Instruction::CONST, Low16Bits(mir->dalvikInsn.vB),
132 case Instruction::CONST_HIGH16: {
133 uint16_t res = LookupValue(Instruction::CONST, 0, mir->dalvikInsn.vB, 0);
138 case Instruction::CONST_WIDE_16:
139 case Instruction::CONST_WIDE_32: {
140 uint16_t low_res = LookupValue(Instruction::CONST, Low16Bits(mir->dalvikInsn.vB),
144 high_res = LookupValue(Instruction::CONST, 0xffff, 0xffff, 2);
146 high_res = LookupValue(Instruction::CONST, 0, 0, 2);
148 uint16_t res = LookupValue(Instruction::CONST, low_res, high_res, 3);
153 case Instruction::CONST_WIDE: {
156 uint16_t low_res = LookupValue(Instruction::CONST, Low16Bits(low_word),
158 uint16_t high_res = LookupValue(Instruction::CONST, Low16Bits(high_word),
160 uint16_t res = LookupValue(Instruction::CONST, low_res, high_res, 3);
165 case Instruction::CONST_WIDE_HIGH16: {
166 uint16_t low_res = LookupValue(Instruction::CONST, 0, 0, 1);
167 uint16_t high_res = LookupValue(Instruction::CONST, 0, Low16Bits(mir->dalvikInsn.vB), 2);
168 uint16_t res = LookupValue(Instruction::CONST, low_res, high_res, 3);
173 case Instruction::ARRAY_LENGTH:
174 case Instruction::NEG_INT:
175 case Instruction::NOT_INT:
176 case Instruction::NEG_FLOAT:
177 case Instruction::INT_TO_BYTE:
178 case Instruction::INT_TO_SHORT:
179 case Instruction::INT_TO_CHAR:
180 case Instruction::INT_TO_FLOAT:
181 case Instruction::FLOAT_TO_INT: {
189 case Instruction::LONG_TO_FLOAT:
190 case Instruction::LONG_TO_INT:
191 case Instruction::DOUBLE_TO_FLOAT:
192 case Instruction::DOUBLE_TO_INT: {
201 case Instruction::DOUBLE_TO_LONG:
202 case Instruction::LONG_TO_DOUBLE:
203 case Instruction::NEG_LONG:
204 case Instruction::NOT_LONG:
205 case Instruction::NEG_DOUBLE: {
213 case Instruction::FLOAT_TO_DOUBLE:
214 case Instruction::FLOAT_TO_LONG:
215 case Instruction::INT_TO_DOUBLE:
216 case Instruction::INT_TO_LONG: {
224 case Instruction::CMPL_DOUBLE:
225 case Instruction::CMPG_DOUBLE:
226 case Instruction::CMP_LONG: {
235 case Instruction::CMPG_FLOAT:
236 case Instruction::CMPL_FLOAT:
237 case Instruction::ADD_INT:
238 case Instruction::ADD_INT_2ADDR:
239 case Instruction::MUL_INT:
240 case Instruction::MUL_INT_2ADDR:
241 case Instruction::AND_INT:
242 case Instruction::AND_INT_2ADDR:
243 case Instruction::OR_INT:
244 case Instruction::OR_INT_2ADDR:
245 case Instruction::XOR_INT:
246 case Instruction::XOR_INT_2ADDR:
247 case Instruction::SUB_INT:
248 case Instruction::SUB_INT_2ADDR:
249 case Instruction::DIV_INT:
250 case Instruction::DIV_INT_2ADDR:
251 case Instruction::REM_INT:
252 case Instruction::REM_INT_2ADDR:
253 case Instruction::SHL_INT:
254 case Instruction::SHL_INT_2ADDR:
255 case Instruction::SHR_INT:
256 case Instruction::SHR_INT_2ADDR:
257 case Instruction::USHR_INT:
258 case Instruction::USHR_INT_2ADDR: {
267 case Instruction::ADD_LONG:
268 case Instruction::SUB_LONG:
269 case Instruction::MUL_LONG:
270 case Instruction::DIV_LONG:
271 case Instruction::REM_LONG:
272 case Instruction::AND_LONG:
273 case Instruction::OR_LONG:
274 case Instruction::XOR_LONG:
275 case Instruction::ADD_LONG_2ADDR:
276 case Instruction::SUB_LONG_2ADDR:
277 case Instruction::MUL_LONG_2ADDR:
278 case Instruction::DIV_LONG_2ADDR:
279 case Instruction::REM_LONG_2ADDR:
280 case Instruction::AND_LONG_2ADDR:
281 case Instruction::OR_LONG_2ADDR:
282 case Instruction::XOR_LONG_2ADDR:
283 case Instruction::ADD_DOUBLE:
284 case Instruction::SUB_DOUBLE:
285 case Instruction::MUL_DOUBLE:
286 case Instruction::DIV_DOUBLE:
287 case Instruction::REM_DOUBLE:
288 case Instruction::ADD_DOUBLE_2ADDR:
289 case Instruction::SUB_DOUBLE_2ADDR:
290 case Instruction::MUL_DOUBLE_2ADDR:
291 case Instruction::DIV_DOUBLE_2ADDR:
292 case Instruction::REM_DOUBLE_2ADDR: {
301 case Instruction::SHL_LONG:
302 case Instruction::SHR_LONG:
303 case Instruction::USHR_LONG:
304 case Instruction::SHL_LONG_2ADDR:
305 case Instruction::SHR_LONG_2ADDR:
306 case Instruction::USHR_LONG_2ADDR: {
315 case Instruction::ADD_FLOAT:
316 case Instruction::SUB_FLOAT:
317 case Instruction::MUL_FLOAT:
318 case Instruction::DIV_FLOAT:
319 case Instruction::REM_FLOAT:
320 case Instruction::ADD_FLOAT_2ADDR:
321 case Instruction::SUB_FLOAT_2ADDR:
322 case Instruction::MUL_FLOAT_2ADDR:
323 case Instruction::DIV_FLOAT_2ADDR:
324 case Instruction::REM_FLOAT_2ADDR: {
333 case Instruction::RSUB_INT:
334 case Instruction::ADD_INT_LIT16:
335 case Instruction::MUL_INT_LIT16:
336 case Instruction::DIV_INT_LIT16:
337 case Instruction::REM_INT_LIT16:
338 case Instruction::AND_INT_LIT16:
339 case Instruction::OR_INT_LIT16:
340 case Instruction::XOR_INT_LIT16:
341 case Instruction::ADD_INT_LIT8:
342 case Instruction::RSUB_INT_LIT8:
343 case Instruction::MUL_INT_LIT8:
344 case Instruction::DIV_INT_LIT8:
345 case Instruction::REM_INT_LIT8:
346 case Instruction::AND_INT_LIT8:
347 case Instruction::OR_INT_LIT8:
348 case Instruction::XOR_INT_LIT8:
349 case Instruction::SHL_INT_LIT8:
350 case Instruction::SHR_INT_LIT8:
351 case Instruction::USHR_INT_LIT8: {
354 uint16_t operand2 = LookupValue(Instruction::CONST, mir->dalvikInsn.vB, 0, 0);
360 case Instruction::AGET_WIDE:
361 case Instruction::AGET:
362 case Instruction::AGET_OBJECT:
363 case Instruction::AGET_BOOLEAN:
364 case Instruction::AGET_BYTE:
365 case Instruction::AGET_CHAR:
366 case Instruction::AGET_SHORT: {
389 if (opcode == Instruction::AGET_WIDE) {
397 case Instruction::APUT_WIDE:
398 case Instruction::APUT:
399 case Instruction::APUT_OBJECT:
400 case Instruction::APUT_SHORT:
401 case Instruction::APUT_CHAR:
402 case Instruction::APUT_BYTE:
403 case Instruction::APUT_BOOLEAN: {
404 int array_idx = (opcode == Instruction::APUT_WIDE) ? 2 : 1;
430 case Instruction::IGET_OBJECT:
431 case Instruction::IGET_WIDE:
432 case Instruction::IGET:
433 case Instruction::IGET_CHAR:
434 Instruction::IGET_SHORT:
435 case Instruction::IGET_BOOLEAN:
436 case Instruction::IGET_BYTE: {
449 if (opcode == Instruction::IGET_WIDE) {
450 uint16_t res = LookupValue(Instruction::IGET_WIDE, base, field_ref, memory_version);
453 uint16_t res = LookupValue(Instruction::IGET, base, field_ref, memory_version);
459 case Instruction::IPUT_WIDE:
460 case Instruction::IPUT_OBJECT:
461 case Instruction::IPUT:
462 case Instruction::IPUT_BOOLEAN:
463 case Instruction::IPUT_BYTE:
464 case Instruction::IPUT_CHAR:
465 case Instruction::IPUT_SHORT: {
466 int base_reg = (opcode == Instruction::IPUT_WIDE) ? 2 : 1;
482 case Instruction::SGET_OBJECT:
483 case Instruction::SGET:
484 case Instruction::SGET_BOOLEAN:
485 case Instruction::SGET_BYTE:
486 case Instruction::SGET_CHAR:
487 case Instruction::SGET_SHORT:
488 case Instruction::SGET_WIDE: {
491 if (opcode == Instruction::SGET_WIDE) {
492 uint16_t res = LookupValue(Instruction::SGET_WIDE, NO_VALUE, field_ref, memory_version);
495 uint16_t res = LookupValue(Instruction::SGET, NO_VALUE, field_ref, memory_version);
501 case Instruction::SPUT_OBJECT:
502 case Instruction::SPUT:
503 case Instruction::SPUT_BOOLEAN:
504 case Instruction::SPUT_BYTE:
505 case Instruction::SPUT_CHAR:
506 case Instruction::SPUT_SHORT:
507 case Instruction::SPUT_WIDE: {