Home | History | Annotate | Download | only in dex

Lines Matching full:instruction

46     Instruction::Code opcode;
247 DEF_IGET(Instruction::IGET, 0u, 10u, 0u),
248 DEF_IGET(Instruction::IGET, 1u, 10u, 0u),
249 DEF_INVOKE1(Instruction::INVOKE_VIRTUAL, 11u),
250 DEF_IGET(Instruction::IGET, 2u, 10u, 0u),
271 DEF_IGET(Instruction::IGET_OBJECT, 0u, 10u, 0u),
272 DEF_IPUT(Instruction::IPUT_OBJECT, 1u, 11u, 0u), // May alias.
273 DEF_IGET(Instruction::IGET_OBJECT, 2u, 10u, 0u),
274 DEF_IGET(Instruction::IGET, 3u, 0u, 1u),
275 DEF_IGET(Instruction::IGET, 4u, 2u, 1u),
295 DEF_UNIQUE_REF(Instruction::NEW_INSTANCE, 10u),
296 DEF_IGET(Instruction::IGET, 0u, 10u, 0u),
297 DEF_IPUT(Instruction::IPUT, 1u, 11u, 0u), // No aliasing since 10u is unique.
298 DEF_IGET(Instruction::IGET, 2u, 10u, 0u),
317 DEF_UNIQUE_REF(Instruction::NEW_INSTANCE, 11u),
318 DEF_IGET(Instruction::IGET, 0u, 10u, 0u),
319 DEF_IPUT(Instruction::IPUT, 1u, 11u, 0u), // No aliasing since 11u is unique.
320 DEF_IGET(Instruction::IGET, 2u, 10u, 0u),
339 DEF_UNIQUE_REF(Instruction::NEW_INSTANCE, 10u),
340 DEF_IGET(Instruction::IGET, 0u, 10u, 0u),
341 DEF_INVOKE1(Instruction::INVOKE_VIRTUAL, 11u), // 10u still unique.
342 DEF_IGET(Instruction::IGET, 2u, 10u, 0u),
343 DEF_INVOKE1(Instruction::INVOKE_VIRTUAL, 10u), // 10u not unique anymore.
344 DEF_IGET(Instruction::IGET, 3u, 10u, 0u),
365 DEF_IGET(Instruction::IGET, 0u, 10u, 1u), // Volatile.
366 DEF_IGET(Instruction::IGET, 1u, 0u, 0u), // Non-volatile.
367 DEF_IGET(Instruction::IGET, 2u, 10u, 1u), // Volatile.
368 DEF_IGET(Instruction::IGET, 3u, 2u, 1u), // Non-volatile.
369 DEF_IGET(Instruction::IGET, 4u, 0u, 0u), // Non-volatile.
393 DEF_UNIQUE_REF(Instruction::NEW_INSTANCE, 30u),
394 DEF_IGET(Instruction::IGET, 1u, 30u, 0u), // Resolved field #1, unique object.
395 DEF_IGET(Instruction::IGET, 2u, 31u, 0u), // Resolved field #1.
396 DEF_IGET_WIDE(Instruction::IGET_WIDE, 3u, 31u, 1u), // Resolved field #2.
397 DEF_IGET(Instruction::IGET, 5u, 32u, 2u), // Unresolved IGET can be "acquire".
398 DEF_IGET(Instruction::IGET, 6u, 30u, 0u), // Resolved field #1, unique object.
399 DEF_IGET(Instruction::IGET, 7u, 31u, 0u), // Resolved field #1.
400 DEF_IGET_WIDE(Instruction::IGET_WIDE, 8u, 31u, 1u), // Resolved field #2.
401 DEF_IPUT(Instruction::IPUT, 10u, 32u, 2u), // IPUT clobbers field #1 (#2 is wide).
402 DEF_IGET(Instruction::IGET, 11u, 30u, 0u), // Resolved field #1, unique object.
403 DEF_IGET(Instruction::IGET, 12u, 31u, 0u), // Resolved field #1, new value name.
404 DEF_IGET_WIDE(Instruction::IGET_WIDE, 13u, 31u, 1u), // Resolved field #2.
405 DEF_IGET_WIDE(Instruction::IGET_WIDE, 15u, 30u, 1u), // Resolved field #2, unique object.
406 Instruction::IPUT, 17u, 30u, 2u), // IPUT clobbers field #1 (#2 is wide).
407 DEF_IGET(Instruction::IGET, 18u, 30u, 0u), // Resolved field #1, unique object.
408 DEF_IGET_WIDE(Instruction::IGET_WIDE, 19u, 30u, 1u), // Resolved field #2, unique object.
444 DEF_SGET(Instruction::SGET, 0u, 0u), // Resolved field #1.
445 DEF_SGET_WIDE(Instruction::SGET_WIDE, 1u, 1u), // Resolved field #2.
446 DEF_SGET(Instruction::SGET, 3u, 2u), // Unresolved SGET can be "acquire".
447 DEF_SGET(Instruction::SGET, 4u, 0u), // Resolved field #1.
448 DEF_SGET_WIDE(Instruction::SGET_WIDE, 5u, 1u), // Resolved field #2.
449 DEF_SPUT(Instruction::SPUT, 7u, 2u), // SPUT clobbers field #1 (#2 is wide).
450 DEF_SGET(Instruction::SGET, 8u, 0u), // Resolved field #1.
451 DEF_SGET_WIDE(Instruction::SGET_WIDE, 9u, 1u), // Resolved field #2.
479 DEF_UNIQUE_REF(Instruction::NEW_INSTANCE, 200u),
480 DEF_IGET(Instruction::IGET, 1u, 100u, 0u),
481 DEF_IGET(Instruction::IGET, 2u, 200u, 0u),
482 DEF_SGET(Instruction::SGET, 3u, 0u),
483 DEF_SGET(Instruction::SGET, 4u, 1u), // Can call <clinit>().
484 DEF_IGET(Instruction::IGET, 5u, 100u, 0u), // Differs from 1u.
485 DEF_IGET(Instruction::IGET, 6u, 200u, 0u), // Same as 2u.
486 DEF_SGET(Instruction::SGET, 7u, 0u), // Differs from 3u.
502 DEF_CONST_STRING(Instruction::CONST_STRING, 0u, 0u),
503 DEF_CONST_STRING(Instruction::CONST_STRING, 1u, 0u),
504 DEF_CONST_STRING(Instruction::CONST_STRING, 2u, 2u),
505 DEF_CONST_STRING(Instruction::CONST_STRING, 3u, 0u),
506 DEF_INVOKE1(Instruction::INVOKE_DIRECT, 2u),
507 DEF_CONST_STRING(Instruction::CONST_STRING, 4u, 2u),
528 DEF_UNIQUE_REF(Instruction::NEW_ARRAY, 201u),
529 DEF_IGET(Instruction::IGET, 0u, 100u, 0u),
530 DEF_IPUT(Instruction::IPUT, 0u, 100u, 1u),
531 DEF_IPUT(Instruction::IPUT, 0u, 101u, 1u),
532 DEF_APUT(Instruction::APUT, 0u, 200u, 300u),
533 DEF_APUT(Instruction::APUT, 0u, 200u, 301u),
534 DEF_APUT(Instruction::APUT, 0u, 201u, 300u),
535 DEF_APUT(Instruction::APUT, 0u, 201u, 301u),
536 DEF_SPUT(Instruction::SPUT, 0u, 0u),
537 DEF_IGET(Instruction::IGET, 9u, 100u, 0u),
538 DEF_IGET(Instruction::IGET, 10u, 100u, 1u),
539 DEF_IGET(Instruction::IGET, 11u, 101u, 1u),
540 DEF_AGET(Instruction::AGET, 12u, 200u, 300u),
541 DEF_AGET(Instruction::AGET, 13u, 200u, 301u),
542 DEF_AGET(Instruction::AGET, 14u, 201u, 300u),
543 DEF_AGET(Instruction::AGET, 15u, 201u, 301u),
544 DEF_SGET(Instruction::SGET, 16u, 0u),
565 DEF_UNIQUE_REF(Instruction::NEW_ARRAY, 20u),
566 DEF_AGET(Instruction::AGET, 1u, 20u, 40u),
567 DEF_APUT(Instruction::APUT, 2u, 20u, 41u), // May alias with index for sreg 40u.
568 DEF_AGET(Instruction::AGET, 3u, 20u, 40u),
593 DEF_UNIQUE_REF(Instruction::NEW_INSTANCE, 20u),
594 DEF_IGET(Instruction::IGET, 1u, 20u, 0u),
595 DEF_IGET(Instruction::IGET, 2u, 20u, 1u),
596 DEF_IPUT(Instruction::IPUT_OBJECT, 20u, 30u, 2u), // Ref escapes.
597 DEF_IGET(Instruction::IGET, 4u, 20u, 0u),
598 DEF_IGET(Instruction::IGET, 5u, 20u, 1u),
599 DEF_IPUT(Instruction::IPUT, 6u, 31u, 0u), // May alias with field #1.
600 DEF_IGET(Instruction::IGET, 7u, 20u, 0u), // New value.
601 DEF_IGET(Instruction::IGET, 8u, 20u, 1u), // Still the same.
602 DEF_IPUT_WIDE(Instruction::IPUT_WIDE, 9u, 31u, 3u), // No aliasing, different type.
603 DEF_IGET(Instruction::IGET, 11u, 20u, 0u),
604 DEF_IGET(Instruction::IGET, 12u, 20u, 1u),
605 DEF_IPUT_WIDE(Instruction::IPUT_WIDE, 13u, 31u, 5u), // No aliasing, different type.
606 DEF_IGET(Instruction::IGET, 15u, 20u, 0u),
607 DEF_IGET(Instruction::IGET, 16u, 20u, 1u),
608 DEF_IPUT(Instruction::IPUT, 17u, 31u, 4u), // Aliasing, same type.
609 DEF_IGET(Instruction::IGET, 18u, 20u, 0u),
610 DEF_IGET(Instruction::IGET, 19u, 20u, 1u),
639 DEF_UNIQUE_REF(Instruction::NEW_ARRAY, 20u),
640 DEF_AGET(Instruction::AGET, 1u, 20u, 40u),
641 DEF_AGET(Instruction::AGET, 2u, 20u, 41u),
642 DEF_APUT(Instruction::APUT_OBJECT, 20u, 30u, 42u), // Array ref escapes.
643 DEF_AGET(Instruction::AGET, 4u, 20u, 40u),
644 DEF_AGET(Instruction::AGET, 5u, 20u, 41u),
645 DEF_APUT_WIDE(Instruction::APUT_WIDE, 6u, 31u, 43u), // No aliasing, different type.
646 DEF_AGET(Instruction::AGET, 8u, 20u, 40u),
647 DEF_AGET(Instruction::AGET, 9u, 20u, 41u),
648 DEF_APUT(Instruction::APUT, 10u, 32u, 40u), // May alias with all elements.
649 DEF_AGET(Instruction::AGET, 11u, 20u, 40u), // New value (same index name).
650 DEF_AGET(Instruction::AGET, 12u, 20u, 41u), // New value (different index name).
682 DEF_IGET(Instruction::IGET, 0u, 30u, 0u),
683 DEF_IGET(Instruction::IGET, 1u, 31u, 0u),
684 DEF_IPUT(Instruction::IPUT, 1u, 31u, 0u), // Store the same value.
685 DEF_IGET(Instruction::IGET, 3u, 30u, 0u),
686 DEF_AGET(Instruction::AGET, 4u, 32u, 40u),
687 DEF_AGET(Instruction::AGET, 5u, 33u, 40u),
688 DEF_APUT(Instruction::APUT, 5u, 33u, 40u), // Store the same value.
689 DEF_AGET(Instruction::AGET, 7u, 32u, 40u),
690 DEF_SGET(Instruction::SGET, 8u, 0u),
691 DEF_SPUT(Instruction::SPUT, 8u, 0u), // Store the same value.
692 DEF_SGET(Instruction::SGET, 10u, 0u),
693 DEF_UNIQUE_REF(Instruction::NEW_INSTANCE, 50u), // Test with unique references.
694 { Instruction::FILLED_NEW_ARRAY, 0, 0u, 2, { 12u, 13u }, 0, { } },
695 DEF_UNIQUE_REF(Instruction::MOVE_RESULT_OBJECT, 51u),
696 DEF_IGET(Instruction::IGET, 14u, 50u, 0u),
697 DEF_IGET(Instruction::IGET, 15u, 50u, 1u),
698 DEF_IPUT(Instruction::IPUT, 15u, 50u, 1u), // Store the same value.
699 DEF_IGET(Instruction::IGET, 17u, 50u, 0u),
700 DEF_AGET(Instruction::AGET, 18u, 51u, 40u),
701 DEF_AGET(Instruction::AGET, 19u, 51u, 41u),
702 DEF_APUT(Instruction::APUT, 19u, 51u, 41u), // Store the same value.
703 DEF_AGET(Instruction::AGET, 21u, 51u, 40u),
734 DEF_CONST(Instruction::CONST, 0u, 100),
735 DEF_CONST(Instruction::CONST, 1u, 200),
736 { Instruction::FILLED_NEW_ARRAY, 0, 0u, 2, { 0u, 1u }, 0, { } },
737 DEF_UNIQUE_REF(Instruction::MOVE_RESULT_OBJECT, 10u),
738 DEF_CONST(Instruction::CONST, 20u, 0),
739 DEF_CONST(Instruction::CONST, 21u, 1),
740 DEF_AGET(Instruction::AGET, 6u, 10u, 20u),
741 DEF_AGET(Instruction::AGET, 7u, 10u, 21u),
761 DEF_SGET(Instruction::SGET_OBJECT, 0u, 0u),
762 DEF_AGET(Instruction::AGET, 1u, 0u, 100u),
763 DEF_SGET(Instruction::SGET_OBJECT, 2u, 1u),
764 DEF_SGET(Instruction::SGET_OBJECT, 3u, 0u),
765 DEF_AGET(Instruction::AGET, 4u, 3u, 100u),
778 DEF_DIV_REM(Instruction::DIV_INT, 1u, 10u, 20u),
779 DEF_DIV_REM(Instruction::DIV_INT, 2u, 20u, 20u),
780 DEF_DIV_REM(Instruction::DIV_INT_2ADDR, 3u, 10u, 1u),
781 DEF_DIV_REM(Instruction::REM_INT, 4u, 30u, 20u),
782 DEF_DIV_REM_WIDE(Instruction::REM_LONG, 5u, 12u, 14u),
783 DEF_DIV_REM_WIDE(Instruction::DIV_LONG_2ADDR, 7u, 16u, 14u),
803 DEF_CONST(Instruction::CONST_WIDE_16, 0u, 0),
804 DEF_CONST(Instruction::CONST_WIDE_16, 2u, 1),
805 DEF_CONST(Instruction::CONST_WIDE_16, 4u, -1),
806 DEF_CONST(Instruction::CONST_WIDE_32, 6u, 1 << 16),
807 DEF_CONST(Instruction::CONST_WIDE_32, 8u, -1 << 16),
808 DEF_CONST(Instruction::CONST_WIDE_32, 10u, (1 << 16) + 1),
809 DEF_CONST(Instruction::CONST_WIDE_32, 12u, (1 << 16) - 1),
810 DEF_CONST(Instruction::CONST_WIDE_32, 14u, -(1 << 16) + 1),
811 DEF_CONST(Instruction::CONST_WIDE_32, 16u, -(1 << 16) - 1),
812 DEF_CONST(Instruction::CONST_WIDE, 18u, INT64_C(1) << 32),
813 DEF_CONST(Instruction::CONST_WIDE, 20u, INT64_C(-1) << 32),
814 DEF_CONST(Instruction::CONST_WIDE, 22u, (INT64_C(1) << 32) + 1),
815 DEF_CONST(Instruction::CONST_WIDE, 24u, (INT64_C(1) << 32) - 1),
816 DEF_CONST(Instruction::CONST_WIDE, 26u, (INT64_C(-1) << 32) + 1),
817 DEF_CONST(Instruction::CONST_WIDE, 28u, (INT64_C(-1) << 32) - 1),
818 DEF_CONST(Instruction::CONST_WIDE_HIGH16, 30u, 1), // Effectively 1 << 48.
819 DEF_CONST(Instruction::CONST_WIDE_HIGH16, 32u, 0xffff), // Effectively -1 << 48.
820 DEF_CONST(Instruction::CONST_WIDE, 34u, (INT64_C(1) << 48) + 1),
821 DEF_CONST(Instruction::CONST_WIDE, 36u, (INT64_C(1) << 48) - 1),
822 DEF_CONST(Instruction::CONST_WIDE, 38u, (INT64_C(-1) << 48) + 1),
823 DEF_CONST(Instruction::CONST_WIDE, 40u, (INT64_C(-1) << 48) - 1),
825 DEF_CONST(Instruction::CONST_WIDE_16, 42u, 0),
826 DEF_CONST(Instruction::CONST_WIDE_16, 44u, 1),
827 DEF_CONST(Instruction::CONST_WIDE_16, 46u, -1),
828 DEF_CONST(Instruction::CONST_WIDE_32, 48u, 1 << 16),
829 DEF_CONST(Instruction::CONST_WIDE_32, 50u, -1 << 16),
830 DEF_CONST(Instruction::CONST_WIDE_32, 52u, (1 << 16) + 1),
831 DEF_CONST(Instruction::CONST_WIDE_32, 54u, (1 << 16) - 1),
832 DEF_CONST(Instruction::CONST_WIDE_32, 56u, -(1 << 16) + 1),
833 DEF_CONST(Instruction::CONST_WIDE_32, 58u, -(1 << 16) - 1),
834 DEF_CONST(Instruction::CONST_WIDE, 60u, INT64_C(1) << 32),
835 DEF_CONST(Instruction::CONST_WIDE, 62u, INT64_C(-1) << 32),
836 DEF_CONST(Instruction::CONST_WIDE, 64u, (INT64_C(1) << 32) + 1),
837 DEF_CONST(Instruction::CONST_WIDE, 66u, (INT64_C(1) << 32) - 1),
838 DEF_CONST(Instruction::CONST_WIDE, 68u, (INT64_C(-1) << 32) + 1),
839 DEF_CONST(Instruction::CONST_WIDE, 70u, (INT64_C(-1) << 32) - 1),
840 DEF_CONST(Instruction::CONST_WIDE_HIGH16, 72u, 1), // Effectively 1 << 48.
841 DEF_CONST(Instruction::CONST_WIDE_HIGH16, 74u, 0xffff), // Effectively -1 << 48.
842 DEF_CONST(Instruction::CONST_WIDE, 76u, (INT64_C(1) << 48) + 1),
843 DEF_CONST(Instruction::CONST_WIDE, 78u, (INT64_C(1) << 48) - 1),
844 DEF_CONST(Instruction::CONST_WIDE, 80u, (INT64_C(-1) << 48) + 1),
845 DEF_CONST(Instruction::CONST_WIDE, 82u, (INT64_C(-1) << 48) - 1),
867 DEF_CONST(Instruction::CONST_4, 0u, 0),
868 DEF_CONST(Instruction::CONST_4, 1u, 1),
869 DEF_CONST(Instruction::CONST_4, 2u, -1),
870 DEF_CONST(Instruction::CONST_16, 3u, 1 << 4),
871 DEF_CONST(Instruction::CONST_16, 4u, -1 << 4),
872 DEF_CONST(Instruction::CONST_16, 5u, (1 << 4) + 1),
873 DEF_CONST(Instruction::CONST_16, 6u, (1 << 4) - 1),
874 DEF_CONST(Instruction::CONST_16, 7u, -(1 << 4) + 1),
875 DEF_CONST(Instruction::CONST_16, 8u, -(1 << 4) - 1),
876 DEF_CONST(Instruction::CONST_HIGH16, 9u, 1), // Effectively 1 << 16.
877 DEF_CONST(Instruction::CONST_HIGH16, 10u, 0xffff), // Effectively -1 << 16.
878 DEF_CONST(Instruction::CONST, 11u, (1 << 16) + 1),
879 DEF_CONST(Instruction::CONST, 12u, (1 << 16) - 1),
880 DEF_CONST(Instruction::CONST, 13u, (-1 << 16) + 1),
881 DEF_CONST(Instruction::CONST, 14u, (-1 << 16) - 1),
883 DEF_CONST(Instruction::CONST_4, 15u, 0),
884 DEF_CONST(Instruction::CONST_4, 16u, 1),
885 DEF_CONST(Instruction::CONST_4, 17u, -1),
886 DEF_CONST(Instruction::CONST_16, 18u, 1 << 4),
887 DEF_CONST(Instruction::CONST_16, 19u, -1 << 4),
888 DEF_CONST(Instruction::CONST_16, 20u, (1 << 4) + 1),
889 DEF_CONST(Instruction::CONST_16, 21u, (1 << 4) - 1),
890 DEF_CONST(Instruction::CONST_16, 22u, -(1 << 4) + 1),
891 DEF_CONST(Instruction::CONST_16, 23u, -(1 << 4) - 1),
892 DEF_CONST(Instruction::CONST_HIGH16, 24u, 1), // Effectively 1 << 16.
893 DEF_CONST(Instruction::CONST_HIGH16, 25u, 0xffff), // Effectively -1 << 16.
894 DEF_CONST(Instruction::CONST, 26u, (1 << 16) + 1),
895 DEF_CONST(Instruction::CONST, 27u, (1 << 16) - 1),
896 DEF_CONST(Instruction::CONST, 28u, (-1 << 16) + 1),
897 DEF_CONST(Instruction::CONST, 29u, (-1 << 16) - 1),
899 DEF_CONST(Instruction::CONST_4, 30u, 0),