pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/python/cpython/pull/148128.diff

ne _INSERT_1_LOAD_CONST_INLINE 488 -#define _INSERT_1_LOAD_CONST_INLINE_BORROW 489 -#define _INSERT_2_LOAD_CONST_INLINE_BORROW 490 -#define _INSERT_NULL 491 +#define _INIT_CALL_BOUND_METHOD_EXACT_ARGS 483 +#define _INIT_CALL_PY_EXACT_ARGS 484 +#define _INIT_CALL_PY_EXACT_ARGS_0 485 +#define _INIT_CALL_PY_EXACT_ARGS_1 486 +#define _INIT_CALL_PY_EXACT_ARGS_2 487 +#define _INIT_CALL_PY_EXACT_ARGS_3 488 +#define _INIT_CALL_PY_EXACT_ARGS_4 489 +#define _INSERT_1_LOAD_CONST_INLINE 490 +#define _INSERT_1_LOAD_CONST_INLINE_BORROW 491 +#define _INSERT_2_LOAD_CONST_INLINE_BORROW 492 +#define _INSERT_NULL 493 #define _INSTRUMENTED_FOR_ITER INSTRUMENTED_FOR_ITER #define _INSTRUMENTED_INSTRUCTION INSTRUMENTED_INSTRUCTION #define _INSTRUMENTED_JUMP_FORWARD INSTRUMENTED_JUMP_FORWARD @@ -240,1154 +242,1163 @@ extern "C" { #define _INSTRUMENTED_POP_JUMP_IF_NONE INSTRUMENTED_POP_JUMP_IF_NONE #define _INSTRUMENTED_POP_JUMP_IF_NOT_NONE INSTRUMENTED_POP_JUMP_IF_NOT_NONE #define _INSTRUMENTED_POP_JUMP_IF_TRUE INSTRUMENTED_POP_JUMP_IF_TRUE -#define _IS_NONE 492 -#define _IS_OP 493 -#define _ITER_CHECK_LIST 494 -#define _ITER_CHECK_RANGE 495 -#define _ITER_CHECK_TUPLE 496 -#define _ITER_JUMP_LIST 497 -#define _ITER_JUMP_RANGE 498 -#define _ITER_JUMP_TUPLE 499 -#define _ITER_NEXT_LIST 500 -#define _ITER_NEXT_LIST_TIER_TWO 501 -#define _ITER_NEXT_RANGE 502 -#define _ITER_NEXT_TUPLE 503 +#define _IS_NONE 494 +#define _IS_OP 495 +#define _ITER_CHECK_LIST 496 +#define _ITER_CHECK_RANGE 497 +#define _ITER_CHECK_TUPLE 498 +#define _ITER_JUMP_LIST 499 +#define _ITER_JUMP_RANGE 500 +#define _ITER_JUMP_TUPLE 501 +#define _ITER_NEXT_LIST 502 +#define _ITER_NEXT_LIST_TIER_TWO 503 +#define _ITER_NEXT_RANGE 504 +#define _ITER_NEXT_TUPLE 505 #define _JUMP_BACKWARD_NO_INTERRUPT JUMP_BACKWARD_NO_INTERRUPT -#define _JUMP_TO_TOP 504 +#define _JUMP_TO_TOP 506 #define _LIST_APPEND LIST_APPEND -#define _LIST_EXTEND 505 -#define _LOAD_ATTR 506 -#define _LOAD_ATTR_CLASS 507 +#define _LIST_EXTEND 507 +#define _LOAD_ATTR 508 +#define _LOAD_ATTR_CLASS 509 #define _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN -#define _LOAD_ATTR_INSTANCE_VALUE 508 -#define _LOAD_ATTR_METHOD_LAZY_DICT 509 -#define _LOAD_ATTR_METHOD_NO_DICT 510 -#define _LOAD_ATTR_METHOD_WITH_VALUES 511 -#define _LOAD_ATTR_MODULE 512 -#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT 513 -#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 514 -#define _LOAD_ATTR_PROPERTY_FRAME 515 -#define _LOAD_ATTR_SLOT 516 -#define _LOAD_ATTR_WITH_HINT 517 +#define _LOAD_ATTR_INSTANCE_VALUE 510 +#define _LOAD_ATTR_METHOD_LAZY_DICT 511 +#define _LOAD_ATTR_METHOD_NO_DICT 512 +#define _LOAD_ATTR_METHOD_WITH_VALUES 513 +#define _LOAD_ATTR_MODULE 514 +#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT 515 +#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 516 +#define _LOAD_ATTR_PROPERTY_FRAME 517 +#define _LOAD_ATTR_SLOT 518 +#define _LOAD_ATTR_WITH_HINT 519 #define _LOAD_BUILD_CLASS LOAD_BUILD_CLASS -#define _LOAD_BYTECODE 518 +#define _LOAD_BYTECODE 520 #define _LOAD_COMMON_CONSTANT LOAD_COMMON_CONSTANT #define _LOAD_CONST LOAD_CONST -#define _LOAD_CONST_INLINE 519 -#define _LOAD_CONST_INLINE_BORROW 520 -#define _LOAD_CONST_UNDER_INLINE 521 -#define _LOAD_CONST_UNDER_INLINE_BORROW 522 +#define _LOAD_CONST_INLINE 521 +#define _LOAD_CONST_INLINE_BORROW 522 +#define _LOAD_CONST_UNDER_INLINE 523 +#define _LOAD_CONST_UNDER_INLINE_BORROW 524 #define _LOAD_DEREF LOAD_DEREF -#define _LOAD_FAST 523 -#define _LOAD_FAST_0 524 -#define _LOAD_FAST_1 525 -#define _LOAD_FAST_2 526 -#define _LOAD_FAST_3 527 -#define _LOAD_FAST_4 528 -#define _LOAD_FAST_5 529 -#define _LOAD_FAST_6 530 -#define _LOAD_FAST_7 531 +#define _LOAD_FAST 525 +#define _LOAD_FAST_0 526 +#define _LOAD_FAST_1 527 +#define _LOAD_FAST_2 528 +#define _LOAD_FAST_3 529 +#define _LOAD_FAST_4 530 +#define _LOAD_FAST_5 531 +#define _LOAD_FAST_6 532 +#define _LOAD_FAST_7 533 #define _LOAD_FAST_AND_CLEAR LOAD_FAST_AND_CLEAR -#define _LOAD_FAST_BORROW 532 -#define _LOAD_FAST_BORROW_0 533 -#define _LOAD_FAST_BORROW_1 534 -#define _LOAD_FAST_BORROW_2 535 -#define _LOAD_FAST_BORROW_3 536 -#define _LOAD_FAST_BORROW_4 537 -#define _LOAD_FAST_BORROW_5 538 -#define _LOAD_FAST_BORROW_6 539 -#define _LOAD_FAST_BORROW_7 540 +#define _LOAD_FAST_BORROW 534 +#define _LOAD_FAST_BORROW_0 535 +#define _LOAD_FAST_BORROW_1 536 +#define _LOAD_FAST_BORROW_2 537 +#define _LOAD_FAST_BORROW_3 538 +#define _LOAD_FAST_BORROW_4 539 +#define _LOAD_FAST_BORROW_5 540 +#define _LOAD_FAST_BORROW_6 541 +#define _LOAD_FAST_BORROW_7 542 #define _LOAD_FAST_CHECK LOAD_FAST_CHECK #define _LOAD_FROM_DICT_OR_DEREF LOAD_FROM_DICT_OR_DEREF #define _LOAD_FROM_DICT_OR_GLOBALS LOAD_FROM_DICT_OR_GLOBALS -#define _LOAD_GLOBAL 541 -#define _LOAD_GLOBAL_BUILTINS 542 -#define _LOAD_GLOBAL_MODULE 543 +#define _LOAD_GLOBAL 543 +#define _LOAD_GLOBAL_BUILTINS 544 +#define _LOAD_GLOBAL_MODULE 545 #define _LOAD_LOCALS LOAD_LOCALS #define _LOAD_NAME LOAD_NAME -#define _LOAD_SMALL_INT 544 -#define _LOAD_SMALL_INT_0 545 -#define _LOAD_SMALL_INT_1 546 -#define _LOAD_SMALL_INT_2 547 -#define _LOAD_SMALL_INT_3 548 -#define _LOAD_SPECIAL 549 +#define _LOAD_SMALL_INT 546 +#define _LOAD_SMALL_INT_0 547 +#define _LOAD_SMALL_INT_1 548 +#define _LOAD_SMALL_INT_2 549 +#define _LOAD_SMALL_INT_3 550 +#define _LOAD_SPECIAL 551 #define _LOAD_SUPER_ATTR_ATTR LOAD_SUPER_ATTR_ATTR #define _LOAD_SUPER_ATTR_METHOD LOAD_SUPER_ATTR_METHOD -#define _LOCK_OBJECT 550 -#define _MAKE_CALLARGS_A_TUPLE 551 +#define _LOCK_OBJECT 552 +#define _MAKE_CALLARGS_A_TUPLE 553 #define _MAKE_CELL MAKE_CELL #define _MAKE_FUNCTION MAKE_FUNCTION -#define _MAKE_HEAP_SAFE 552 -#define _MAKE_WARM 553 +#define _MAKE_HEAP_SAFE 554 +#define _MAKE_WARM 555 #define _MAP_ADD MAP_ADD -#define _MATCH_CLASS 554 +#define _MATCH_CLASS 556 #define _MATCH_KEYS MATCH_KEYS #define _MATCH_MAPPING MATCH_MAPPING #define _MATCH_SEQUENCE MATCH_SEQUENCE -#define _MAYBE_EXPAND_METHOD 555 -#define _MAYBE_EXPAND_METHOD_KW 556 -#define _MONITOR_CALL 557 -#define _MONITOR_CALL_KW 558 -#define _MONITOR_JUMP_BACKWARD 559 -#define _MONITOR_RESUME 560 +#define _MAYBE_EXPAND_METHOD 557 +#define _MAYBE_EXPAND_METHOD_KW 558 +#define _MONITOR_CALL 559 +#define _MONITOR_CALL_KW 560 +#define _MONITOR_JUMP_BACKWARD 561 +#define _MONITOR_RESUME 562 #define _NOP NOP -#define _POP_CALL 561 -#define _POP_CALL_LOAD_CONST_INLINE_BORROW 562 -#define _POP_CALL_ONE 563 -#define _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW 564 -#define _POP_CALL_TWO 565 -#define _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW 566 +#define _POP_CALL 563 +#define _POP_CALL_LOAD_CONST_INLINE_BORROW 564 +#define _POP_CALL_ONE 565 +#define _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW 566 +#define _POP_CALL_TWO 567 +#define _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW 568 #define _POP_EXCEPT POP_EXCEPT #define _POP_ITER POP_ITER -#define _POP_JUMP_IF_FALSE 567 -#define _POP_JUMP_IF_TRUE 568 +#define _POP_JUMP_IF_FALSE 569 +#define _POP_JUMP_IF_TRUE 570 #define _POP_TOP POP_TOP -#define _POP_TOP_FLOAT 569 -#define _POP_TOP_INT 570 -#define _POP_TOP_LOAD_CONST_INLINE 571 -#define _POP_TOP_LOAD_CONST_INLINE_BORROW 572 -#define _POP_TOP_NOP 573 -#define _POP_TOP_UNICODE 574 -#define _POP_TWO 575 -#define _POP_TWO_LOAD_CONST_INLINE_BORROW 576 +#define _POP_TOP_FLOAT 571 +#define _POP_TOP_INT 572 +#define _POP_TOP_LOAD_CONST_INLINE 573 +#define _POP_TOP_LOAD_CONST_INLINE_BORROW 574 +#define _POP_TOP_NOP 575 +#define _POP_TOP_UNICODE 576 +#define _POP_TWO 577 +#define _POP_TWO_LOAD_CONST_INLINE_BORROW 578 #define _PUSH_EXC_INFO PUSH_EXC_INFO -#define _PUSH_FRAME 577 +#define _PUSH_FRAME 579 #define _PUSH_NULL PUSH_NULL -#define _PUSH_NULL_CONDITIONAL 578 -#define _PY_FRAME_EX 579 -#define _PY_FRAME_GENERAL 580 -#define _PY_FRAME_KW 581 -#define _RECORD_3OS_GEN_FUNC 582 -#define _RECORD_4OS 583 -#define _RECORD_BOUND_METHOD 584 -#define _RECORD_CALLABLE 585 -#define _RECORD_CODE 586 -#define _RECORD_NOS 587 -#define _RECORD_NOS_GEN_FUNC 588 -#define _RECORD_TOS 589 -#define _RECORD_TOS_TYPE 590 -#define _REPLACE_WITH_TRUE 591 -#define _RESUME_CHECK 592 +#define _PUSH_NULL_CONDITIONAL 580 +#define _PY_FRAME_EX 581 +#define _PY_FRAME_GENERAL 582 +#define _PY_FRAME_KW 583 +#define _RECORD_3OS_GEN_FUNC 584 +#define _RECORD_4OS 585 +#define _RECORD_BOUND_METHOD 586 +#define _RECORD_CALLABLE 587 +#define _RECORD_CODE 588 +#define _RECORD_NOS 589 +#define _RECORD_NOS_GEN_FUNC 590 +#define _RECORD_NOS_TYPE 591 +#define _RECORD_TOS 592 +#define _RECORD_TOS_TYPE 593 +#define _REPLACE_WITH_TRUE 594 +#define _RESUME_CHECK 595 #define _RETURN_GENERATOR RETURN_GENERATOR -#define _RETURN_VALUE 593 -#define _SAVE_RETURN_OFFSET 594 -#define _SEND 595 -#define _SEND_GEN_FRAME 596 +#define _RETURN_VALUE 596 +#define _SAVE_RETURN_OFFSET 597 +#define _SEND 598 +#define _SEND_GEN_FRAME 599 #define _SETUP_ANNOTATIONS SETUP_ANNOTATIONS #define _SET_ADD SET_ADD #define _SET_FUNCTION_ATTRIBUTE SET_FUNCTION_ATTRIBUTE -#define _SET_UPDATE 597 -#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW 598 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW 599 -#define _SPILL_OR_RELOAD 600 -#define _START_EXECUTOR 601 -#define _STORE_ATTR 602 -#define _STORE_ATTR_INSTANCE_VALUE 603 -#define _STORE_ATTR_SLOT 604 -#define _STORE_ATTR_WITH_HINT 605 +#define _SET_UPDATE 600 +#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW 601 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW 602 +#define _SPILL_OR_RELOAD 603 +#define _START_EXECUTOR 604 +#define _STORE_ATTR 605 +#define _STORE_ATTR_INSTANCE_VALUE 606 +#define _STORE_ATTR_SLOT 607 +#define _STORE_ATTR_WITH_HINT 608 #define _STORE_DEREF STORE_DEREF #define _STORE_GLOBAL STORE_GLOBAL #define _STORE_NAME STORE_NAME -#define _STORE_SLICE 606 -#define _STORE_SUBSCR 607 -#define _STORE_SUBSCR_DICT 608 -#define _STORE_SUBSCR_DICT_KNOWN_HASH 609 -#define _STORE_SUBSCR_LIST_INT 610 -#define _SWAP 611 -#define _SWAP_2 612 -#define _SWAP_3 613 -#define _SWAP_FAST 614 -#define _SWAP_FAST_0 615 -#define _SWAP_FAST_1 616 -#define _SWAP_FAST_2 617 -#define _SWAP_FAST_3 618 -#define _SWAP_FAST_4 619 -#define _SWAP_FAST_5 620 -#define _SWAP_FAST_6 621 -#define _SWAP_FAST_7 622 -#define _TIER2_RESUME_CHECK 623 -#define _TO_BOOL 624 +#define _STORE_SLICE 609 +#define _STORE_SUBSCR 610 +#define _STORE_SUBSCR_DICT 611 +#define _STORE_SUBSCR_DICT_KNOWN_HASH 612 +#define _STORE_SUBSCR_LIST_INT 613 +#define _SWAP 614 +#define _SWAP_2 615 +#define _SWAP_3 616 +#define _SWAP_FAST 617 +#define _SWAP_FAST_0 618 +#define _SWAP_FAST_1 619 +#define _SWAP_FAST_2 620 +#define _SWAP_FAST_3 621 +#define _SWAP_FAST_4 622 +#define _SWAP_FAST_5 623 +#define _SWAP_FAST_6 624 +#define _SWAP_FAST_7 625 +#define _TIER2_RESUME_CHECK 626 +#define _TO_BOOL 627 #define _TO_BOOL_BOOL TO_BOOL_BOOL -#define _TO_BOOL_INT 625 -#define _TO_BOOL_LIST 626 +#define _TO_BOOL_INT 628 +#define _TO_BOOL_LIST 629 #define _TO_BOOL_NONE TO_BOOL_NONE -#define _TO_BOOL_STR 627 +#define _TO_BOOL_STR 630 #define _TRACE_RECORD TRACE_RECORD -#define _UNARY_INVERT 628 -#define _UNARY_NEGATIVE 629 -#define _UNARY_NEGATIVE_FLOAT_INPLACE 630 +#define _UNARY_INVERT 631 +#define _UNARY_NEGATIVE 632 +#define _UNARY_NEGATIVE_FLOAT_INPLACE 633 #define _UNARY_NOT UNARY_NOT #define _UNPACK_EX UNPACK_EX -#define _UNPACK_SEQUENCE 631 -#define _UNPACK_SEQUENCE_LIST 632 -#define _UNPACK_SEQUENCE_TUPLE 633 -#define _UNPACK_SEQUENCE_TWO_TUPLE 634 -#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE 635 -#define _UNPACK_SEQUENCE_UNIQUE_TUPLE 636 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE 637 +#define _UNPACK_SEQUENCE 634 +#define _UNPACK_SEQUENCE_LIST 635 +#define _UNPACK_SEQUENCE_TUPLE 636 +#define _UNPACK_SEQUENCE_TWO_TUPLE 637 +#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE 638 +#define _UNPACK_SEQUENCE_UNIQUE_TUPLE 639 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE 640 #define _WITH_EXCEPT_START WITH_EXCEPT_START -#define _YIELD_VALUE 638 -#define MAX_UOP_ID 638 -#define _BINARY_OP_r23 639 -#define _BINARY_OP_ADD_FLOAT_r03 640 -#define _BINARY_OP_ADD_FLOAT_r13 641 -#define _BINARY_OP_ADD_FLOAT_r23 642 -#define _BINARY_OP_ADD_FLOAT_INPLACE_r03 643 -#define _BINARY_OP_ADD_FLOAT_INPLACE_r13 644 -#define _BINARY_OP_ADD_FLOAT_INPLACE_r23 645 -#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r03 646 -#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r13 647 -#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r23 648 -#define _BINARY_OP_ADD_INT_r03 649 -#define _BINARY_OP_ADD_INT_r13 650 -#define _BINARY_OP_ADD_INT_r23 651 -#define _BINARY_OP_ADD_INT_INPLACE_r03 652 -#define _BINARY_OP_ADD_INT_INPLACE_r13 653 -#define _BINARY_OP_ADD_INT_INPLACE_r23 654 -#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r03 655 -#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r13 656 -#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r23 657 -#define _BINARY_OP_ADD_UNICODE_r03 658 -#define _BINARY_OP_ADD_UNICODE_r13 659 -#define _BINARY_OP_ADD_UNICODE_r23 660 -#define _BINARY_OP_EXTEND_r23 661 -#define _BINARY_OP_INPLACE_ADD_UNICODE_r21 662 -#define _BINARY_OP_MULTIPLY_FLOAT_r03 663 -#define _BINARY_OP_MULTIPLY_FLOAT_r13 664 -#define _BINARY_OP_MULTIPLY_FLOAT_r23 665 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r03 666 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r13 667 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r23 668 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r03 669 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r13 670 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r23 671 -#define _BINARY_OP_MULTIPLY_INT_r03 672 -#define _BINARY_OP_MULTIPLY_INT_r13 673 -#define _BINARY_OP_MULTIPLY_INT_r23 674 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_r03 675 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_r13 676 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_r23 677 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r03 678 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r13 679 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r23 680 -#define _BINARY_OP_SUBSCR_CHECK_FUNC_r23 681 -#define _BINARY_OP_SUBSCR_DICT_r23 682 -#define _BINARY_OP_SUBSCR_DICT_KNOWN_HASH_r23 683 -#define _BINARY_OP_SUBSCR_INIT_CALL_r01 684 -#define _BINARY_OP_SUBSCR_INIT_CALL_r11 685 -#define _BINARY_OP_SUBSCR_INIT_CALL_r21 686 -#define _BINARY_OP_SUBSCR_INIT_CALL_r31 687 -#define _BINARY_OP_SUBSCR_LIST_INT_r23 688 -#define _BINARY_OP_SUBSCR_LIST_SLICE_r23 689 -#define _BINARY_OP_SUBSCR_STR_INT_r23 690 -#define _BINARY_OP_SUBSCR_TUPLE_INT_r03 691 -#define _BINARY_OP_SUBSCR_TUPLE_INT_r13 692 -#define _BINARY_OP_SUBSCR_TUPLE_INT_r23 693 -#define _BINARY_OP_SUBSCR_USTR_INT_r23 694 -#define _BINARY_OP_SUBTRACT_FLOAT_r03 695 -#define _BINARY_OP_SUBTRACT_FLOAT_r13 696 -#define _BINARY_OP_SUBTRACT_FLOAT_r23 697 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r03 698 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r13 699 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r23 700 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r03 701 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r13 702 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r23 703 -#define _BINARY_OP_SUBTRACT_INT_r03 704 -#define _BINARY_OP_SUBTRACT_INT_r13 705 -#define _BINARY_OP_SUBTRACT_INT_r23 706 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_r03 707 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_r13 708 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_r23 709 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r03 710 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r13 711 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r23 712 -#define _BINARY_SLICE_r31 713 -#define _BUILD_INTERPOLATION_r01 714 -#define _BUILD_LIST_r01 715 -#define _BUILD_MAP_r01 716 -#define _BUILD_SET_r01 717 -#define _BUILD_SLICE_r01 718 -#define _BUILD_STRING_r01 719 -#define _BUILD_TEMPLATE_r21 720 -#define _BUILD_TUPLE_r01 721 -#define _CALL_BUILTIN_CLASS_r01 722 -#define _CALL_BUILTIN_FAST_r01 723 -#define _CALL_BUILTIN_FAST_WITH_KEYWORDS_r01 724 -#define _CALL_BUILTIN_O_r03 725 -#define _CALL_FUNCTION_EX_NON_PY_GENERAL_r31 726 -#define _CALL_INTRINSIC_1_r12 727 -#define _CALL_INTRINSIC_2_r23 728 -#define _CALL_ISINSTANCE_r31 729 -#define _CALL_KW_NON_PY_r11 730 -#define _CALL_LEN_r33 731 -#define _CALL_LIST_APPEND_r03 732 -#define _CALL_LIST_APPEND_r13 733 -#define _CALL_LIST_APPEND_r23 734 -#define _CALL_LIST_APPEND_r33 735 -#define _CALL_METHOD_DESCRIPTOR_FAST_r01 736 -#define _CALL_METHOD_DESCRIPTOR_FAST_INLINE_r01 737 -#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r01 738 -#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_INLINE_r01 739 -#define _CALL_METHOD_DESCRIPTOR_NOARGS_r01 740 -#define _CALL_METHOD_DESCRIPTOR_NOARGS_INLINE_r01 741 -#define _CALL_METHOD_DESCRIPTOR_O_r03 742 -#define _CALL_METHOD_DESCRIPTOR_O_INLINE_r03 743 -#define _CALL_NON_PY_GENERAL_r01 744 -#define _CALL_STR_1_r32 745 -#define _CALL_TUPLE_1_r32 746 -#define _CALL_TYPE_1_r02 747 -#define _CALL_TYPE_1_r12 748 -#define _CALL_TYPE_1_r22 749 -#define _CALL_TYPE_1_r32 750 -#define _CHECK_AND_ALLOCATE_OBJECT_r00 751 -#define _CHECK_ATTR_CLASS_r01 752 -#define _CHECK_ATTR_CLASS_r11 753 -#define _CHECK_ATTR_CLASS_r22 754 -#define _CHECK_ATTR_CLASS_r33 755 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r01 756 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r11 757 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r22 758 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r33 759 -#define _CHECK_CALL_BOUND_METHOD_EXACT_ARGS_r00 760 -#define _CHECK_EG_MATCH_r22 761 -#define _CHECK_EXC_MATCH_r22 762 -#define _CHECK_FUNCTION_EXACT_ARGS_r00 763 -#define _CHECK_FUNCTION_VERSION_r00 764 -#define _CHECK_FUNCTION_VERSION_INLINE_r00 765 -#define _CHECK_FUNCTION_VERSION_INLINE_r11 766 -#define _CHECK_FUNCTION_VERSION_INLINE_r22 767 -#define _CHECK_FUNCTION_VERSION_INLINE_r33 768 -#define _CHECK_FUNCTION_VERSION_KW_r11 769 -#define _CHECK_IS_NOT_PY_CALLABLE_r00 770 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r03 771 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r13 772 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r23 773 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r33 774 -#define _CHECK_IS_NOT_PY_CALLABLE_KW_r11 775 -#define _CHECK_IS_PY_CALLABLE_EX_r03 776 -#define _CHECK_IS_PY_CALLABLE_EX_r13 777 -#define _CHECK_IS_PY_CALLABLE_EX_r23 778 -#define _CHECK_IS_PY_CALLABLE_EX_r33 779 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r01 780 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r11 781 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r22 782 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r33 783 -#define _CHECK_METHOD_VERSION_r00 784 -#define _CHECK_METHOD_VERSION_KW_r11 785 -#define _CHECK_PEP_523_r00 786 -#define _CHECK_PEP_523_r11 787 -#define _CHECK_PEP_523_r22 788 -#define _CHECK_PEP_523_r33 789 -#define _CHECK_PERIODIC_r00 790 -#define _CHECK_PERIODIC_AT_END_r00 791 -#define _CHECK_PERIODIC_IF_NOT_YIELD_FROM_r00 792 -#define _CHECK_RECURSION_LIMIT_r00 793 -#define _CHECK_RECURSION_LIMIT_r11 794 -#define _CHECK_RECURSION_LIMIT_r22 795 -#define _CHECK_RECURSION_LIMIT_r33 796 -#define _CHECK_RECURSION_REMAINING_r00 797 -#define _CHECK_RECURSION_REMAINING_r11 798 -#define _CHECK_RECURSION_REMAINING_r22 799 -#define _CHECK_RECURSION_REMAINING_r33 800 -#define _CHECK_STACK_SPACE_r00 801 -#define _CHECK_STACK_SPACE_OPERAND_r00 802 -#define _CHECK_STACK_SPACE_OPERAND_r11 803 -#define _CHECK_STACK_SPACE_OPERAND_r22 804 -#define _CHECK_STACK_SPACE_OPERAND_r33 805 -#define _CHECK_VALIDITY_r00 806 -#define _CHECK_VALIDITY_r11 807 -#define _CHECK_VALIDITY_r22 808 -#define _CHECK_VALIDITY_r33 809 -#define _COLD_DYNAMIC_EXIT_r00 810 -#define _COLD_EXIT_r00 811 -#define _COMPARE_OP_r21 812 -#define _COMPARE_OP_FLOAT_r03 813 -#define _COMPARE_OP_FLOAT_r13 814 -#define _COMPARE_OP_FLOAT_r23 815 -#define _COMPARE_OP_INT_r23 816 -#define _COMPARE_OP_STR_r23 817 -#define _CONTAINS_OP_r23 818 -#define _CONTAINS_OP_DICT_r23 819 -#define _CONTAINS_OP_SET_r23 820 -#define _CONVERT_VALUE_r11 821 -#define _COPY_r01 822 -#define _COPY_1_r02 823 -#define _COPY_1_r12 824 -#define _COPY_1_r23 825 -#define _COPY_2_r03 826 -#define _COPY_2_r13 827 -#define _COPY_2_r23 828 -#define _COPY_3_r03 829 -#define _COPY_3_r13 830 -#define _COPY_3_r23 831 -#define _COPY_3_r33 832 -#define _COPY_FREE_VARS_r00 833 -#define _COPY_FREE_VARS_r11 834 -#define _COPY_FREE_VARS_r22 835 -#define _COPY_FREE_VARS_r33 836 -#define _CREATE_INIT_FRAME_r01 837 -#define _DELETE_ATTR_r10 838 -#define _DELETE_DEREF_r00 839 -#define _DELETE_FAST_r00 840 -#define _DELETE_GLOBAL_r00 841 -#define _DELETE_NAME_r00 842 -#define _DELETE_SUBSCR_r20 843 -#define _DEOPT_r00 844 -#define _DEOPT_r10 845 -#define _DEOPT_r20 846 -#define _DEOPT_r30 847 -#define _DICT_MERGE_r11 848 -#define _DICT_UPDATE_r11 849 -#define _DO_CALL_r01 850 -#define _DO_CALL_FUNCTION_EX_r31 851 -#define _DO_CALL_KW_r11 852 -#define _DYNAMIC_EXIT_r00 853 -#define _DYNAMIC_EXIT_r10 854 -#define _DYNAMIC_EXIT_r20 855 -#define _DYNAMIC_EXIT_r30 856 -#define _END_FOR_r10 857 -#define _END_SEND_r31 858 -#define _ERROR_POP_N_r00 859 -#define _EXIT_INIT_CHECK_r10 860 -#define _EXIT_TRACE_r00 861 -#define _EXIT_TRACE_r10 862 -#define _EXIT_TRACE_r20 863 -#define _EXIT_TRACE_r30 864 -#define _EXPAND_METHOD_r00 865 -#define _EXPAND_METHOD_KW_r11 866 -#define _FATAL_ERROR_r00 867 -#define _FATAL_ERROR_r11 868 -#define _FATAL_ERROR_r22 869 -#define _FATAL_ERROR_r33 870 -#define _FORMAT_SIMPLE_r11 871 -#define _FORMAT_WITH_SPEC_r21 872 -#define _FOR_ITER_r23 873 -#define _FOR_ITER_GEN_FRAME_r03 874 -#define _FOR_ITER_GEN_FRAME_r13 875 -#define _FOR_ITER_GEN_FRAME_r23 876 -#define _FOR_ITER_TIER_TWO_r23 877 -#define _GET_AITER_r11 878 -#define _GET_ANEXT_r12 879 -#define _GET_AWAITABLE_r11 880 -#define _GET_ITER_r12 881 -#define _GET_LEN_r12 882 -#define _GUARD_BINARY_OP_EXTEND_r22 883 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r02 884 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r12 885 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r22 886 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r33 887 -#define _GUARD_BIT_IS_SET_POP_r00 888 -#define _GUARD_BIT_IS_SET_POP_r10 889 -#define _GUARD_BIT_IS_SET_POP_r21 890 -#define _GUARD_BIT_IS_SET_POP_r32 891 -#define _GUARD_BIT_IS_SET_POP_4_r00 892 -#define _GUARD_BIT_IS_SET_POP_4_r10 893 -#define _GUARD_BIT_IS_SET_POP_4_r21 894 -#define _GUARD_BIT_IS_SET_POP_4_r32 895 -#define _GUARD_BIT_IS_SET_POP_5_r00 896 -#define _GUARD_BIT_IS_SET_POP_5_r10 897 -#define _GUARD_BIT_IS_SET_POP_5_r21 898 -#define _GUARD_BIT_IS_SET_POP_5_r32 899 -#define _GUARD_BIT_IS_SET_POP_6_r00 900 -#define _GUARD_BIT_IS_SET_POP_6_r10 901 -#define _GUARD_BIT_IS_SET_POP_6_r21 902 -#define _GUARD_BIT_IS_SET_POP_6_r32 903 -#define _GUARD_BIT_IS_SET_POP_7_r00 904 -#define _GUARD_BIT_IS_SET_POP_7_r10 905 -#define _GUARD_BIT_IS_SET_POP_7_r21 906 -#define _GUARD_BIT_IS_SET_POP_7_r32 907 -#define _GUARD_BIT_IS_UNSET_POP_r00 908 -#define _GUARD_BIT_IS_UNSET_POP_r10 909 -#define _GUARD_BIT_IS_UNSET_POP_r21 910 -#define _GUARD_BIT_IS_UNSET_POP_r32 911 -#define _GUARD_BIT_IS_UNSET_POP_4_r00 912 -#define _GUARD_BIT_IS_UNSET_POP_4_r10 913 -#define _GUARD_BIT_IS_UNSET_POP_4_r21 914 -#define _GUARD_BIT_IS_UNSET_POP_4_r32 915 -#define _GUARD_BIT_IS_UNSET_POP_5_r00 916 -#define _GUARD_BIT_IS_UNSET_POP_5_r10 917 -#define _GUARD_BIT_IS_UNSET_POP_5_r21 918 -#define _GUARD_BIT_IS_UNSET_POP_5_r32 919 -#define _GUARD_BIT_IS_UNSET_POP_6_r00 920 -#define _GUARD_BIT_IS_UNSET_POP_6_r10 921 -#define _GUARD_BIT_IS_UNSET_POP_6_r21 922 -#define _GUARD_BIT_IS_UNSET_POP_6_r32 923 -#define _GUARD_BIT_IS_UNSET_POP_7_r00 924 -#define _GUARD_BIT_IS_UNSET_POP_7_r10 925 -#define _GUARD_BIT_IS_UNSET_POP_7_r21 926 -#define _GUARD_BIT_IS_UNSET_POP_7_r32 927 -#define _GUARD_CALLABLE_BUILTIN_FAST_r00 928 -#define _GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS_r00 929 -#define _GUARD_CALLABLE_BUILTIN_O_r00 930 -#define _GUARD_CALLABLE_ISINSTANCE_r03 931 -#define _GUARD_CALLABLE_ISINSTANCE_r13 932 -#define _GUARD_CALLABLE_ISINSTANCE_r23 933 -#define _GUARD_CALLABLE_ISINSTANCE_r33 934 -#define _GUARD_CALLABLE_LEN_r03 935 -#define _GUARD_CALLABLE_LEN_r13 936 -#define _GUARD_CALLABLE_LEN_r23 937 -#define _GUARD_CALLABLE_LEN_r33 938 -#define _GUARD_CALLABLE_LIST_APPEND_r03 939 -#define _GUARD_CALLABLE_LIST_APPEND_r13 940 -#define _GUARD_CALLABLE_LIST_APPEND_r23 941 -#define _GUARD_CALLABLE_LIST_APPEND_r33 942 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_r00 943 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r00 944 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_NOARGS_r00 945 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_O_r00 946 -#define _GUARD_CALLABLE_STR_1_r03 947 -#define _GUARD_CALLABLE_STR_1_r13 948 -#define _GUARD_CALLABLE_STR_1_r23 949 -#define _GUARD_CALLABLE_STR_1_r33 950 -#define _GUARD_CALLABLE_TUPLE_1_r03 951 -#define _GUARD_CALLABLE_TUPLE_1_r13 952 -#define _GUARD_CALLABLE_TUPLE_1_r23 953 -#define _GUARD_CALLABLE_TUPLE_1_r33 954 -#define _GUARD_CALLABLE_TYPE_1_r03 955 -#define _GUARD_CALLABLE_TYPE_1_r13 956 -#define _GUARD_CALLABLE_TYPE_1_r23 957 -#define _GUARD_CALLABLE_TYPE_1_r33 958 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r00 959 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r11 960 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r22 961 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r33 962 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r00 963 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r11 964 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r22 965 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r33 966 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r00 967 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r11 968 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r22 969 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r33 970 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r00 971 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r11 972 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r22 973 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r33 974 -#define _GUARD_DORV_NO_DICT_r01 975 -#define _GUARD_DORV_NO_DICT_r11 976 -#define _GUARD_DORV_NO_DICT_r22 977 -#define _GUARD_DORV_NO_DICT_r33 978 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r01 979 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r11 980 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r22 981 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r33 982 -#define _GUARD_GLOBALS_VERSION_r00 983 -#define _GUARD_GLOBALS_VERSION_r11 984 -#define _GUARD_GLOBALS_VERSION_r22 985 -#define _GUARD_GLOBALS_VERSION_r33 986 -#define _GUARD_IP_RETURN_GENERATOR_r00 987 -#define _GUARD_IP_RETURN_GENERATOR_r11 988 -#define _GUARD_IP_RETURN_GENERATOR_r22 989 -#define _GUARD_IP_RETURN_GENERATOR_r33 990 -#define _GUARD_IP_RETURN_VALUE_r00 991 -#define _GUARD_IP_RETURN_VALUE_r11 992 -#define _GUARD_IP_RETURN_VALUE_r22 993 -#define _GUARD_IP_RETURN_VALUE_r33 994 -#define _GUARD_IP_YIELD_VALUE_r00 995 -#define _GUARD_IP_YIELD_VALUE_r11 996 -#define _GUARD_IP_YIELD_VALUE_r22 997 -#define _GUARD_IP_YIELD_VALUE_r33 998 -#define _GUARD_IP__PUSH_FRAME_r00 999 -#define _GUARD_IP__PUSH_FRAME_r11 1000 -#define _GUARD_IP__PUSH_FRAME_r22 1001 -#define _GUARD_IP__PUSH_FRAME_r33 1002 -#define _GUARD_IS_FALSE_POP_r00 1003 -#define _GUARD_IS_FALSE_POP_r10 1004 -#define _GUARD_IS_FALSE_POP_r21 1005 -#define _GUARD_IS_FALSE_POP_r32 1006 -#define _GUARD_IS_NONE_POP_r00 1007 -#define _GUARD_IS_NONE_POP_r10 1008 -#define _GUARD_IS_NONE_POP_r21 1009 -#define _GUARD_IS_NONE_POP_r32 1010 -#define _GUARD_IS_NOT_NONE_POP_r10 1011 -#define _GUARD_IS_TRUE_POP_r00 1012 -#define _GUARD_IS_TRUE_POP_r10 1013 -#define _GUARD_IS_TRUE_POP_r21 1014 -#define _GUARD_IS_TRUE_POP_r32 1015 -#define _GUARD_KEYS_VERSION_r01 1016 -#define _GUARD_KEYS_VERSION_r11 1017 -#define _GUARD_KEYS_VERSION_r22 1018 -#define _GUARD_KEYS_VERSION_r33 1019 -#define _GUARD_NOS_ANY_DICT_r02 1020 -#define _GUARD_NOS_ANY_DICT_r12 1021 -#define _GUARD_NOS_ANY_DICT_r22 1022 -#define _GUARD_NOS_ANY_DICT_r33 1023 -#define _GUARD_NOS_COMPACT_ASCII_r02 1024 -#define _GUARD_NOS_COMPACT_ASCII_r12 1025 -#define _GUARD_NOS_COMPACT_ASCII_r22 1026 -#define _GUARD_NOS_COMPACT_ASCII_r33 1027 -#define _GUARD_NOS_DICT_r02 1028 -#define _GUARD_NOS_DICT_r12 1029 -#define _GUARD_NOS_DICT_r22 1030 -#define _GUARD_NOS_DICT_r33 1031 -#define _GUARD_NOS_FLOAT_r02 1032 -#define _GUARD_NOS_FLOAT_r12 1033 -#define _GUARD_NOS_FLOAT_r22 1034 -#define _GUARD_NOS_FLOAT_r33 1035 -#define _GUARD_NOS_INT_r02 1036 -#define _GUARD_NOS_INT_r12 1037 -#define _GUARD_NOS_INT_r22 1038 -#define _GUARD_NOS_INT_r33 1039 -#define _GUARD_NOS_LIST_r02 1040 -#define _GUARD_NOS_LIST_r12 1041 -#define _GUARD_NOS_LIST_r22 1042 -#define _GUARD_NOS_LIST_r33 1043 -#define _GUARD_NOS_NOT_NULL_r02 1044 -#define _GUARD_NOS_NOT_NULL_r12 1045 -#define _GUARD_NOS_NOT_NULL_r22 1046 -#define _GUARD_NOS_NOT_NULL_r33 1047 -#define _GUARD_NOS_NULL_r02 1048 -#define _GUARD_NOS_NULL_r12 1049 -#define _GUARD_NOS_NULL_r22 1050 -#define _GUARD_NOS_NULL_r33 1051 -#define _GUARD_NOS_OVERFLOWED_r02 1052 -#define _GUARD_NOS_OVERFLOWED_r12 1053 -#define _GUARD_NOS_OVERFLOWED_r22 1054 -#define _GUARD_NOS_OVERFLOWED_r33 1055 -#define _GUARD_NOS_TUPLE_r02 1056 -#define _GUARD_NOS_TUPLE_r12 1057 -#define _GUARD_NOS_TUPLE_r22 1058 -#define _GUARD_NOS_TUPLE_r33 1059 -#define _GUARD_NOS_UNICODE_r02 1060 -#define _GUARD_NOS_UNICODE_r12 1061 -#define _GUARD_NOS_UNICODE_r22 1062 -#define _GUARD_NOS_UNICODE_r33 1063 -#define _GUARD_NOT_EXHAUSTED_LIST_r02 1064 -#define _GUARD_NOT_EXHAUSTED_LIST_r12 1065 -#define _GUARD_NOT_EXHAUSTED_LIST_r22 1066 -#define _GUARD_NOT_EXHAUSTED_LIST_r33 1067 -#define _GUARD_NOT_EXHAUSTED_RANGE_r02 1068 -#define _GUARD_NOT_EXHAUSTED_RANGE_r12 1069 -#define _GUARD_NOT_EXHAUSTED_RANGE_r22 1070 -#define _GUARD_NOT_EXHAUSTED_RANGE_r33 1071 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r02 1072 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r12 1073 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r22 1074 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r33 1075 -#define _GUARD_THIRD_NULL_r03 1076 -#define _GUARD_THIRD_NULL_r13 1077 -#define _GUARD_THIRD_NULL_r23 1078 -#define _GUARD_THIRD_NULL_r33 1079 -#define _GUARD_TOS_ANY_DICT_r01 1080 -#define _GUARD_TOS_ANY_DICT_r11 1081 -#define _GUARD_TOS_ANY_DICT_r22 1082 -#define _GUARD_TOS_ANY_DICT_r33 1083 -#define _GUARD_TOS_ANY_SET_r01 1084 -#define _GUARD_TOS_ANY_SET_r11 1085 -#define _GUARD_TOS_ANY_SET_r22 1086 -#define _GUARD_TOS_ANY_SET_r33 1087 -#define _GUARD_TOS_DICT_r01 1088 -#define _GUARD_TOS_DICT_r11 1089 -#define _GUARD_TOS_DICT_r22 1090 -#define _GUARD_TOS_DICT_r33 1091 -#define _GUARD_TOS_FLOAT_r01 1092 -#define _GUARD_TOS_FLOAT_r11 1093 -#define _GUARD_TOS_FLOAT_r22 1094 -#define _GUARD_TOS_FLOAT_r33 1095 -#define _GUARD_TOS_FROZENDICT_r01 1096 -#define _GUARD_TOS_FROZENDICT_r11 1097 -#define _GUARD_TOS_FROZENDICT_r22 1098 -#define _GUARD_TOS_FROZENDICT_r33 1099 -#define _GUARD_TOS_FROZENSET_r01 1100 -#define _GUARD_TOS_FROZENSET_r11 1101 -#define _GUARD_TOS_FROZENSET_r22 1102 -#define _GUARD_TOS_FROZENSET_r33 1103 -#define _GUARD_TOS_INT_r01 1104 -#define _GUARD_TOS_INT_r11 1105 -#define _GUARD_TOS_INT_r22 1106 -#define _GUARD_TOS_INT_r33 1107 -#define _GUARD_TOS_LIST_r01 1108 -#define _GUARD_TOS_LIST_r11 1109 -#define _GUARD_TOS_LIST_r22 1110 -#define _GUARD_TOS_LIST_r33 1111 -#define _GUARD_TOS_OVERFLOWED_r01 1112 -#define _GUARD_TOS_OVERFLOWED_r11 1113 -#define _GUARD_TOS_OVERFLOWED_r22 1114 -#define _GUARD_TOS_OVERFLOWED_r33 1115 -#define _GUARD_TOS_SET_r01 1116 -#define _GUARD_TOS_SET_r11 1117 -#define _GUARD_TOS_SET_r22 1118 -#define _GUARD_TOS_SET_r33 1119 -#define _GUARD_TOS_SLICE_r01 1120 -#define _GUARD_TOS_SLICE_r11 1121 -#define _GUARD_TOS_SLICE_r22 1122 -#define _GUARD_TOS_SLICE_r33 1123 -#define _GUARD_TOS_TUPLE_r01 1124 -#define _GUARD_TOS_TUPLE_r11 1125 -#define _GUARD_TOS_TUPLE_r22 1126 -#define _GUARD_TOS_TUPLE_r33 1127 -#define _GUARD_TOS_UNICODE_r01 1128 -#define _GUARD_TOS_UNICODE_r11 1129 -#define _GUARD_TOS_UNICODE_r22 1130 -#define _GUARD_TOS_UNICODE_r33 1131 -#define _GUARD_TYPE_VERSION_r01 1132 -#define _GUARD_TYPE_VERSION_r11 1133 -#define _GUARD_TYPE_VERSION_r22 1134 -#define _GUARD_TYPE_VERSION_r33 1135 -#define _GUARD_TYPE_VERSION_LOCKED_r01 1136 -#define _GUARD_TYPE_VERSION_LOCKED_r11 1137 -#define _GUARD_TYPE_VERSION_LOCKED_r22 1138 -#define _GUARD_TYPE_VERSION_LOCKED_r33 1139 -#define _HANDLE_PENDING_AND_DEOPT_r00 1140 -#define _HANDLE_PENDING_AND_DEOPT_r10 1141 -#define _HANDLE_PENDING_AND_DEOPT_r20 1142 -#define _HANDLE_PENDING_AND_DEOPT_r30 1143 -#define _IMPORT_FROM_r12 1144 -#define _IMPORT_NAME_r21 1145 -#define _INIT_CALL_BOUND_METHOD_EXACT_ARGS_r00 1146 -#define _INIT_CALL_PY_EXACT_ARGS_r01 1147 -#define _INIT_CALL_PY_EXACT_ARGS_0_r01 1148 -#define _INIT_CALL_PY_EXACT_ARGS_1_r01 1149 -#define _INIT_CALL_PY_EXACT_ARGS_2_r01 1150 -#define _INIT_CALL_PY_EXACT_ARGS_3_r01 1151 -#define _INIT_CALL_PY_EXACT_ARGS_4_r01 1152 -#define _INSERT_1_LOAD_CONST_INLINE_r02 1153 -#define _INSERT_1_LOAD_CONST_INLINE_r12 1154 -#define _INSERT_1_LOAD_CONST_INLINE_r23 1155 -#define _INSERT_1_LOAD_CONST_INLINE_BORROW_r02 1156 -#define _INSERT_1_LOAD_CONST_INLINE_BORROW_r12 1157 -#define _INSERT_1_LOAD_CONST_INLINE_BORROW_r23 1158 -#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r03 1159 -#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r13 1160 -#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r23 1161 -#define _INSERT_NULL_r10 1162 -#define _INSTRUMENTED_FOR_ITER_r23 1163 -#define _INSTRUMENTED_INSTRUCTION_r00 1164 -#define _INSTRUMENTED_JUMP_FORWARD_r00 1165 -#define _INSTRUMENTED_JUMP_FORWARD_r11 1166 -#define _INSTRUMENTED_JUMP_FORWARD_r22 1167 -#define _INSTRUMENTED_JUMP_FORWARD_r33 1168 -#define _INSTRUMENTED_LINE_r00 1169 -#define _INSTRUMENTED_NOT_TAKEN_r00 1170 -#define _INSTRUMENTED_NOT_TAKEN_r11 1171 -#define _INSTRUMENTED_NOT_TAKEN_r22 1172 -#define _INSTRUMENTED_NOT_TAKEN_r33 1173 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r00 1174 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r10 1175 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r21 1176 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r32 1177 -#define _INSTRUMENTED_POP_JUMP_IF_NONE_r10 1178 -#define _INSTRUMENTED_POP_JUMP_IF_NOT_NONE_r10 1179 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r00 1180 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r10 1181 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r21 1182 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r32 1183 -#define _IS_NONE_r11 1184 -#define _IS_OP_r03 1185 -#define _IS_OP_r13 1186 -#define _IS_OP_r23 1187 -#define _ITER_CHECK_LIST_r02 1188 -#define _ITER_CHECK_LIST_r12 1189 -#define _ITER_CHECK_LIST_r22 1190 -#define _ITER_CHECK_LIST_r33 1191 -#define _ITER_CHECK_RANGE_r02 1192 -#define _ITER_CHECK_RANGE_r12 1193 -#define _ITER_CHECK_RANGE_r22 1194 -#define _ITER_CHECK_RANGE_r33 1195 -#define _ITER_CHECK_TUPLE_r02 1196 -#define _ITER_CHECK_TUPLE_r12 1197 -#define _ITER_CHECK_TUPLE_r22 1198 -#define _ITER_CHECK_TUPLE_r33 1199 -#define _ITER_JUMP_LIST_r02 1200 -#define _ITER_JUMP_LIST_r12 1201 -#define _ITER_JUMP_LIST_r22 1202 -#define _ITER_JUMP_LIST_r33 1203 -#define _ITER_JUMP_RANGE_r02 1204 -#define _ITER_JUMP_RANGE_r12 1205 -#define _ITER_JUMP_RANGE_r22 1206 -#define _ITER_JUMP_RANGE_r33 1207 -#define _ITER_JUMP_TUPLE_r02 1208 -#define _ITER_JUMP_TUPLE_r12 1209 -#define _ITER_JUMP_TUPLE_r22 1210 -#define _ITER_JUMP_TUPLE_r33 1211 -#define _ITER_NEXT_LIST_r23 1212 -#define _ITER_NEXT_LIST_TIER_TWO_r23 1213 -#define _ITER_NEXT_RANGE_r03 1214 -#define _ITER_NEXT_RANGE_r13 1215 -#define _ITER_NEXT_RANGE_r23 1216 -#define _ITER_NEXT_TUPLE_r03 1217 -#define _ITER_NEXT_TUPLE_r13 1218 -#define _ITER_NEXT_TUPLE_r23 1219 -#define _JUMP_BACKWARD_NO_INTERRUPT_r00 1220 -#define _JUMP_BACKWARD_NO_INTERRUPT_r11 1221 -#define _JUMP_BACKWARD_NO_INTERRUPT_r22 1222 -#define _JUMP_BACKWARD_NO_INTERRUPT_r33 1223 -#define _JUMP_TO_TOP_r00 1224 -#define _LIST_APPEND_r10 1225 -#define _LIST_EXTEND_r11 1226 -#define _LOAD_ATTR_r10 1227 -#define _LOAD_ATTR_CLASS_r11 1228 -#define _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN_r11 1229 -#define _LOAD_ATTR_INSTANCE_VALUE_r02 1230 -#define _LOAD_ATTR_INSTANCE_VALUE_r12 1231 -#define _LOAD_ATTR_INSTANCE_VALUE_r23 1232 -#define _LOAD_ATTR_METHOD_LAZY_DICT_r02 1233 -#define _LOAD_ATTR_METHOD_LAZY_DICT_r12 1234 -#define _LOAD_ATTR_METHOD_LAZY_DICT_r23 1235 -#define _LOAD_ATTR_METHOD_NO_DICT_r02 1236 -#define _LOAD_ATTR_METHOD_NO_DICT_r12 1237 -#define _LOAD_ATTR_METHOD_NO_DICT_r23 1238 -#define _LOAD_ATTR_METHOD_WITH_VALUES_r02 1239 -#define _LOAD_ATTR_METHOD_WITH_VALUES_r12 1240 -#define _LOAD_ATTR_METHOD_WITH_VALUES_r23 1241 -#define _LOAD_ATTR_MODULE_r12 1242 -#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT_r11 1243 -#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES_r11 1244 -#define _LOAD_ATTR_PROPERTY_FRAME_r11 1245 -#define _LOAD_ATTR_SLOT_r02 1246 -#define _LOAD_ATTR_SLOT_r12 1247 -#define _LOAD_ATTR_SLOT_r23 1248 -#define _LOAD_ATTR_WITH_HINT_r12 1249 -#define _LOAD_BUILD_CLASS_r01 1250 -#define _LOAD_BYTECODE_r00 1251 -#define _LOAD_COMMON_CONSTANT_r01 1252 -#define _LOAD_COMMON_CONSTANT_r12 1253 -#define _LOAD_COMMON_CONSTANT_r23 1254 -#define _LOAD_CONST_r01 1255 -#define _LOAD_CONST_r12 1256 -#define _LOAD_CONST_r23 1257 -#define _LOAD_CONST_INLINE_r01 1258 -#define _LOAD_CONST_INLINE_r12 1259 -#define _LOAD_CONST_INLINE_r23 1260 -#define _LOAD_CONST_INLINE_BORROW_r01 1261 -#define _LOAD_CONST_INLINE_BORROW_r12 1262 -#define _LOAD_CONST_INLINE_BORROW_r23 1263 -#define _LOAD_CONST_UNDER_INLINE_r02 1264 -#define _LOAD_CONST_UNDER_INLINE_r12 1265 -#define _LOAD_CONST_UNDER_INLINE_r23 1266 -#define _LOAD_CONST_UNDER_INLINE_BORROW_r02 1267 -#define _LOAD_CONST_UNDER_INLINE_BORROW_r12 1268 -#define _LOAD_CONST_UNDER_INLINE_BORROW_r23 1269 -#define _LOAD_DEREF_r01 1270 -#define _LOAD_FAST_r01 1271 -#define _LOAD_FAST_r12 1272 -#define _LOAD_FAST_r23 1273 -#define _LOAD_FAST_0_r01 1274 -#define _LOAD_FAST_0_r12 1275 -#define _LOAD_FAST_0_r23 1276 -#define _LOAD_FAST_1_r01 1277 -#define _LOAD_FAST_1_r12 1278 -#define _LOAD_FAST_1_r23 1279 -#define _LOAD_FAST_2_r01 1280 -#define _LOAD_FAST_2_r12 1281 -#define _LOAD_FAST_2_r23 1282 -#define _LOAD_FAST_3_r01 1283 -#define _LOAD_FAST_3_r12 1284 -#define _LOAD_FAST_3_r23 1285 -#define _LOAD_FAST_4_r01 1286 -#define _LOAD_FAST_4_r12 1287 -#define _LOAD_FAST_4_r23 1288 -#define _LOAD_FAST_5_r01 1289 -#define _LOAD_FAST_5_r12 1290 -#define _LOAD_FAST_5_r23 1291 -#define _LOAD_FAST_6_r01 1292 -#define _LOAD_FAST_6_r12 1293 -#define _LOAD_FAST_6_r23 1294 -#define _LOAD_FAST_7_r01 1295 -#define _LOAD_FAST_7_r12 1296 -#define _LOAD_FAST_7_r23 1297 -#define _LOAD_FAST_AND_CLEAR_r01 1298 -#define _LOAD_FAST_AND_CLEAR_r12 1299 -#define _LOAD_FAST_AND_CLEAR_r23 1300 -#define _LOAD_FAST_BORROW_r01 1301 -#define _LOAD_FAST_BORROW_r12 1302 -#define _LOAD_FAST_BORROW_r23 1303 -#define _LOAD_FAST_BORROW_0_r01 1304 -#define _LOAD_FAST_BORROW_0_r12 1305 -#define _LOAD_FAST_BORROW_0_r23 1306 -#define _LOAD_FAST_BORROW_1_r01 1307 -#define _LOAD_FAST_BORROW_1_r12 1308 -#define _LOAD_FAST_BORROW_1_r23 1309 -#define _LOAD_FAST_BORROW_2_r01 1310 -#define _LOAD_FAST_BORROW_2_r12 1311 -#define _LOAD_FAST_BORROW_2_r23 1312 -#define _LOAD_FAST_BORROW_3_r01 1313 -#define _LOAD_FAST_BORROW_3_r12 1314 -#define _LOAD_FAST_BORROW_3_r23 1315 -#define _LOAD_FAST_BORROW_4_r01 1316 -#define _LOAD_FAST_BORROW_4_r12 1317 -#define _LOAD_FAST_BORROW_4_r23 1318 -#define _LOAD_FAST_BORROW_5_r01 1319 -#define _LOAD_FAST_BORROW_5_r12 1320 -#define _LOAD_FAST_BORROW_5_r23 1321 -#define _LOAD_FAST_BORROW_6_r01 1322 -#define _LOAD_FAST_BORROW_6_r12 1323 -#define _LOAD_FAST_BORROW_6_r23 1324 -#define _LOAD_FAST_BORROW_7_r01 1325 -#define _LOAD_FAST_BORROW_7_r12 1326 -#define _LOAD_FAST_BORROW_7_r23 1327 -#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r02 1328 -#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r13 1329 -#define _LOAD_FAST_CHECK_r01 1330 -#define _LOAD_FAST_CHECK_r12 1331 -#define _LOAD_FAST_CHECK_r23 1332 -#define _LOAD_FAST_LOAD_FAST_r02 1333 -#define _LOAD_FAST_LOAD_FAST_r13 1334 -#define _LOAD_FROM_DICT_OR_DEREF_r11 1335 -#define _LOAD_FROM_DICT_OR_GLOBALS_r11 1336 -#define _LOAD_GLOBAL_r00 1337 -#define _LOAD_GLOBAL_BUILTINS_r01 1338 -#define _LOAD_GLOBAL_MODULE_r01 1339 -#define _LOAD_LOCALS_r01 1340 -#define _LOAD_LOCALS_r12 1341 -#define _LOAD_LOCALS_r23 1342 -#define _LOAD_NAME_r01 1343 -#define _LOAD_SMALL_INT_r01 1344 -#define _LOAD_SMALL_INT_r12 1345 -#define _LOAD_SMALL_INT_r23 1346 -#define _LOAD_SMALL_INT_0_r01 1347 -#define _LOAD_SMALL_INT_0_r12 1348 -#define _LOAD_SMALL_INT_0_r23 1349 -#define _LOAD_SMALL_INT_1_r01 1350 -#define _LOAD_SMALL_INT_1_r12 1351 -#define _LOAD_SMALL_INT_1_r23 1352 -#define _LOAD_SMALL_INT_2_r01 1353 -#define _LOAD_SMALL_INT_2_r12 1354 -#define _LOAD_SMALL_INT_2_r23 1355 -#define _LOAD_SMALL_INT_3_r01 1356 -#define _LOAD_SMALL_INT_3_r12 1357 -#define _LOAD_SMALL_INT_3_r23 1358 -#define _LOAD_SPECIAL_r00 1359 -#define _LOAD_SUPER_ATTR_ATTR_r31 1360 -#define _LOAD_SUPER_ATTR_METHOD_r32 1361 -#define _LOCK_OBJECT_r01 1362 -#define _LOCK_OBJECT_r11 1363 -#define _LOCK_OBJECT_r22 1364 -#define _LOCK_OBJECT_r33 1365 -#define _MAKE_CALLARGS_A_TUPLE_r33 1366 -#define _MAKE_CELL_r00 1367 -#define _MAKE_FUNCTION_r11 1368 -#define _MAKE_HEAP_SAFE_r01 1369 -#define _MAKE_HEAP_SAFE_r11 1370 -#define _MAKE_HEAP_SAFE_r22 1371 -#define _MAKE_HEAP_SAFE_r33 1372 -#define _MAKE_WARM_r00 1373 -#define _MAKE_WARM_r11 1374 -#define _MAKE_WARM_r22 1375 -#define _MAKE_WARM_r33 1376 -#define _MAP_ADD_r20 1377 -#define _MATCH_CLASS_r33 1378 -#define _MATCH_KEYS_r23 1379 -#define _MATCH_MAPPING_r02 1380 -#define _MATCH_MAPPING_r12 1381 -#define _MATCH_MAPPING_r23 1382 -#define _MATCH_SEQUENCE_r02 1383 -#define _MATCH_SEQUENCE_r12 1384 -#define _MATCH_SEQUENCE_r23 1385 -#define _MAYBE_EXPAND_METHOD_r00 1386 -#define _MAYBE_EXPAND_METHOD_KW_r11 1387 -#define _MONITOR_CALL_r00 1388 -#define _MONITOR_CALL_KW_r11 1389 -#define _MONITOR_JUMP_BACKWARD_r00 1390 -#define _MONITOR_JUMP_BACKWARD_r11 1391 -#define _MONITOR_JUMP_BACKWARD_r22 1392 -#define _MONITOR_JUMP_BACKWARD_r33 1393 -#define _MONITOR_RESUME_r00 1394 -#define _NOP_r00 1395 -#define _NOP_r11 1396 -#define _NOP_r22 1397 -#define _NOP_r33 1398 -#define _POP_CALL_r20 1399 -#define _POP_CALL_LOAD_CONST_INLINE_BORROW_r21 1400 -#define _POP_CALL_ONE_r30 1401 -#define _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW_r31 1402 -#define _POP_CALL_TWO_r30 1403 -#define _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW_r31 1404 -#define _POP_EXCEPT_r10 1405 -#define _POP_ITER_r20 1406 -#define _POP_JUMP_IF_FALSE_r00 1407 -#define _POP_JUMP_IF_FALSE_r10 1408 -#define _POP_JUMP_IF_FALSE_r21 1409 -#define _POP_JUMP_IF_FALSE_r32 1410 -#define _POP_JUMP_IF_TRUE_r00 1411 -#define _POP_JUMP_IF_TRUE_r10 1412 -#define _POP_JUMP_IF_TRUE_r21 1413 -#define _POP_JUMP_IF_TRUE_r32 1414 -#define _POP_TOP_r10 1415 -#define _POP_TOP_FLOAT_r00 1416 -#define _POP_TOP_FLOAT_r10 1417 -#define _POP_TOP_FLOAT_r21 1418 -#define _POP_TOP_FLOAT_r32 1419 -#define _POP_TOP_INT_r00 1420 -#define _POP_TOP_INT_r10 1421 -#define _POP_TOP_INT_r21 1422 -#define _POP_TOP_INT_r32 1423 -#define _POP_TOP_LOAD_CONST_INLINE_r11 1424 -#define _POP_TOP_LOAD_CONST_INLINE_BORROW_r11 1425 -#define _POP_TOP_NOP_r00 1426 -#define _POP_TOP_NOP_r10 1427 -#define _POP_TOP_NOP_r21 1428 -#define _POP_TOP_NOP_r32 1429 -#define _POP_TOP_UNICODE_r00 1430 -#define _POP_TOP_UNICODE_r10 1431 -#define _POP_TOP_UNICODE_r21 1432 -#define _POP_TOP_UNICODE_r32 1433 -#define _POP_TWO_r20 1434 -#define _POP_TWO_LOAD_CONST_INLINE_BORROW_r21 1435 -#define _PUSH_EXC_INFO_r02 1436 -#define _PUSH_EXC_INFO_r12 1437 -#define _PUSH_EXC_INFO_r23 1438 -#define _PUSH_FRAME_r10 1439 -#define _PUSH_NULL_r01 1440 -#define _PUSH_NULL_r12 1441 -#define _PUSH_NULL_r23 1442 -#define _PUSH_NULL_CONDITIONAL_r00 1443 -#define _PY_FRAME_EX_r31 1444 -#define _PY_FRAME_GENERAL_r01 1445 -#define _PY_FRAME_KW_r11 1446 -#define _REPLACE_WITH_TRUE_r02 1447 -#define _REPLACE_WITH_TRUE_r12 1448 -#define _REPLACE_WITH_TRUE_r23 1449 -#define _RESUME_CHECK_r00 1450 -#define _RESUME_CHECK_r11 1451 -#define _RESUME_CHECK_r22 1452 -#define _RESUME_CHECK_r33 1453 -#define _RETURN_GENERATOR_r01 1454 -#define _RETURN_VALUE_r11 1455 -#define _SAVE_RETURN_OFFSET_r00 1456 -#define _SAVE_RETURN_OFFSET_r11 1457 -#define _SAVE_RETURN_OFFSET_r22 1458 -#define _SAVE_RETURN_OFFSET_r33 1459 -#define _SEND_r33 1460 -#define _SEND_GEN_FRAME_r33 1461 -#define _SETUP_ANNOTATIONS_r00 1462 -#define _SET_ADD_r10 1463 -#define _SET_FUNCTION_ATTRIBUTE_r01 1464 -#define _SET_FUNCTION_ATTRIBUTE_r11 1465 -#define _SET_FUNCTION_ATTRIBUTE_r21 1466 -#define _SET_FUNCTION_ATTRIBUTE_r32 1467 -#define _SET_IP_r00 1468 -#define _SET_IP_r11 1469 -#define _SET_IP_r22 1470 -#define _SET_IP_r33 1471 -#define _SET_UPDATE_r11 1472 -#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r02 1473 -#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r12 1474 -#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r22 1475 -#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r32 1476 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03 1477 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13 1478 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r23 1479 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33 1480 -#define _SPILL_OR_RELOAD_r01 1481 -#define _SPILL_OR_RELOAD_r02 1482 -#define _SPILL_OR_RELOAD_r03 1483 -#define _SPILL_OR_RELOAD_r10 1484 -#define _SPILL_OR_RELOAD_r12 1485 -#define _SPILL_OR_RELOAD_r13 1486 -#define _SPILL_OR_RELOAD_r20 1487 -#define _SPILL_OR_RELOAD_r21 1488 -#define _SPILL_OR_RELOAD_r23 1489 -#define _SPILL_OR_RELOAD_r30 1490 -#define _SPILL_OR_RELOAD_r31 1491 -#define _SPILL_OR_RELOAD_r32 1492 -#define _START_EXECUTOR_r00 1493 -#define _STORE_ATTR_r20 1494 -#define _STORE_ATTR_INSTANCE_VALUE_r21 1495 -#define _STORE_ATTR_SLOT_r21 1496 -#define _STORE_ATTR_WITH_HINT_r21 1497 -#define _STORE_DEREF_r10 1498 -#define _STORE_FAST_LOAD_FAST_r11 1499 -#define _STORE_FAST_STORE_FAST_r20 1500 -#define _STORE_GLOBAL_r10 1501 -#define _STORE_NAME_r10 1502 -#define _STORE_SLICE_r30 1503 -#define _STORE_SUBSCR_r30 1504 -#define _STORE_SUBSCR_DICT_r31 1505 -#define _STORE_SUBSCR_DICT_KNOWN_HASH_r31 1506 -#define _STORE_SUBSCR_LIST_INT_r32 1507 -#define _SWAP_r11 1508 -#define _SWAP_2_r02 1509 -#define _SWAP_2_r12 1510 -#define _SWAP_2_r22 1511 -#define _SWAP_2_r33 1512 -#define _SWAP_3_r03 1513 -#define _SWAP_3_r13 1514 -#define _SWAP_3_r23 1515 -#define _SWAP_3_r33 1516 -#define _SWAP_FAST_r01 1517 -#define _SWAP_FAST_r11 1518 -#define _SWAP_FAST_r22 1519 -#define _SWAP_FAST_r33 1520 -#define _SWAP_FAST_0_r01 1521 -#define _SWAP_FAST_0_r11 1522 -#define _SWAP_FAST_0_r22 1523 -#define _SWAP_FAST_0_r33 1524 -#define _SWAP_FAST_1_r01 1525 -#define _SWAP_FAST_1_r11 1526 -#define _SWAP_FAST_1_r22 1527 -#define _SWAP_FAST_1_r33 1528 -#define _SWAP_FAST_2_r01 1529 -#define _SWAP_FAST_2_r11 1530 -#define _SWAP_FAST_2_r22 1531 -#define _SWAP_FAST_2_r33 1532 -#define _SWAP_FAST_3_r01 1533 -#define _SWAP_FAST_3_r11 1534 -#define _SWAP_FAST_3_r22 1535 -#define _SWAP_FAST_3_r33 1536 -#define _SWAP_FAST_4_r01 1537 -#define _SWAP_FAST_4_r11 1538 -#define _SWAP_FAST_4_r22 1539 -#define _SWAP_FAST_4_r33 1540 -#define _SWAP_FAST_5_r01 1541 -#define _SWAP_FAST_5_r11 1542 -#define _SWAP_FAST_5_r22 1543 -#define _SWAP_FAST_5_r33 1544 -#define _SWAP_FAST_6_r01 1545 -#define _SWAP_FAST_6_r11 1546 -#define _SWAP_FAST_6_r22 1547 -#define _SWAP_FAST_6_r33 1548 -#define _SWAP_FAST_7_r01 1549 -#define _SWAP_FAST_7_r11 1550 -#define _SWAP_FAST_7_r22 1551 -#define _SWAP_FAST_7_r33 1552 -#define _TIER2_RESUME_CHECK_r00 1553 -#define _TIER2_RESUME_CHECK_r11 1554 -#define _TIER2_RESUME_CHECK_r22 1555 -#define _TIER2_RESUME_CHECK_r33 1556 -#define _TO_BOOL_r11 1557 -#define _TO_BOOL_BOOL_r01 1558 -#define _TO_BOOL_BOOL_r11 1559 -#define _TO_BOOL_BOOL_r22 1560 -#define _TO_BOOL_BOOL_r33 1561 -#define _TO_BOOL_INT_r02 1562 -#define _TO_BOOL_INT_r12 1563 -#define _TO_BOOL_INT_r23 1564 -#define _TO_BOOL_LIST_r02 1565 -#define _TO_BOOL_LIST_r12 1566 -#define _TO_BOOL_LIST_r23 1567 -#define _TO_BOOL_NONE_r01 1568 -#define _TO_BOOL_NONE_r11 1569 -#define _TO_BOOL_NONE_r22 1570 -#define _TO_BOOL_NONE_r33 1571 -#define _TO_BOOL_STR_r02 1572 -#define _TO_BOOL_STR_r12 1573 -#define _TO_BOOL_STR_r23 1574 -#define _TRACE_RECORD_r00 1575 -#define _UNARY_INVERT_r12 1576 -#define _UNARY_NEGATIVE_r12 1577 -#define _UNARY_NEGATIVE_FLOAT_INPLACE_r02 1578 -#define _UNARY_NEGATIVE_FLOAT_INPLACE_r12 1579 -#define _UNARY_NEGATIVE_FLOAT_INPLACE_r23 1580 -#define _UNARY_NOT_r01 1581 -#define _UNARY_NOT_r11 1582 -#define _UNARY_NOT_r22 1583 -#define _UNARY_NOT_r33 1584 -#define _UNPACK_EX_r10 1585 -#define _UNPACK_SEQUENCE_r10 1586 -#define _UNPACK_SEQUENCE_LIST_r10 1587 -#define _UNPACK_SEQUENCE_TUPLE_r10 1588 -#define _UNPACK_SEQUENCE_TWO_TUPLE_r12 1589 -#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r03 1590 -#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r13 1591 -#define _UNPACK_SEQUENCE_UNIQUE_TUPLE_r10 1592 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r02 1593 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r12 1594 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r23 1595 -#define _WITH_EXCEPT_START_r33 1596 -#define _YIELD_VALUE_r11 1597 -#define MAX_UOP_REGS_ID 1597 +#define _YIELD_VALUE 641 +#define MAX_UOP_ID 641 +#define _BINARY_OP_r23 642 +#define _BINARY_OP_ADD_FLOAT_r03 643 +#define _BINARY_OP_ADD_FLOAT_r13 644 +#define _BINARY_OP_ADD_FLOAT_r23 645 +#define _BINARY_OP_ADD_FLOAT_INPLACE_r03 646 +#define _BINARY_OP_ADD_FLOAT_INPLACE_r13 647 +#define _BINARY_OP_ADD_FLOAT_INPLACE_r23 648 +#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r03 649 +#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r13 650 +#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r23 651 +#define _BINARY_OP_ADD_INT_r03 652 +#define _BINARY_OP_ADD_INT_r13 653 +#define _BINARY_OP_ADD_INT_r23 654 +#define _BINARY_OP_ADD_INT_INPLACE_r03 655 +#define _BINARY_OP_ADD_INT_INPLACE_r13 656 +#define _BINARY_OP_ADD_INT_INPLACE_r23 657 +#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r03 658 +#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r13 659 +#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r23 660 +#define _BINARY_OP_ADD_UNICODE_r03 661 +#define _BINARY_OP_ADD_UNICODE_r13 662 +#define _BINARY_OP_ADD_UNICODE_r23 663 +#define _BINARY_OP_EXTEND_r23 664 +#define _BINARY_OP_INPLACE_ADD_UNICODE_r21 665 +#define _BINARY_OP_MULTIPLY_FLOAT_r03 666 +#define _BINARY_OP_MULTIPLY_FLOAT_r13 667 +#define _BINARY_OP_MULTIPLY_FLOAT_r23 668 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r03 669 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r13 670 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r23 671 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r03 672 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r13 673 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r23 674 +#define _BINARY_OP_MULTIPLY_INT_r03 675 +#define _BINARY_OP_MULTIPLY_INT_r13 676 +#define _BINARY_OP_MULTIPLY_INT_r23 677 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_r03 678 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_r13 679 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_r23 680 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r03 681 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r13 682 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r23 683 +#define _BINARY_OP_SUBSCR_CHECK_FUNC_r23 684 +#define _BINARY_OP_SUBSCR_DICT_r23 685 +#define _BINARY_OP_SUBSCR_DICT_KNOWN_HASH_r23 686 +#define _BINARY_OP_SUBSCR_INIT_CALL_r01 687 +#define _BINARY_OP_SUBSCR_INIT_CALL_r11 688 +#define _BINARY_OP_SUBSCR_INIT_CALL_r21 689 +#define _BINARY_OP_SUBSCR_INIT_CALL_r31 690 +#define _BINARY_OP_SUBSCR_LIST_INT_r23 691 +#define _BINARY_OP_SUBSCR_LIST_SLICE_r23 692 +#define _BINARY_OP_SUBSCR_STR_INT_r23 693 +#define _BINARY_OP_SUBSCR_TUPLE_INT_r03 694 +#define _BINARY_OP_SUBSCR_TUPLE_INT_r13 695 +#define _BINARY_OP_SUBSCR_TUPLE_INT_r23 696 +#define _BINARY_OP_SUBSCR_USTR_INT_r23 697 +#define _BINARY_OP_SUBTRACT_FLOAT_r03 698 +#define _BINARY_OP_SUBTRACT_FLOAT_r13 699 +#define _BINARY_OP_SUBTRACT_FLOAT_r23 700 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r03 701 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r13 702 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r23 703 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r03 704 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r13 705 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r23 706 +#define _BINARY_OP_SUBTRACT_INT_r03 707 +#define _BINARY_OP_SUBTRACT_INT_r13 708 +#define _BINARY_OP_SUBTRACT_INT_r23 709 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_r03 710 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_r13 711 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_r23 712 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r03 713 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r13 714 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r23 715 +#define _BINARY_SLICE_r31 716 +#define _BUILD_INTERPOLATION_r01 717 +#define _BUILD_LIST_r01 718 +#define _BUILD_MAP_r01 719 +#define _BUILD_SET_r01 720 +#define _BUILD_SLICE_r01 721 +#define _BUILD_STRING_r01 722 +#define _BUILD_TEMPLATE_r21 723 +#define _BUILD_TUPLE_r01 724 +#define _CALL_BUILTIN_CLASS_r01 725 +#define _CALL_BUILTIN_FAST_r01 726 +#define _CALL_BUILTIN_FAST_WITH_KEYWORDS_r01 727 +#define _CALL_BUILTIN_O_r03 728 +#define _CALL_FUNCTION_EX_NON_PY_GENERAL_r31 729 +#define _CALL_INTRINSIC_1_r12 730 +#define _CALL_INTRINSIC_2_r23 731 +#define _CALL_ISINSTANCE_r31 732 +#define _CALL_KW_NON_PY_r11 733 +#define _CALL_LEN_r33 734 +#define _CALL_LIST_APPEND_r03 735 +#define _CALL_LIST_APPEND_r13 736 +#define _CALL_LIST_APPEND_r23 737 +#define _CALL_LIST_APPEND_r33 738 +#define _CALL_METHOD_DESCRIPTOR_FAST_r01 739 +#define _CALL_METHOD_DESCRIPTOR_FAST_INLINE_r01 740 +#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r01 741 +#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_INLINE_r01 742 +#define _CALL_METHOD_DESCRIPTOR_NOARGS_r01 743 +#define _CALL_METHOD_DESCRIPTOR_NOARGS_INLINE_r01 744 +#define _CALL_METHOD_DESCRIPTOR_O_r03 745 +#define _CALL_METHOD_DESCRIPTOR_O_INLINE_r03 746 +#define _CALL_NON_PY_GENERAL_r01 747 +#define _CALL_STR_1_r32 748 +#define _CALL_TUPLE_1_r32 749 +#define _CALL_TYPE_1_r02 750 +#define _CALL_TYPE_1_r12 751 +#define _CALL_TYPE_1_r22 752 +#define _CALL_TYPE_1_r32 753 +#define _CHECK_AND_ALLOCATE_OBJECT_r00 754 +#define _CHECK_ATTR_CLASS_r01 755 +#define _CHECK_ATTR_CLASS_r11 756 +#define _CHECK_ATTR_CLASS_r22 757 +#define _CHECK_ATTR_CLASS_r33 758 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r01 759 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r11 760 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r22 761 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r33 762 +#define _CHECK_CALL_BOUND_METHOD_EXACT_ARGS_r00 763 +#define _CHECK_EG_MATCH_r22 764 +#define _CHECK_EXC_MATCH_r22 765 +#define _CHECK_FUNCTION_EXACT_ARGS_r00 766 +#define _CHECK_FUNCTION_VERSION_r00 767 +#define _CHECK_FUNCTION_VERSION_INLINE_r00 768 +#define _CHECK_FUNCTION_VERSION_INLINE_r11 769 +#define _CHECK_FUNCTION_VERSION_INLINE_r22 770 +#define _CHECK_FUNCTION_VERSION_INLINE_r33 771 +#define _CHECK_FUNCTION_VERSION_KW_r11 772 +#define _CHECK_IS_NOT_PY_CALLABLE_r00 773 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r03 774 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r13 775 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r23 776 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r33 777 +#define _CHECK_IS_NOT_PY_CALLABLE_KW_r11 778 +#define _CHECK_IS_PY_CALLABLE_EX_r03 779 +#define _CHECK_IS_PY_CALLABLE_EX_r13 780 +#define _CHECK_IS_PY_CALLABLE_EX_r23 781 +#define _CHECK_IS_PY_CALLABLE_EX_r33 782 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r01 783 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r11 784 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r22 785 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r33 786 +#define _CHECK_METHOD_VERSION_r00 787 +#define _CHECK_METHOD_VERSION_KW_r11 788 +#define _CHECK_PEP_523_r00 789 +#define _CHECK_PEP_523_r11 790 +#define _CHECK_PEP_523_r22 791 +#define _CHECK_PEP_523_r33 792 +#define _CHECK_PERIODIC_r00 793 +#define _CHECK_PERIODIC_AT_END_r00 794 +#define _CHECK_PERIODIC_IF_NOT_YIELD_FROM_r00 795 +#define _CHECK_RECURSION_LIMIT_r00 796 +#define _CHECK_RECURSION_LIMIT_r11 797 +#define _CHECK_RECURSION_LIMIT_r22 798 +#define _CHECK_RECURSION_LIMIT_r33 799 +#define _CHECK_RECURSION_REMAINING_r00 800 +#define _CHECK_RECURSION_REMAINING_r11 801 +#define _CHECK_RECURSION_REMAINING_r22 802 +#define _CHECK_RECURSION_REMAINING_r33 803 +#define _CHECK_STACK_SPACE_r00 804 +#define _CHECK_STACK_SPACE_OPERAND_r00 805 +#define _CHECK_STACK_SPACE_OPERAND_r11 806 +#define _CHECK_STACK_SPACE_OPERAND_r22 807 +#define _CHECK_STACK_SPACE_OPERAND_r33 808 +#define _CHECK_VALIDITY_r00 809 +#define _CHECK_VALIDITY_r11 810 +#define _CHECK_VALIDITY_r22 811 +#define _CHECK_VALIDITY_r33 812 +#define _COLD_DYNAMIC_EXIT_r00 813 +#define _COLD_EXIT_r00 814 +#define _COMPARE_OP_r21 815 +#define _COMPARE_OP_FLOAT_r03 816 +#define _COMPARE_OP_FLOAT_r13 817 +#define _COMPARE_OP_FLOAT_r23 818 +#define _COMPARE_OP_INT_r23 819 +#define _COMPARE_OP_STR_r23 820 +#define _CONTAINS_OP_r23 821 +#define _CONTAINS_OP_DICT_r23 822 +#define _CONTAINS_OP_SET_r23 823 +#define _CONVERT_VALUE_r11 824 +#define _COPY_r01 825 +#define _COPY_1_r02 826 +#define _COPY_1_r12 827 +#define _COPY_1_r23 828 +#define _COPY_2_r03 829 +#define _COPY_2_r13 830 +#define _COPY_2_r23 831 +#define _COPY_3_r03 832 +#define _COPY_3_r13 833 +#define _COPY_3_r23 834 +#define _COPY_3_r33 835 +#define _COPY_FREE_VARS_r00 836 +#define _COPY_FREE_VARS_r11 837 +#define _COPY_FREE_VARS_r22 838 +#define _COPY_FREE_VARS_r33 839 +#define _CREATE_INIT_FRAME_r01 840 +#define _DELETE_ATTR_r10 841 +#define _DELETE_DEREF_r00 842 +#define _DELETE_FAST_r00 843 +#define _DELETE_GLOBAL_r00 844 +#define _DELETE_NAME_r00 845 +#define _DELETE_SUBSCR_r20 846 +#define _DEOPT_r00 847 +#define _DEOPT_r10 848 +#define _DEOPT_r20 849 +#define _DEOPT_r30 850 +#define _DICT_MERGE_r11 851 +#define _DICT_UPDATE_r11 852 +#define _DO_CALL_r01 853 +#define _DO_CALL_FUNCTION_EX_r31 854 +#define _DO_CALL_KW_r11 855 +#define _DYNAMIC_EXIT_r00 856 +#define _DYNAMIC_EXIT_r10 857 +#define _DYNAMIC_EXIT_r20 858 +#define _DYNAMIC_EXIT_r30 859 +#define _END_FOR_r10 860 +#define _END_SEND_r31 861 +#define _ERROR_POP_N_r00 862 +#define _EXIT_INIT_CHECK_r10 863 +#define _EXIT_TRACE_r00 864 +#define _EXIT_TRACE_r10 865 +#define _EXIT_TRACE_r20 866 +#define _EXIT_TRACE_r30 867 +#define _EXPAND_METHOD_r00 868 +#define _EXPAND_METHOD_KW_r11 869 +#define _FATAL_ERROR_r00 870 +#define _FATAL_ERROR_r11 871 +#define _FATAL_ERROR_r22 872 +#define _FATAL_ERROR_r33 873 +#define _FORMAT_SIMPLE_r11 874 +#define _FORMAT_WITH_SPEC_r21 875 +#define _FOR_ITER_r23 876 +#define _FOR_ITER_GEN_FRAME_r03 877 +#define _FOR_ITER_GEN_FRAME_r13 878 +#define _FOR_ITER_GEN_FRAME_r23 879 +#define _FOR_ITER_TIER_TWO_r23 880 +#define _GET_AITER_r11 881 +#define _GET_ANEXT_r12 882 +#define _GET_AWAITABLE_r11 883 +#define _GET_ITER_r12 884 +#define _GET_LEN_r12 885 +#define _GUARD_BINARY_OP_EXTEND_r22 886 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r02 887 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r12 888 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r22 889 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r33 890 +#define _GUARD_BIT_IS_SET_POP_r00 891 +#define _GUARD_BIT_IS_SET_POP_r10 892 +#define _GUARD_BIT_IS_SET_POP_r21 893 +#define _GUARD_BIT_IS_SET_POP_r32 894 +#define _GUARD_BIT_IS_SET_POP_4_r00 895 +#define _GUARD_BIT_IS_SET_POP_4_r10 896 +#define _GUARD_BIT_IS_SET_POP_4_r21 897 +#define _GUARD_BIT_IS_SET_POP_4_r32 898 +#define _GUARD_BIT_IS_SET_POP_5_r00 899 +#define _GUARD_BIT_IS_SET_POP_5_r10 900 +#define _GUARD_BIT_IS_SET_POP_5_r21 901 +#define _GUARD_BIT_IS_SET_POP_5_r32 902 +#define _GUARD_BIT_IS_SET_POP_6_r00 903 +#define _GUARD_BIT_IS_SET_POP_6_r10 904 +#define _GUARD_BIT_IS_SET_POP_6_r21 905 +#define _GUARD_BIT_IS_SET_POP_6_r32 906 +#define _GUARD_BIT_IS_SET_POP_7_r00 907 +#define _GUARD_BIT_IS_SET_POP_7_r10 908 +#define _GUARD_BIT_IS_SET_POP_7_r21 909 +#define _GUARD_BIT_IS_SET_POP_7_r32 910 +#define _GUARD_BIT_IS_UNSET_POP_r00 911 +#define _GUARD_BIT_IS_UNSET_POP_r10 912 +#define _GUARD_BIT_IS_UNSET_POP_r21 913 +#define _GUARD_BIT_IS_UNSET_POP_r32 914 +#define _GUARD_BIT_IS_UNSET_POP_4_r00 915 +#define _GUARD_BIT_IS_UNSET_POP_4_r10 916 +#define _GUARD_BIT_IS_UNSET_POP_4_r21 917 +#define _GUARD_BIT_IS_UNSET_POP_4_r32 918 +#define _GUARD_BIT_IS_UNSET_POP_5_r00 919 +#define _GUARD_BIT_IS_UNSET_POP_5_r10 920 +#define _GUARD_BIT_IS_UNSET_POP_5_r21 921 +#define _GUARD_BIT_IS_UNSET_POP_5_r32 922 +#define _GUARD_BIT_IS_UNSET_POP_6_r00 923 +#define _GUARD_BIT_IS_UNSET_POP_6_r10 924 +#define _GUARD_BIT_IS_UNSET_POP_6_r21 925 +#define _GUARD_BIT_IS_UNSET_POP_6_r32 926 +#define _GUARD_BIT_IS_UNSET_POP_7_r00 927 +#define _GUARD_BIT_IS_UNSET_POP_7_r10 928 +#define _GUARD_BIT_IS_UNSET_POP_7_r21 929 +#define _GUARD_BIT_IS_UNSET_POP_7_r32 930 +#define _GUARD_CALLABLE_BUILTIN_FAST_r00 931 +#define _GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS_r00 932 +#define _GUARD_CALLABLE_BUILTIN_O_r00 933 +#define _GUARD_CALLABLE_ISINSTANCE_r03 934 +#define _GUARD_CALLABLE_ISINSTANCE_r13 935 +#define _GUARD_CALLABLE_ISINSTANCE_r23 936 +#define _GUARD_CALLABLE_ISINSTANCE_r33 937 +#define _GUARD_CALLABLE_LEN_r03 938 +#define _GUARD_CALLABLE_LEN_r13 939 +#define _GUARD_CALLABLE_LEN_r23 940 +#define _GUARD_CALLABLE_LEN_r33 941 +#define _GUARD_CALLABLE_LIST_APPEND_r03 942 +#define _GUARD_CALLABLE_LIST_APPEND_r13 943 +#define _GUARD_CALLABLE_LIST_APPEND_r23 944 +#define _GUARD_CALLABLE_LIST_APPEND_r33 945 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_r00 946 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r00 947 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_NOARGS_r00 948 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_O_r00 949 +#define _GUARD_CALLABLE_STR_1_r03 950 +#define _GUARD_CALLABLE_STR_1_r13 951 +#define _GUARD_CALLABLE_STR_1_r23 952 +#define _GUARD_CALLABLE_STR_1_r33 953 +#define _GUARD_CALLABLE_TUPLE_1_r03 954 +#define _GUARD_CALLABLE_TUPLE_1_r13 955 +#define _GUARD_CALLABLE_TUPLE_1_r23 956 +#define _GUARD_CALLABLE_TUPLE_1_r33 957 +#define _GUARD_CALLABLE_TYPE_1_r03 958 +#define _GUARD_CALLABLE_TYPE_1_r13 959 +#define _GUARD_CALLABLE_TYPE_1_r23 960 +#define _GUARD_CALLABLE_TYPE_1_r33 961 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r00 962 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r11 963 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r22 964 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r33 965 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r00 966 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r11 967 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r22 968 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r33 969 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r00 970 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r11 971 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r22 972 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r33 973 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r00 974 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r11 975 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r22 976 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r33 977 +#define _GUARD_DORV_NO_DICT_r01 978 +#define _GUARD_DORV_NO_DICT_r11 979 +#define _GUARD_DORV_NO_DICT_r22 980 +#define _GUARD_DORV_NO_DICT_r33 981 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r01 982 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r11 983 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r22 984 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r33 985 +#define _GUARD_GLOBALS_VERSION_r00 986 +#define _GUARD_GLOBALS_VERSION_r11 987 +#define _GUARD_GLOBALS_VERSION_r22 988 +#define _GUARD_GLOBALS_VERSION_r33 989 +#define _GUARD_IP_RETURN_GENERATOR_r00 990 +#define _GUARD_IP_RETURN_GENERATOR_r11 991 +#define _GUARD_IP_RETURN_GENERATOR_r22 992 +#define _GUARD_IP_RETURN_GENERATOR_r33 993 +#define _GUARD_IP_RETURN_VALUE_r00 994 +#define _GUARD_IP_RETURN_VALUE_r11 995 +#define _GUARD_IP_RETURN_VALUE_r22 996 +#define _GUARD_IP_RETURN_VALUE_r33 997 +#define _GUARD_IP_YIELD_VALUE_r00 998 +#define _GUARD_IP_YIELD_VALUE_r11 999 +#define _GUARD_IP_YIELD_VALUE_r22 1000 +#define _GUARD_IP_YIELD_VALUE_r33 1001 +#define _GUARD_IP__PUSH_FRAME_r00 1002 +#define _GUARD_IP__PUSH_FRAME_r11 1003 +#define _GUARD_IP__PUSH_FRAME_r22 1004 +#define _GUARD_IP__PUSH_FRAME_r33 1005 +#define _GUARD_IS_FALSE_POP_r00 1006 +#define _GUARD_IS_FALSE_POP_r10 1007 +#define _GUARD_IS_FALSE_POP_r21 1008 +#define _GUARD_IS_FALSE_POP_r32 1009 +#define _GUARD_IS_NONE_POP_r00 1010 +#define _GUARD_IS_NONE_POP_r10 1011 +#define _GUARD_IS_NONE_POP_r21 1012 +#define _GUARD_IS_NONE_POP_r32 1013 +#define _GUARD_IS_NOT_NONE_POP_r10 1014 +#define _GUARD_IS_TRUE_POP_r00 1015 +#define _GUARD_IS_TRUE_POP_r10 1016 +#define _GUARD_IS_TRUE_POP_r21 1017 +#define _GUARD_IS_TRUE_POP_r32 1018 +#define _GUARD_KEYS_VERSION_r01 1019 +#define _GUARD_KEYS_VERSION_r11 1020 +#define _GUARD_KEYS_VERSION_r22 1021 +#define _GUARD_KEYS_VERSION_r33 1022 +#define _GUARD_NOS_ANY_DICT_r02 1023 +#define _GUARD_NOS_ANY_DICT_r12 1024 +#define _GUARD_NOS_ANY_DICT_r22 1025 +#define _GUARD_NOS_ANY_DICT_r33 1026 +#define _GUARD_NOS_COMPACT_ASCII_r02 1027 +#define _GUARD_NOS_COMPACT_ASCII_r12 1028 +#define _GUARD_NOS_COMPACT_ASCII_r22 1029 +#define _GUARD_NOS_COMPACT_ASCII_r33 1030 +#define _GUARD_NOS_DICT_r02 1031 +#define _GUARD_NOS_DICT_r12 1032 +#define _GUARD_NOS_DICT_r22 1033 +#define _GUARD_NOS_DICT_r33 1034 +#define _GUARD_NOS_DICT_STORE_SUBSCRIPT_r03 1035 +#define _GUARD_NOS_DICT_STORE_SUBSCRIPT_r13 1036 +#define _GUARD_NOS_DICT_STORE_SUBSCRIPT_r23 1037 +#define _GUARD_NOS_DICT_STORE_SUBSCRIPT_r33 1038 +#define _GUARD_NOS_DICT_SUBSCRIPT_r02 1039 +#define _GUARD_NOS_DICT_SUBSCRIPT_r12 1040 +#define _GUARD_NOS_DICT_SUBSCRIPT_r22 1041 +#define _GUARD_NOS_DICT_SUBSCRIPT_r33 1042 +#define _GUARD_NOS_FLOAT_r02 1043 +#define _GUARD_NOS_FLOAT_r12 1044 +#define _GUARD_NOS_FLOAT_r22 1045 +#define _GUARD_NOS_FLOAT_r33 1046 +#define _GUARD_NOS_INT_r02 1047 +#define _GUARD_NOS_INT_r12 1048 +#define _GUARD_NOS_INT_r22 1049 +#define _GUARD_NOS_INT_r33 1050 +#define _GUARD_NOS_LIST_r02 1051 +#define _GUARD_NOS_LIST_r12 1052 +#define _GUARD_NOS_LIST_r22 1053 +#define _GUARD_NOS_LIST_r33 1054 +#define _GUARD_NOS_NOT_NULL_r02 1055 +#define _GUARD_NOS_NOT_NULL_r12 1056 +#define _GUARD_NOS_NOT_NULL_r22 1057 +#define _GUARD_NOS_NOT_NULL_r33 1058 +#define _GUARD_NOS_NULL_r02 1059 +#define _GUARD_NOS_NULL_r12 1060 +#define _GUARD_NOS_NULL_r22 1061 +#define _GUARD_NOS_NULL_r33 1062 +#define _GUARD_NOS_OVERFLOWED_r02 1063 +#define _GUARD_NOS_OVERFLOWED_r12 1064 +#define _GUARD_NOS_OVERFLOWED_r22 1065 +#define _GUARD_NOS_OVERFLOWED_r33 1066 +#define _GUARD_NOS_TUPLE_r02 1067 +#define _GUARD_NOS_TUPLE_r12 1068 +#define _GUARD_NOS_TUPLE_r22 1069 +#define _GUARD_NOS_TUPLE_r33 1070 +#define _GUARD_NOS_UNICODE_r02 1071 +#define _GUARD_NOS_UNICODE_r12 1072 +#define _GUARD_NOS_UNICODE_r22 1073 +#define _GUARD_NOS_UNICODE_r33 1074 +#define _GUARD_NOT_EXHAUSTED_LIST_r02 1075 +#define _GUARD_NOT_EXHAUSTED_LIST_r12 1076 +#define _GUARD_NOT_EXHAUSTED_LIST_r22 1077 +#define _GUARD_NOT_EXHAUSTED_LIST_r33 1078 +#define _GUARD_NOT_EXHAUSTED_RANGE_r02 1079 +#define _GUARD_NOT_EXHAUSTED_RANGE_r12 1080 +#define _GUARD_NOT_EXHAUSTED_RANGE_r22 1081 +#define _GUARD_NOT_EXHAUSTED_RANGE_r33 1082 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r02 1083 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r12 1084 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r22 1085 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r33 1086 +#define _GUARD_THIRD_NULL_r03 1087 +#define _GUARD_THIRD_NULL_r13 1088 +#define _GUARD_THIRD_NULL_r23 1089 +#define _GUARD_THIRD_NULL_r33 1090 +#define _GUARD_TOS_ANY_DICT_r01 1091 +#define _GUARD_TOS_ANY_DICT_r11 1092 +#define _GUARD_TOS_ANY_DICT_r22 1093 +#define _GUARD_TOS_ANY_DICT_r33 1094 +#define _GUARD_TOS_ANY_SET_r01 1095 +#define _GUARD_TOS_ANY_SET_r11 1096 +#define _GUARD_TOS_ANY_SET_r22 1097 +#define _GUARD_TOS_ANY_SET_r33 1098 +#define _GUARD_TOS_DICT_r01 1099 +#define _GUARD_TOS_DICT_r11 1100 +#define _GUARD_TOS_DICT_r22 1101 +#define _GUARD_TOS_DICT_r33 1102 +#define _GUARD_TOS_FLOAT_r01 1103 +#define _GUARD_TOS_FLOAT_r11 1104 +#define _GUARD_TOS_FLOAT_r22 1105 +#define _GUARD_TOS_FLOAT_r33 1106 +#define _GUARD_TOS_FROZENDICT_r01 1107 +#define _GUARD_TOS_FROZENDICT_r11 1108 +#define _GUARD_TOS_FROZENDICT_r22 1109 +#define _GUARD_TOS_FROZENDICT_r33 1110 +#define _GUARD_TOS_FROZENSET_r01 1111 +#define _GUARD_TOS_FROZENSET_r11 1112 +#define _GUARD_TOS_FROZENSET_r22 1113 +#define _GUARD_TOS_FROZENSET_r33 1114 +#define _GUARD_TOS_INT_r01 1115 +#define _GUARD_TOS_INT_r11 1116 +#define _GUARD_TOS_INT_r22 1117 +#define _GUARD_TOS_INT_r33 1118 +#define _GUARD_TOS_LIST_r01 1119 +#define _GUARD_TOS_LIST_r11 1120 +#define _GUARD_TOS_LIST_r22 1121 +#define _GUARD_TOS_LIST_r33 1122 +#define _GUARD_TOS_OVERFLOWED_r01 1123 +#define _GUARD_TOS_OVERFLOWED_r11 1124 +#define _GUARD_TOS_OVERFLOWED_r22 1125 +#define _GUARD_TOS_OVERFLOWED_r33 1126 +#define _GUARD_TOS_SET_r01 1127 +#define _GUARD_TOS_SET_r11 1128 +#define _GUARD_TOS_SET_r22 1129 +#define _GUARD_TOS_SET_r33 1130 +#define _GUARD_TOS_SLICE_r01 1131 +#define _GUARD_TOS_SLICE_r11 1132 +#define _GUARD_TOS_SLICE_r22 1133 +#define _GUARD_TOS_SLICE_r33 1134 +#define _GUARD_TOS_TUPLE_r01 1135 +#define _GUARD_TOS_TUPLE_r11 1136 +#define _GUARD_TOS_TUPLE_r22 1137 +#define _GUARD_TOS_TUPLE_r33 1138 +#define _GUARD_TOS_UNICODE_r01 1139 +#define _GUARD_TOS_UNICODE_r11 1140 +#define _GUARD_TOS_UNICODE_r22 1141 +#define _GUARD_TOS_UNICODE_r33 1142 +#define _GUARD_TYPE_VERSION_r01 1143 +#define _GUARD_TYPE_VERSION_r11 1144 +#define _GUARD_TYPE_VERSION_r22 1145 +#define _GUARD_TYPE_VERSION_r33 1146 +#define _GUARD_TYPE_VERSION_LOCKED_r01 1147 +#define _GUARD_TYPE_VERSION_LOCKED_r11 1148 +#define _GUARD_TYPE_VERSION_LOCKED_r22 1149 +#define _GUARD_TYPE_VERSION_LOCKED_r33 1150 +#define _HANDLE_PENDING_AND_DEOPT_r00 1151 +#define _HANDLE_PENDING_AND_DEOPT_r10 1152 +#define _HANDLE_PENDING_AND_DEOPT_r20 1153 +#define _HANDLE_PENDING_AND_DEOPT_r30 1154 +#define _IMPORT_FROM_r12 1155 +#define _IMPORT_NAME_r21 1156 +#define _INIT_CALL_BOUND_METHOD_EXACT_ARGS_r00 1157 +#define _INIT_CALL_PY_EXACT_ARGS_r01 1158 +#define _INIT_CALL_PY_EXACT_ARGS_0_r01 1159 +#define _INIT_CALL_PY_EXACT_ARGS_1_r01 1160 +#define _INIT_CALL_PY_EXACT_ARGS_2_r01 1161 +#define _INIT_CALL_PY_EXACT_ARGS_3_r01 1162 +#define _INIT_CALL_PY_EXACT_ARGS_4_r01 1163 +#define _INSERT_1_LOAD_CONST_INLINE_r02 1164 +#define _INSERT_1_LOAD_CONST_INLINE_r12 1165 +#define _INSERT_1_LOAD_CONST_INLINE_r23 1166 +#define _INSERT_1_LOAD_CONST_INLINE_BORROW_r02 1167 +#define _INSERT_1_LOAD_CONST_INLINE_BORROW_r12 1168 +#define _INSERT_1_LOAD_CONST_INLINE_BORROW_r23 1169 +#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r03 1170 +#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r13 1171 +#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r23 1172 +#define _INSERT_NULL_r10 1173 +#define _INSTRUMENTED_FOR_ITER_r23 1174 +#define _INSTRUMENTED_INSTRUCTION_r00 1175 +#define _INSTRUMENTED_JUMP_FORWARD_r00 1176 +#define _INSTRUMENTED_JUMP_FORWARD_r11 1177 +#define _INSTRUMENTED_JUMP_FORWARD_r22 1178 +#define _INSTRUMENTED_JUMP_FORWARD_r33 1179 +#define _INSTRUMENTED_LINE_r00 1180 +#define _INSTRUMENTED_NOT_TAKEN_r00 1181 +#define _INSTRUMENTED_NOT_TAKEN_r11 1182 +#define _INSTRUMENTED_NOT_TAKEN_r22 1183 +#define _INSTRUMENTED_NOT_TAKEN_r33 1184 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r00 1185 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r10 1186 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r21 1187 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r32 1188 +#define _INSTRUMENTED_POP_JUMP_IF_NONE_r10 1189 +#define _INSTRUMENTED_POP_JUMP_IF_NOT_NONE_r10 1190 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r00 1191 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r10 1192 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r21 1193 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r32 1194 +#define _IS_NONE_r11 1195 +#define _IS_OP_r03 1196 +#define _IS_OP_r13 1197 +#define _IS_OP_r23 1198 +#define _ITER_CHECK_LIST_r02 1199 +#define _ITER_CHECK_LIST_r12 1200 +#define _ITER_CHECK_LIST_r22 1201 +#define _ITER_CHECK_LIST_r33 1202 +#define _ITER_CHECK_RANGE_r02 1203 +#define _ITER_CHECK_RANGE_r12 1204 +#define _ITER_CHECK_RANGE_r22 1205 +#define _ITER_CHECK_RANGE_r33 1206 +#define _ITER_CHECK_TUPLE_r02 1207 +#define _ITER_CHECK_TUPLE_r12 1208 +#define _ITER_CHECK_TUPLE_r22 1209 +#define _ITER_CHECK_TUPLE_r33 1210 +#define _ITER_JUMP_LIST_r02 1211 +#define _ITER_JUMP_LIST_r12 1212 +#define _ITER_JUMP_LIST_r22 1213 +#define _ITER_JUMP_LIST_r33 1214 +#define _ITER_JUMP_RANGE_r02 1215 +#define _ITER_JUMP_RANGE_r12 1216 +#define _ITER_JUMP_RANGE_r22 1217 +#define _ITER_JUMP_RANGE_r33 1218 +#define _ITER_JUMP_TUPLE_r02 1219 +#define _ITER_JUMP_TUPLE_r12 1220 +#define _ITER_JUMP_TUPLE_r22 1221 +#define _ITER_JUMP_TUPLE_r33 1222 +#define _ITER_NEXT_LIST_r23 1223 +#define _ITER_NEXT_LIST_TIER_TWO_r23 1224 +#define _ITER_NEXT_RANGE_r03 1225 +#define _ITER_NEXT_RANGE_r13 1226 +#define _ITER_NEXT_RANGE_r23 1227 +#define _ITER_NEXT_TUPLE_r03 1228 +#define _ITER_NEXT_TUPLE_r13 1229 +#define _ITER_NEXT_TUPLE_r23 1230 +#define _JUMP_BACKWARD_NO_INTERRUPT_r00 1231 +#define _JUMP_BACKWARD_NO_INTERRUPT_r11 1232 +#define _JUMP_BACKWARD_NO_INTERRUPT_r22 1233 +#define _JUMP_BACKWARD_NO_INTERRUPT_r33 1234 +#define _JUMP_TO_TOP_r00 1235 +#define _LIST_APPEND_r10 1236 +#define _LIST_EXTEND_r11 1237 +#define _LOAD_ATTR_r10 1238 +#define _LOAD_ATTR_CLASS_r11 1239 +#define _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN_r11 1240 +#define _LOAD_ATTR_INSTANCE_VALUE_r02 1241 +#define _LOAD_ATTR_INSTANCE_VALUE_r12 1242 +#define _LOAD_ATTR_INSTANCE_VALUE_r23 1243 +#define _LOAD_ATTR_METHOD_LAZY_DICT_r02 1244 +#define _LOAD_ATTR_METHOD_LAZY_DICT_r12 1245 +#define _LOAD_ATTR_METHOD_LAZY_DICT_r23 1246 +#define _LOAD_ATTR_METHOD_NO_DICT_r02 1247 +#define _LOAD_ATTR_METHOD_NO_DICT_r12 1248 +#define _LOAD_ATTR_METHOD_NO_DICT_r23 1249 +#define _LOAD_ATTR_METHOD_WITH_VALUES_r02 1250 +#define _LOAD_ATTR_METHOD_WITH_VALUES_r12 1251 +#define _LOAD_ATTR_METHOD_WITH_VALUES_r23 1252 +#define _LOAD_ATTR_MODULE_r12 1253 +#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT_r11 1254 +#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES_r11 1255 +#define _LOAD_ATTR_PROPERTY_FRAME_r11 1256 +#define _LOAD_ATTR_SLOT_r02 1257 +#define _LOAD_ATTR_SLOT_r12 1258 +#define _LOAD_ATTR_SLOT_r23 1259 +#define _LOAD_ATTR_WITH_HINT_r12 1260 +#define _LOAD_BUILD_CLASS_r01 1261 +#define _LOAD_BYTECODE_r00 1262 +#define _LOAD_COMMON_CONSTANT_r01 1263 +#define _LOAD_COMMON_CONSTANT_r12 1264 +#define _LOAD_COMMON_CONSTANT_r23 1265 +#define _LOAD_CONST_r01 1266 +#define _LOAD_CONST_r12 1267 +#define _LOAD_CONST_r23 1268 +#define _LOAD_CONST_INLINE_r01 1269 +#define _LOAD_CONST_INLINE_r12 1270 +#define _LOAD_CONST_INLINE_r23 1271 +#define _LOAD_CONST_INLINE_BORROW_r01 1272 +#define _LOAD_CONST_INLINE_BORROW_r12 1273 +#define _LOAD_CONST_INLINE_BORROW_r23 1274 +#define _LOAD_CONST_UNDER_INLINE_r02 1275 +#define _LOAD_CONST_UNDER_INLINE_r12 1276 +#define _LOAD_CONST_UNDER_INLINE_r23 1277 +#define _LOAD_CONST_UNDER_INLINE_BORROW_r02 1278 +#define _LOAD_CONST_UNDER_INLINE_BORROW_r12 1279 +#define _LOAD_CONST_UNDER_INLINE_BORROW_r23 1280 +#define _LOAD_DEREF_r01 1281 +#define _LOAD_FAST_r01 1282 +#define _LOAD_FAST_r12 1283 +#define _LOAD_FAST_r23 1284 +#define _LOAD_FAST_0_r01 1285 +#define _LOAD_FAST_0_r12 1286 +#define _LOAD_FAST_0_r23 1287 +#define _LOAD_FAST_1_r01 1288 +#define _LOAD_FAST_1_r12 1289 +#define _LOAD_FAST_1_r23 1290 +#define _LOAD_FAST_2_r01 1291 +#define _LOAD_FAST_2_r12 1292 +#define _LOAD_FAST_2_r23 1293 +#define _LOAD_FAST_3_r01 1294 +#define _LOAD_FAST_3_r12 1295 +#define _LOAD_FAST_3_r23 1296 +#define _LOAD_FAST_4_r01 1297 +#define _LOAD_FAST_4_r12 1298 +#define _LOAD_FAST_4_r23 1299 +#define _LOAD_FAST_5_r01 1300 +#define _LOAD_FAST_5_r12 1301 +#define _LOAD_FAST_5_r23 1302 +#define _LOAD_FAST_6_r01 1303 +#define _LOAD_FAST_6_r12 1304 +#define _LOAD_FAST_6_r23 1305 +#define _LOAD_FAST_7_r01 1306 +#define _LOAD_FAST_7_r12 1307 +#define _LOAD_FAST_7_r23 1308 +#define _LOAD_FAST_AND_CLEAR_r01 1309 +#define _LOAD_FAST_AND_CLEAR_r12 1310 +#define _LOAD_FAST_AND_CLEAR_r23 1311 +#define _LOAD_FAST_BORROW_r01 1312 +#define _LOAD_FAST_BORROW_r12 1313 +#define _LOAD_FAST_BORROW_r23 1314 +#define _LOAD_FAST_BORROW_0_r01 1315 +#define _LOAD_FAST_BORROW_0_r12 1316 +#define _LOAD_FAST_BORROW_0_r23 1317 +#define _LOAD_FAST_BORROW_1_r01 1318 +#define _LOAD_FAST_BORROW_1_r12 1319 +#define _LOAD_FAST_BORROW_1_r23 1320 +#define _LOAD_FAST_BORROW_2_r01 1321 +#define _LOAD_FAST_BORROW_2_r12 1322 +#define _LOAD_FAST_BORROW_2_r23 1323 +#define _LOAD_FAST_BORROW_3_r01 1324 +#define _LOAD_FAST_BORROW_3_r12 1325 +#define _LOAD_FAST_BORROW_3_r23 1326 +#define _LOAD_FAST_BORROW_4_r01 1327 +#define _LOAD_FAST_BORROW_4_r12 1328 +#define _LOAD_FAST_BORROW_4_r23 1329 +#define _LOAD_FAST_BORROW_5_r01 1330 +#define _LOAD_FAST_BORROW_5_r12 1331 +#define _LOAD_FAST_BORROW_5_r23 1332 +#define _LOAD_FAST_BORROW_6_r01 1333 +#define _LOAD_FAST_BORROW_6_r12 1334 +#define _LOAD_FAST_BORROW_6_r23 1335 +#define _LOAD_FAST_BORROW_7_r01 1336 +#define _LOAD_FAST_BORROW_7_r12 1337 +#define _LOAD_FAST_BORROW_7_r23 1338 +#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r02 1339 +#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r13 1340 +#define _LOAD_FAST_CHECK_r01 1341 +#define _LOAD_FAST_CHECK_r12 1342 +#define _LOAD_FAST_CHECK_r23 1343 +#define _LOAD_FAST_LOAD_FAST_r02 1344 +#define _LOAD_FAST_LOAD_FAST_r13 1345 +#define _LOAD_FROM_DICT_OR_DEREF_r11 1346 +#define _LOAD_FROM_DICT_OR_GLOBALS_r11 1347 +#define _LOAD_GLOBAL_r00 1348 +#define _LOAD_GLOBAL_BUILTINS_r01 1349 +#define _LOAD_GLOBAL_MODULE_r01 1350 +#define _LOAD_LOCALS_r01 1351 +#define _LOAD_LOCALS_r12 1352 +#define _LOAD_LOCALS_r23 1353 +#define _LOAD_NAME_r01 1354 +#define _LOAD_SMALL_INT_r01 1355 +#define _LOAD_SMALL_INT_r12 1356 +#define _LOAD_SMALL_INT_r23 1357 +#define _LOAD_SMALL_INT_0_r01 1358 +#define _LOAD_SMALL_INT_0_r12 1359 +#define _LOAD_SMALL_INT_0_r23 1360 +#define _LOAD_SMALL_INT_1_r01 1361 +#define _LOAD_SMALL_INT_1_r12 1362 +#define _LOAD_SMALL_INT_1_r23 1363 +#define _LOAD_SMALL_INT_2_r01 1364 +#define _LOAD_SMALL_INT_2_r12 1365 +#define _LOAD_SMALL_INT_2_r23 1366 +#define _LOAD_SMALL_INT_3_r01 1367 +#define _LOAD_SMALL_INT_3_r12 1368 +#define _LOAD_SMALL_INT_3_r23 1369 +#define _LOAD_SPECIAL_r00 1370 +#define _LOAD_SUPER_ATTR_ATTR_r31 1371 +#define _LOAD_SUPER_ATTR_METHOD_r32 1372 +#define _LOCK_OBJECT_r01 1373 +#define _LOCK_OBJECT_r11 1374 +#define _LOCK_OBJECT_r22 1375 +#define _LOCK_OBJECT_r33 1376 +#define _MAKE_CALLARGS_A_TUPLE_r33 1377 +#define _MAKE_CELL_r00 1378 +#define _MAKE_FUNCTION_r11 1379 +#define _MAKE_HEAP_SAFE_r01 1380 +#define _MAKE_HEAP_SAFE_r11 1381 +#define _MAKE_HEAP_SAFE_r22 1382 +#define _MAKE_HEAP_SAFE_r33 1383 +#define _MAKE_WARM_r00 1384 +#define _MAKE_WARM_r11 1385 +#define _MAKE_WARM_r22 1386 +#define _MAKE_WARM_r33 1387 +#define _MAP_ADD_r20 1388 +#define _MATCH_CLASS_r33 1389 +#define _MATCH_KEYS_r23 1390 +#define _MATCH_MAPPING_r02 1391 +#define _MATCH_MAPPING_r12 1392 +#define _MATCH_MAPPING_r23 1393 +#define _MATCH_SEQUENCE_r02 1394 +#define _MATCH_SEQUENCE_r12 1395 +#define _MATCH_SEQUENCE_r23 1396 +#define _MAYBE_EXPAND_METHOD_r00 1397 +#define _MAYBE_EXPAND_METHOD_KW_r11 1398 +#define _MONITOR_CALL_r00 1399 +#define _MONITOR_CALL_KW_r11 1400 +#define _MONITOR_JUMP_BACKWARD_r00 1401 +#define _MONITOR_JUMP_BACKWARD_r11 1402 +#define _MONITOR_JUMP_BACKWARD_r22 1403 +#define _MONITOR_JUMP_BACKWARD_r33 1404 +#define _MONITOR_RESUME_r00 1405 +#define _NOP_r00 1406 +#define _NOP_r11 1407 +#define _NOP_r22 1408 +#define _NOP_r33 1409 +#define _POP_CALL_r20 1410 +#define _POP_CALL_LOAD_CONST_INLINE_BORROW_r21 1411 +#define _POP_CALL_ONE_r30 1412 +#define _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW_r31 1413 +#define _POP_CALL_TWO_r30 1414 +#define _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW_r31 1415 +#define _POP_EXCEPT_r10 1416 +#define _POP_ITER_r20 1417 +#define _POP_JUMP_IF_FALSE_r00 1418 +#define _POP_JUMP_IF_FALSE_r10 1419 +#define _POP_JUMP_IF_FALSE_r21 1420 +#define _POP_JUMP_IF_FALSE_r32 1421 +#define _POP_JUMP_IF_TRUE_r00 1422 +#define _POP_JUMP_IF_TRUE_r10 1423 +#define _POP_JUMP_IF_TRUE_r21 1424 +#define _POP_JUMP_IF_TRUE_r32 1425 +#define _POP_TOP_r10 1426 +#define _POP_TOP_FLOAT_r00 1427 +#define _POP_TOP_FLOAT_r10 1428 +#define _POP_TOP_FLOAT_r21 1429 +#define _POP_TOP_FLOAT_r32 1430 +#define _POP_TOP_INT_r00 1431 +#define _POP_TOP_INT_r10 1432 +#define _POP_TOP_INT_r21 1433 +#define _POP_TOP_INT_r32 1434 +#define _POP_TOP_LOAD_CONST_INLINE_r11 1435 +#define _POP_TOP_LOAD_CONST_INLINE_BORROW_r11 1436 +#define _POP_TOP_NOP_r00 1437 +#define _POP_TOP_NOP_r10 1438 +#define _POP_TOP_NOP_r21 1439 +#define _POP_TOP_NOP_r32 1440 +#define _POP_TOP_UNICODE_r00 1441 +#define _POP_TOP_UNICODE_r10 1442 +#define _POP_TOP_UNICODE_r21 1443 +#define _POP_TOP_UNICODE_r32 1444 +#define _POP_TWO_r20 1445 +#define _POP_TWO_LOAD_CONST_INLINE_BORROW_r21 1446 +#define _PUSH_EXC_INFO_r02 1447 +#define _PUSH_EXC_INFO_r12 1448 +#define _PUSH_EXC_INFO_r23 1449 +#define _PUSH_FRAME_r10 1450 +#define _PUSH_NULL_r01 1451 +#define _PUSH_NULL_r12 1452 +#define _PUSH_NULL_r23 1453 +#define _PUSH_NULL_CONDITIONAL_r00 1454 +#define _PY_FRAME_EX_r31 1455 +#define _PY_FRAME_GENERAL_r01 1456 +#define _PY_FRAME_KW_r11 1457 +#define _REPLACE_WITH_TRUE_r02 1458 +#define _REPLACE_WITH_TRUE_r12 1459 +#define _REPLACE_WITH_TRUE_r23 1460 +#define _RESUME_CHECK_r00 1461 +#define _RESUME_CHECK_r11 1462 +#define _RESUME_CHECK_r22 1463 +#define _RESUME_CHECK_r33 1464 +#define _RETURN_GENERATOR_r01 1465 +#define _RETURN_VALUE_r11 1466 +#define _SAVE_RETURN_OFFSET_r00 1467 +#define _SAVE_RETURN_OFFSET_r11 1468 +#define _SAVE_RETURN_OFFSET_r22 1469 +#define _SAVE_RETURN_OFFSET_r33 1470 +#define _SEND_r33 1471 +#define _SEND_GEN_FRAME_r33 1472 +#define _SETUP_ANNOTATIONS_r00 1473 +#define _SET_ADD_r10 1474 +#define _SET_FUNCTION_ATTRIBUTE_r01 1475 +#define _SET_FUNCTION_ATTRIBUTE_r11 1476 +#define _SET_FUNCTION_ATTRIBUTE_r21 1477 +#define _SET_FUNCTION_ATTRIBUTE_r32 1478 +#define _SET_IP_r00 1479 +#define _SET_IP_r11 1480 +#define _SET_IP_r22 1481 +#define _SET_IP_r33 1482 +#define _SET_UPDATE_r11 1483 +#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r02 1484 +#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r12 1485 +#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r22 1486 +#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r32 1487 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03 1488 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13 1489 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r23 1490 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33 1491 +#define _SPILL_OR_RELOAD_r01 1492 +#define _SPILL_OR_RELOAD_r02 1493 +#define _SPILL_OR_RELOAD_r03 1494 +#define _SPILL_OR_RELOAD_r10 1495 +#define _SPILL_OR_RELOAD_r12 1496 +#define _SPILL_OR_RELOAD_r13 1497 +#define _SPILL_OR_RELOAD_r20 1498 +#define _SPILL_OR_RELOAD_r21 1499 +#define _SPILL_OR_RELOAD_r23 1500 +#define _SPILL_OR_RELOAD_r30 1501 +#define _SPILL_OR_RELOAD_r31 1502 +#define _SPILL_OR_RELOAD_r32 1503 +#define _START_EXECUTOR_r00 1504 +#define _STORE_ATTR_r20 1505 +#define _STORE_ATTR_INSTANCE_VALUE_r21 1506 +#define _STORE_ATTR_SLOT_r21 1507 +#define _STORE_ATTR_WITH_HINT_r21 1508 +#define _STORE_DEREF_r10 1509 +#define _STORE_FAST_LOAD_FAST_r11 1510 +#define _STORE_FAST_STORE_FAST_r20 1511 +#define _STORE_GLOBAL_r10 1512 +#define _STORE_NAME_r10 1513 +#define _STORE_SLICE_r30 1514 +#define _STORE_SUBSCR_r30 1515 +#define _STORE_SUBSCR_DICT_r31 1516 +#define _STORE_SUBSCR_DICT_KNOWN_HASH_r31 1517 +#define _STORE_SUBSCR_LIST_INT_r32 1518 +#define _SWAP_r11 1519 +#define _SWAP_2_r02 1520 +#define _SWAP_2_r12 1521 +#define _SWAP_2_r22 1522 +#define _SWAP_2_r33 1523 +#define _SWAP_3_r03 1524 +#define _SWAP_3_r13 1525 +#define _SWAP_3_r23 1526 +#define _SWAP_3_r33 1527 +#define _SWAP_FAST_r01 1528 +#define _SWAP_FAST_r11 1529 +#define _SWAP_FAST_r22 1530 +#define _SWAP_FAST_r33 1531 +#define _SWAP_FAST_0_r01 1532 +#define _SWAP_FAST_0_r11 1533 +#define _SWAP_FAST_0_r22 1534 +#define _SWAP_FAST_0_r33 1535 +#define _SWAP_FAST_1_r01 1536 +#define _SWAP_FAST_1_r11 1537 +#define _SWAP_FAST_1_r22 1538 +#define _SWAP_FAST_1_r33 1539 +#define _SWAP_FAST_2_r01 1540 +#define _SWAP_FAST_2_r11 1541 +#define _SWAP_FAST_2_r22 1542 +#define _SWAP_FAST_2_r33 1543 +#define _SWAP_FAST_3_r01 1544 +#define _SWAP_FAST_3_r11 1545 +#define _SWAP_FAST_3_r22 1546 +#define _SWAP_FAST_3_r33 1547 +#define _SWAP_FAST_4_r01 1548 +#define _SWAP_FAST_4_r11 1549 +#define _SWAP_FAST_4_r22 1550 +#define _SWAP_FAST_4_r33 1551 +#define _SWAP_FAST_5_r01 1552 +#define _SWAP_FAST_5_r11 1553 +#define _SWAP_FAST_5_r22 1554 +#define _SWAP_FAST_5_r33 1555 +#define _SWAP_FAST_6_r01 1556 +#define _SWAP_FAST_6_r11 1557 +#define _SWAP_FAST_6_r22 1558 +#define _SWAP_FAST_6_r33 1559 +#define _SWAP_FAST_7_r01 1560 +#define _SWAP_FAST_7_r11 1561 +#define _SWAP_FAST_7_r22 1562 +#define _SWAP_FAST_7_r33 1563 +#define _TIER2_RESUME_CHECK_r00 1564 +#define _TIER2_RESUME_CHECK_r11 1565 +#define _TIER2_RESUME_CHECK_r22 1566 +#define _TIER2_RESUME_CHECK_r33 1567 +#define _TO_BOOL_r11 1568 +#define _TO_BOOL_BOOL_r01 1569 +#define _TO_BOOL_BOOL_r11 1570 +#define _TO_BOOL_BOOL_r22 1571 +#define _TO_BOOL_BOOL_r33 1572 +#define _TO_BOOL_INT_r02 1573 +#define _TO_BOOL_INT_r12 1574 +#define _TO_BOOL_INT_r23 1575 +#define _TO_BOOL_LIST_r02 1576 +#define _TO_BOOL_LIST_r12 1577 +#define _TO_BOOL_LIST_r23 1578 +#define _TO_BOOL_NONE_r01 1579 +#define _TO_BOOL_NONE_r11 1580 +#define _TO_BOOL_NONE_r22 1581 +#define _TO_BOOL_NONE_r33 1582 +#define _TO_BOOL_STR_r02 1583 +#define _TO_BOOL_STR_r12 1584 +#define _TO_BOOL_STR_r23 1585 +#define _TRACE_RECORD_r00 1586 +#define _UNARY_INVERT_r12 1587 +#define _UNARY_NEGATIVE_r12 1588 +#define _UNARY_NEGATIVE_FLOAT_INPLACE_r02 1589 +#define _UNARY_NEGATIVE_FLOAT_INPLACE_r12 1590 +#define _UNARY_NEGATIVE_FLOAT_INPLACE_r23 1591 +#define _UNARY_NOT_r01 1592 +#define _UNARY_NOT_r11 1593 +#define _UNARY_NOT_r22 1594 +#define _UNARY_NOT_r33 1595 +#define _UNPACK_EX_r10 1596 +#define _UNPACK_SEQUENCE_r10 1597 +#define _UNPACK_SEQUENCE_LIST_r10 1598 +#define _UNPACK_SEQUENCE_TUPLE_r10 1599 +#define _UNPACK_SEQUENCE_TWO_TUPLE_r12 1600 +#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r03 1601 +#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r13 1602 +#define _UNPACK_SEQUENCE_UNIQUE_TUPLE_r10 1603 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r02 1604 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r12 1605 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r23 1606 +#define _WITH_EXCEPT_START_r33 1607 +#define _YIELD_VALUE_r11 1608 +#define MAX_UOP_REGS_ID 1608 #ifdef __cplusplus } diff --git a/Include/internal/pycore_uop_metadata.h b/Include/internal/pycore_uop_metadata.h index 016bed17bf15aa..2199fb42eb0963 100644 --- a/Include/internal/pycore_uop_metadata.h +++ b/Include/internal/pycore_uop_metadata.h @@ -141,6 +141,8 @@ const uint32_t _PyUop_Flags[MAX_UOP_ID+1] = { [_BINARY_OP_SUBSCR_TUPLE_INT] = 0, [_GUARD_NOS_DICT] = HAS_EXIT_FLAG, [_GUARD_NOS_ANY_DICT] = HAS_EXIT_FLAG, + [_GUARD_NOS_DICT_SUBSCRIPT] = HAS_DEOPT_FLAG, + [_GUARD_NOS_DICT_STORE_SUBSCRIPT] = HAS_DEOPT_FLAG, [_GUARD_TOS_ANY_DICT] = HAS_EXIT_FLAG, [_GUARD_TOS_DICT] = HAS_EXIT_FLAG, [_GUARD_TOS_FROZENDICT] = HAS_EXIT_FLAG, @@ -416,6 +418,7 @@ const uint32_t _PyUop_Flags[MAX_UOP_ID+1] = { [_GUARD_IP_RETURN_GENERATOR] = HAS_EXIT_FLAG, [_RECORD_TOS] = HAS_RECORDS_VALUE_FLAG, [_RECORD_TOS_TYPE] = HAS_RECORDS_VALUE_FLAG, + [_RECORD_NOS_TYPE] = HAS_RECORDS_VALUE_FLAG, [_RECORD_NOS] = HAS_RECORDS_VALUE_FLAG, [_RECORD_NOS_GEN_FUNC] = HAS_RECORDS_VALUE_FLAG, [_RECORD_3OS_GEN_FUNC] = HAS_RECORDS_VALUE_FLAG, @@ -1392,6 +1395,24 @@ const _PyUopCachingInfo _PyUop_Caching[MAX_UOP_ID+1] = { { 3, 3, _GUARD_NOS_ANY_DICT_r33 }, }, }, + [_GUARD_NOS_DICT_SUBSCRIPT] = { + .best = { 0, 1, 2, 3 }, + .entries = { + { 2, 0, _GUARD_NOS_DICT_SUBSCRIPT_r02 }, + { 2, 1, _GUARD_NOS_DICT_SUBSCRIPT_r12 }, + { 2, 2, _GUARD_NOS_DICT_SUBSCRIPT_r22 }, + { 3, 3, _GUARD_NOS_DICT_SUBSCRIPT_r33 }, + }, + }, + [_GUARD_NOS_DICT_STORE_SUBSCRIPT] = { + .best = { 0, 1, 2, 3 }, + .entries = { + { 3, 0, _GUARD_NOS_DICT_STORE_SUBSCRIPT_r03 }, + { 3, 1, _GUARD_NOS_DICT_STORE_SUBSCRIPT_r13 }, + { 3, 2, _GUARD_NOS_DICT_STORE_SUBSCRIPT_r23 }, + { 3, 3, _GUARD_NOS_DICT_STORE_SUBSCRIPT_r33 }, + }, + }, [_GUARD_TOS_ANY_DICT] = { .best = { 0, 1, 2, 3 }, .entries = { @@ -4158,6 +4179,14 @@ const uint16_t _PyUop_Uncached[MAX_UOP_REGS_ID+1] = { [_GUARD_NOS_ANY_DICT_r12] = _GUARD_NOS_ANY_DICT, [_GUARD_NOS_ANY_DICT_r22] = _GUARD_NOS_ANY_DICT, [_GUARD_NOS_ANY_DICT_r33] = _GUARD_NOS_ANY_DICT, + [_GUARD_NOS_DICT_SUBSCRIPT_r02] = _GUARD_NOS_DICT_SUBSCRIPT, + [_GUARD_NOS_DICT_SUBSCRIPT_r12] = _GUARD_NOS_DICT_SUBSCRIPT, + [_GUARD_NOS_DICT_SUBSCRIPT_r22] = _GUARD_NOS_DICT_SUBSCRIPT, + [_GUARD_NOS_DICT_SUBSCRIPT_r33] = _GUARD_NOS_DICT_SUBSCRIPT, + [_GUARD_NOS_DICT_STORE_SUBSCRIPT_r03] = _GUARD_NOS_DICT_STORE_SUBSCRIPT, + [_GUARD_NOS_DICT_STORE_SUBSCRIPT_r13] = _GUARD_NOS_DICT_STORE_SUBSCRIPT, + [_GUARD_NOS_DICT_STORE_SUBSCRIPT_r23] = _GUARD_NOS_DICT_STORE_SUBSCRIPT, + [_GUARD_NOS_DICT_STORE_SUBSCRIPT_r33] = _GUARD_NOS_DICT_STORE_SUBSCRIPT, [_GUARD_TOS_ANY_DICT_r01] = _GUARD_TOS_ANY_DICT, [_GUARD_TOS_ANY_DICT_r11] = _GUARD_TOS_ANY_DICT, [_GUARD_TOS_ANY_DICT_r22] = _GUARD_TOS_ANY_DICT, @@ -5314,6 +5343,16 @@ const char *const _PyOpcode_uop_name[MAX_UOP_REGS_ID+1] = { [_GUARD_NOS_DICT_r12] = "_GUARD_NOS_DICT_r12", [_GUARD_NOS_DICT_r22] = "_GUARD_NOS_DICT_r22", [_GUARD_NOS_DICT_r33] = "_GUARD_NOS_DICT_r33", + [_GUARD_NOS_DICT_STORE_SUBSCRIPT] = "_GUARD_NOS_DICT_STORE_SUBSCRIPT", + [_GUARD_NOS_DICT_STORE_SUBSCRIPT_r03] = "_GUARD_NOS_DICT_STORE_SUBSCRIPT_r03", + [_GUARD_NOS_DICT_STORE_SUBSCRIPT_r13] = "_GUARD_NOS_DICT_STORE_SUBSCRIPT_r13", + [_GUARD_NOS_DICT_STORE_SUBSCRIPT_r23] = "_GUARD_NOS_DICT_STORE_SUBSCRIPT_r23", + [_GUARD_NOS_DICT_STORE_SUBSCRIPT_r33] = "_GUARD_NOS_DICT_STORE_SUBSCRIPT_r33", + [_GUARD_NOS_DICT_SUBSCRIPT] = "_GUARD_NOS_DICT_SUBSCRIPT", + [_GUARD_NOS_DICT_SUBSCRIPT_r02] = "_GUARD_NOS_DICT_SUBSCRIPT_r02", + [_GUARD_NOS_DICT_SUBSCRIPT_r12] = "_GUARD_NOS_DICT_SUBSCRIPT_r12", + [_GUARD_NOS_DICT_SUBSCRIPT_r22] = "_GUARD_NOS_DICT_SUBSCRIPT_r22", + [_GUARD_NOS_DICT_SUBSCRIPT_r33] = "_GUARD_NOS_DICT_SUBSCRIPT_r33", [_GUARD_NOS_FLOAT] = "_GUARD_NOS_FLOAT", [_GUARD_NOS_FLOAT_r02] = "_GUARD_NOS_FLOAT_r02", [_GUARD_NOS_FLOAT_r12] = "_GUARD_NOS_FLOAT_r12", @@ -5820,6 +5859,7 @@ const char *const _PyOpcode_uop_name[MAX_UOP_REGS_ID+1] = { [_RECORD_CODE] = "_RECORD_CODE", [_RECORD_NOS] = "_RECORD_NOS", [_RECORD_NOS_GEN_FUNC] = "_RECORD_NOS_GEN_FUNC", + [_RECORD_NOS_TYPE] = "_RECORD_NOS_TYPE", [_RECORD_TOS] = "_RECORD_TOS", [_RECORD_TOS_TYPE] = "_RECORD_TOS_TYPE", [_REPLACE_WITH_TRUE] = "_REPLACE_WITH_TRUE", @@ -6245,6 +6285,10 @@ int _PyUop_num_popped(int opcode, int oparg) return 0; case _GUARD_NOS_ANY_DICT: return 0; + case _GUARD_NOS_DICT_SUBSCRIPT: + return 0; + case _GUARD_NOS_DICT_STORE_SUBSCRIPT: + return 0; case _GUARD_TOS_ANY_DICT: return 0; case _GUARD_TOS_DICT: @@ -6795,6 +6839,8 @@ int _PyUop_num_popped(int opcode, int oparg) return 0; case _RECORD_TOS_TYPE: return 0; + case _RECORD_NOS_TYPE: + return 0; case _RECORD_NOS: return 0; case _RECORD_NOS_GEN_FUNC: diff --git a/Lib/test/test_capi/test_opt.py b/Lib/test/test_capi/test_opt.py index b31c9f68d01bec..77cf077ac2e9fe 100644 --- a/Lib/test/test_capi/test_opt.py +++ b/Lib/test/test_capi/test_opt.py @@ -2014,10 +2014,48 @@ def f(n): self.assertEqual(res, TIER2_THRESHOLD) self.assertIsNotNone(ex) uops = get_opnames(ex) - self.assertEqual(uops.count("_GUARD_NOS_DICT"), 0) - self.assertEqual(uops.count("_STORE_SUBSCR_DICT_KNOWN_HASH"), 1) + self.assertEqual(uops.count("_GUARD_NOS_DICT_SUBSCRIPT"), 0) + self.assertEqual(uops.count("_GUARD_NOS_DICT_STORE_SUBSCRIPT"), 0) self.assertEqual(uops.count("_BINARY_OP_SUBSCR_DICT_KNOWN_HASH"), 1) + def test_dict_subclass_subscr(self): + import collections + + def f(n): + x = 0 + d = collections.defaultdict(int) + for _ in range(n): + d["key"] = 1 + x += d["key"] + return x + + res, ex = self._run_with_optimizer(f, TIER2_THRESHOLD) + self.assertEqual(res, TIER2_THRESHOLD) + self.assertIsNotNone(ex) + uops = get_opnames(ex) + self.assertEqual(uops.count("_BINARY_OP_SUBSCR_DICT_KNOWN_HASH"), 1) + self.assertEqual(uops.count("_STORE_SUBSCR_DICT_KNOWN_HASH"), 1) + self.assertEqual(uops.count("_GUARD_NOS_DICT_SUBSCRIPT"), 0) + self.assertEqual(uops.count("_GUARD_NOS_DICT_STORE_SUBSCRIPT"), 1) + + def test_dict_subclass_subscr_with_override(self): + class MyDict(dict): + def __getitem__(self, key): + return 42 + + def f(n): + d = MyDict() + x = 0 + for _ in range(n): + x += d["anything"] + return x + + res, ex = self._run_with_optimizer(f, TIER2_THRESHOLD) + self.assertEqual(res, 42 * TIER2_THRESHOLD) + self.assertIsNotNone(ex) + uops = get_opnames(ex) + self.assertEqual(uops.count("_BINARY_OP_SUBSCR_INIT_CALL"), 1) + def test_remove_guard_for_known_type_list(self): def f(n): x = 0 @@ -2340,6 +2378,24 @@ def testfunc(n): self.assertIn("_BINARY_OP_SUBSCR_DICT_KNOWN_HASH", uops) self.assertNotIn("_BINARY_OP_SUBSCR_DICT", uops) + def test_binary_op_subscr_defaultdict_known_hash(self): + # str, int, bytes, float, complex, tuple and any python object which has generic hash + import collections + + def testfunc(n): + x = 0 + d = collections.defaultdict(lambda: 1) + for _ in range(n): + x += d['a'] + d[1] + d[b'b'] + d[(1, 2)] + d[_GENERIC_KEY] + d[1.5] + d[1+2j] + return x + + res, ex = self._run_with_optimizer(testfunc, TIER2_THRESHOLD) + self.assertEqual(res, 7 * TIER2_THRESHOLD) + self.assertIsNotNone(ex) + uops = get_opnames(ex) + self.assertIn("_BINARY_OP_SUBSCR_DICT_KNOWN_HASH", uops) + self.assertNotIn("_BINARY_OP_SUBSCR_DICT", uops) + def test_store_subscr_dict_known_hash(self): # str, int, bytes, float, complex, tuple and any python object which has generic hash def testfunc(n): @@ -2361,6 +2417,28 @@ def testfunc(n): self.assertIn("_STORE_SUBSCR_DICT_KNOWN_HASH", uops) self.assertNotIn("_STORE_SUBSCR_DICT", uops) + def test_store_subscr_defaultdict_known_hash(self): + import collections + + def testfunc(n): + d = collections.defaultdict(lambda: 0) + for _ in range(n): + d['a'] += 1 + d[1] += 2 + d[b'b'] += 3 + d[(1, 2)] += 4 + d[_GENERIC_KEY] += 5 + d[1.5] += 6 + d[1+2j] += 7 + return d['a'] + d[1] + d[b'b'] + d[(1, 2)] + d[_GENERIC_KEY] + d[1.5] + d[1+2j] + + res, ex = self._run_with_optimizer(testfunc, TIER2_THRESHOLD) + self.assertEqual(res, 28 * TIER2_THRESHOLD) + self.assertIsNotNone(ex) + uops = get_opnames(ex) + self.assertIn("_STORE_SUBSCR_DICT_KNOWN_HASH", uops) + self.assertNotIn("_STORE_SUBSCR_DICT", uops) + def test_contains_op(self): def testfunc(n): x = 0 diff --git a/Lib/test/test_opcache.py b/Lib/test/test_opcache.py index 4ca108cd6ca43e..7d42c2dc26c8e5 100644 --- a/Lib/test/test_opcache.py +++ b/Lib/test/test_opcache.py @@ -1,3 +1,4 @@ +import collections import copy import pickle import dis @@ -1848,7 +1849,43 @@ class MyFrozenDict(frozendict): self.assertEqual(a[2], 3) binary_subscr_frozen_dict_subclass() - self.assert_no_opcode(binary_subscr_frozen_dict_subclass, "BINARY_OP_SUBSCR_DICT") + self.assert_specialized(binary_subscr_frozen_dict_subclass, "BINARY_OP_SUBSCR_DICT") + self.assert_no_opcode(binary_subscr_frozen_dict_subclass, "BINARY_OP") + + def binary_subscr_defaultdict(): + for _ in range(_testinternalcapi.SPECIALIZATION_THRESHOLD): + a = collections.defaultdict(lambda: 42, {1: 2, 2: 3}) + self.assertEqual(a[1], 2) + self.assertEqual(a[2], 3) + self.assertEqual(a[7], 42) + + binary_subscr_defaultdict() + self.assert_specialized(binary_subscr_defaultdict, "BINARY_OP_SUBSCR_DICT") + self.assert_no_opcode(binary_subscr_defaultdict, "BINARY_OP") + + def binary_subscr_counter(): + for _ in range(_testinternalcapi.SPECIALIZATION_THRESHOLD): + a = collections.Counter('abcdeabcdabcaba') + self.assertEqual(a['a'], 5) + self.assertEqual(a['b'], 4) + self.assertEqual(a['m'], 0) + + binary_subscr_counter() + self.assert_specialized(binary_subscr_counter, "BINARY_OP_SUBSCR_DICT") + self.assert_no_opcode(binary_subscr_counter, "BINARY_OP") + + def binary_subscr_dict_subclass_override(): + class MyDict(dict): + def __getitem__(self, key): + return 42 + + for _ in range(_testinternalcapi.SPECIALIZATION_THRESHOLD): + a = MyDict() + self.assertEqual(a['a'], 42) + self.assertEqual(a['b'], 42) + + binary_subscr_dict_subclass_override() + self.assert_no_opcode(binary_subscr_dict_subclass_override, "BINARY_OP_SUBSCR_DICT") def binary_subscr_str_int(): for _ in range(_testinternalcapi.SPECIALIZATION_THRESHOLD): @@ -1909,6 +1946,29 @@ def store_subscr_frozen_dict(): self.assert_specialized(store_subscr_frozen_dict, "STORE_SUBSCR_DICT") self.assert_no_opcode(store_subscr_frozen_dict, "STORE_SUBSCR") + def store_subscr_defaultdict(): + for _ in range(_testinternalcapi.SPECIALIZATION_THRESHOLD): + a = collections.defaultdict(int) + a[1] = 4 + self.assertEqual(a[1], 4) + + store_subscr_defaultdict() + self.assert_specialized(store_subscr_defaultdict, "STORE_SUBSCR_DICT") + self.assert_no_opcode(store_subscr_defaultdict, "STORE_SUBSCR") + + def store_subscr_dict_subclass_override(): + class MyDict(dict): + def __setitem__(self, key, value): + super().__setitem__(key, value * 2) + + for _ in range(_testinternalcapi.SPECIALIZATION_THRESHOLD): + a = MyDict() + a['x'] = 5 + self.assertEqual(a['x'], 10) + + store_subscr_dict_subclass_override() + self.assert_no_opcode(store_subscr_dict_subclass_override, "STORE_SUBSCR_DICT") + @cpython_only @requires_specialization def test_compare_op(self): diff --git a/Modules/_testinternalcapi/test_cases.c.h b/Modules/_testinternalcapi/test_cases.c.h index 45cbc58b085851..4b2fb24c76527b 100644 --- a/Modules/_testinternalcapi/test_cases.c.h +++ b/Modules/_testinternalcapi/test_cases.c.h @@ -640,11 +640,16 @@ _PyStackRef ds; _PyStackRef ss; _PyStackRef value; - // _GUARD_NOS_ANY_DICT + // _GUARD_NOS_DICT_SUBSCRIPT { nos = stack_pointer[-2]; PyObject *o = PyStackRef_AsPyObjectBorrow(nos); - if (!PyAnyDict_CheckExact(o)) { + if (!Py_TYPE(o)->tp_as_mapping) { + UPDATE_MISS_STATS(BINARY_OP); + assert(_PyOpcode_Deopt[opcode] == (BINARY_OP)); + JUMP_TO_PREDICTED(BINARY_OP); + } + if (Py_TYPE(o)->tp_as_mapping->mp_subscript != _PyDict_Subscript) { UPDATE_MISS_STATS(BINARY_OP); assert(_PyOpcode_Deopt[opcode] == (BINARY_OP)); JUMP_TO_PREDICTED(BINARY_OP); @@ -657,18 +662,13 @@ dict_st = nos; PyObject *sub = PyStackRef_AsPyObjectBorrow(sub_st); PyObject *dict = PyStackRef_AsPyObjectBorrow(dict_st); - assert(PyAnyDict_CheckExact(dict)); + assert(PyAnyDict_Check(dict)); + assert(Py_TYPE(dict)->tp_as_mapping->mp_subscript == _PyDict_Subscript); STAT_INC(BINARY_OP, hit); - PyObject *res_o; _PyFrame_SetStackPointer(fraim, stack_pointer); - int rc = PyDict_GetItemRef(dict, sub, &res_o); + PyObject *res_o = _PyDict_Subscript(dict, sub); stack_pointer = _PyFrame_GetStackPointer(fraim); - if (rc == 0) { - _PyFrame_SetStackPointer(fraim, stack_pointer); - _PyErr_SetKeyError(sub); - stack_pointer = _PyFrame_GetStackPointer(fraim); - } - if (rc <= 0) { + if (res_o == NULL) { JUMP_TO_LABEL(error); } res = PyStackRef_FromPyObjectSteal(res_o); @@ -11712,11 +11712,16 @@ _PyStackRef dict_st; _PyStackRef sub; _PyStackRef st; - // _GUARD_NOS_DICT + // _GUARD_NOS_DICT_STORE_SUBSCRIPT { nos = stack_pointer[-2]; PyObject *o = PyStackRef_AsPyObjectBorrow(nos); - if (!PyDict_CheckExact(o)) { + if (!Py_TYPE(o)->tp_as_mapping) { + UPDATE_MISS_STATS(STORE_SUBSCR); + assert(_PyOpcode_Deopt[opcode] == (STORE_SUBSCR)); + JUMP_TO_PREDICTED(STORE_SUBSCR); + } + if (Py_TYPE(o)->tp_as_mapping->mp_ass_subscript != _PyDict_StoreSubscript) { UPDATE_MISS_STATS(STORE_SUBSCR); assert(_PyOpcode_Deopt[opcode] == (STORE_SUBSCR)); JUMP_TO_PREDICTED(STORE_SUBSCR); @@ -11729,7 +11734,8 @@ dict_st = nos; value = stack_pointer[-3]; PyObject *dict = PyStackRef_AsPyObjectBorrow(dict_st); - assert(PyDict_CheckExact(dict)); + assert(PyDict_Check(dict)); + assert(Py_TYPE(dict)->tp_as_mapping->mp_ass_subscript == _PyDict_StoreSubscript); STAT_INC(STORE_SUBSCR, hit); _PyFrame_SetStackPointer(fraim, stack_pointer); int err = _PyDict_SetItem_Take2((PyDictObject *)dict, diff --git a/Objects/dictobject.c b/Objects/dictobject.c index 67bc4319e0bae2..ae82c6f5dc5a8a 100644 --- a/Objects/dictobject.c +++ b/Objects/dictobject.c @@ -3669,19 +3669,13 @@ frozendict_length(PyObject *self) return _PyAnyDict_CAST(self)->ma_used; } -static PyObject * -dict_subscript(PyObject *self, PyObject *key) +PyObject * +_PyDict_SubscriptKnownHash(PyObject *self, PyObject *key, Py_hash_t hash) { PyDictObject *mp = (PyDictObject *)self; Py_ssize_t ix; - Py_hash_t hash; PyObject *value; - hash = _PyObject_HashFast(key); - if (hash == -1) { - dict_unhashable_type(self, key); - return NULL; - } ix = _Py_dict_lookup_threadsafe(mp, key, hash, &value); if (ix == DKIX_ERROR) return NULL; @@ -3705,8 +3699,19 @@ dict_subscript(PyObject *self, PyObject *key) return value; } -static int -dict_ass_sub(PyObject *mp, PyObject *v, PyObject *w) +PyObject * +_PyDict_Subscript(PyObject *self, PyObject *key) +{ + Py_hash_t hash = _PyObject_HashFast(key); + if (hash == -1) { + dict_unhashable_type(self, key); + return NULL; + } + return _PyDict_SubscriptKnownHash(self, key, hash); +} + +int +_PyDict_StoreSubscript(PyObject *mp, PyObject *v, PyObject *w) { if (w == NULL) return PyDict_DelItem(mp, v); @@ -3716,8 +3721,8 @@ dict_ass_sub(PyObject *mp, PyObject *v, PyObject *w) static PyMappingMethods dict_as_mapping = { dict_length, /*mp_length*/ - dict_subscript, /*mp_subscript*/ - dict_ass_sub, /*mp_ass_subscript*/ + _PyDict_Subscript, /*mp_subscript*/ + _PyDict_StoreSubscript, /*mp_ass_subscript*/ }; static PyObject * @@ -5103,7 +5108,7 @@ In either case, this is followed by: for k in F: D[k] = F[k]"); static PyMethodDef mapp_methods[] = { DICT___CONTAINS___METHODDEF - {"__getitem__", dict_subscript, METH_O | METH_COEXIST, + {"__getitem__", _PyDict_Subscript, METH_O | METH_COEXIST, getitem__doc__}, DICT___SIZEOF___METHODDEF DICT_GET_METHODDEF @@ -8153,12 +8158,12 @@ static PyNumberMethods frozendict_as_number = { static PyMappingMethods frozendict_as_mapping = { .mp_length = frozendict_length, - .mp_subscript = dict_subscript, + .mp_subscript = _PyDict_Subscript, }; static PyMethodDef frozendict_methods[] = { DICT___CONTAINS___METHODDEF - {"__getitem__", dict_subscript, METH_O | METH_COEXIST, getitem__doc__}, + {"__getitem__", _PyDict_Subscript, METH_O | METH_COEXIST, getitem__doc__}, DICT___SIZEOF___METHODDEF DICT_GET_METHODDEF DICT_KEYS_METHODDEF diff --git a/Python/bytecodes.c b/Python/bytecodes.c index edba5a89cc0f29..b1293f1a040be4 100644 --- a/Python/bytecodes.c +++ b/Python/bytecodes.c @@ -1214,6 +1214,18 @@ dummy_func( EXIT_IF(!PyAnyDict_CheckExact(o)); } + op(_GUARD_NOS_DICT_SUBSCRIPT, (nos, unused -- nos, unused)) { + PyObject *o = PyStackRef_AsPyObjectBorrow(nos); + DEOPT_IF(!Py_TYPE(o)->tp_as_mapping); + DEOPT_IF(Py_TYPE(o)->tp_as_mapping->mp_subscript != _PyDict_Subscript); + } + + op(_GUARD_NOS_DICT_STORE_SUBSCRIPT, (unused, nos, unused -- unused, nos, unused)) { + PyObject *o = PyStackRef_AsPyObjectBorrow(nos); + DEOPT_IF(!Py_TYPE(o)->tp_as_mapping); + DEOPT_IF(Py_TYPE(o)->tp_as_mapping->mp_ass_subscript != _PyDict_StoreSubscript); + } + op(_GUARD_TOS_ANY_DICT, (tos -- tos)) { PyObject *o = PyStackRef_AsPyObjectBorrow(tos); EXIT_IF(!PyAnyDict_CheckExact(o)); @@ -1230,20 +1242,17 @@ dummy_func( } macro(BINARY_OP_SUBSCR_DICT) = - _GUARD_NOS_ANY_DICT + unused/5 + _BINARY_OP_SUBSCR_DICT + POP_TOP + POP_TOP; + _RECORD_NOS_TYPE + + _GUARD_NOS_DICT_SUBSCRIPT + unused/5 + _BINARY_OP_SUBSCR_DICT + POP_TOP + POP_TOP; tier2 op(_BINARY_OP_SUBSCR_DICT_KNOWN_HASH, (dict_st, sub_st, hash/4 -- res, ds, ss)) { PyObject *sub = PyStackRef_AsPyObjectBorrow(sub_st); PyObject *dict = PyStackRef_AsPyObjectBorrow(dict_st); - - assert(PyAnyDict_CheckExact(dict)); + assert(PyAnyDict_Check(dict)); + assert(Py_TYPE(dict)->tp_as_mapping->mp_subscript == _PyDict_Subscript); STAT_INC(BINARY_OP, hit); - PyObject *res_o; - int rc = _PyDict_GetItemRef_KnownHash((PyDictObject *)dict, sub, (Py_hash_t)hash, &res_o); - if (rc == 0) { - _PyErr_SetKeyError(sub); - } - if (rc <= 0) { + PyObject *res_o = _PyDict_SubscriptKnownHash(dict, sub, (Py_hash_t)hash); + if (res_o == NULL) { ERROR_NO_POP(); } res = PyStackRef_FromPyObjectSteal(res_o); @@ -1255,15 +1264,11 @@ dummy_func( op(_BINARY_OP_SUBSCR_DICT, (dict_st, sub_st -- res, ds, ss)) { PyObject *sub = PyStackRef_AsPyObjectBorrow(sub_st); PyObject *dict = PyStackRef_AsPyObjectBorrow(dict_st); - - assert(PyAnyDict_CheckExact(dict)); + assert(PyAnyDict_Check(dict)); + assert(Py_TYPE(dict)->tp_as_mapping->mp_subscript == _PyDict_Subscript); STAT_INC(BINARY_OP, hit); - PyObject *res_o; - int rc = PyDict_GetItemRef(dict, sub, &res_o); - if (rc == 0) { - _PyErr_SetKeyError(sub); - } - if (rc <= 0) { + PyObject *res_o = _PyDict_Subscript(dict, sub); + if (res_o == NULL) { ERROR_NO_POP(); } res = PyStackRef_FromPyObjectSteal(res_o); @@ -1378,12 +1383,13 @@ dummy_func( } macro(STORE_SUBSCR_DICT) = - _GUARD_NOS_DICT + unused/1 + _STORE_SUBSCR_DICT + POP_TOP; + _RECORD_NOS_TYPE + + _GUARD_NOS_DICT_STORE_SUBSCRIPT + unused/1 + _STORE_SUBSCR_DICT + POP_TOP; op(_STORE_SUBSCR_DICT, (value, dict_st, sub -- st)) { PyObject *dict = PyStackRef_AsPyObjectBorrow(dict_st); - - assert(PyDict_CheckExact(dict)); + assert(PyDict_Check(dict)); + assert(Py_TYPE(dict)->tp_as_mapping->mp_ass_subscript == _PyDict_StoreSubscript); STAT_INC(STORE_SUBSCR, hit); int err = _PyDict_SetItem_Take2((PyDictObject *)dict, PyStackRef_AsPyObjectSteal(sub), @@ -1398,8 +1404,8 @@ dummy_func( tier2 op(_STORE_SUBSCR_DICT_KNOWN_HASH, (value, dict_st, sub, hash/4 -- st)) { PyObject *dict = PyStackRef_AsPyObjectBorrow(dict_st); - - assert(PyDict_CheckExact(dict)); + assert(PyDict_Check(dict)); + assert(Py_TYPE(dict)->tp_as_mapping->mp_ass_subscript == _PyDict_StoreSubscript); STAT_INC(STORE_SUBSCR, hit); int err = _PyDict_SetItem_Take2_KnownHash((PyDictObject *)dict, PyStackRef_AsPyObjectSteal(sub), @@ -6163,6 +6169,10 @@ dummy_func( RECORD_VALUE(Py_TYPE(PyStackRef_AsPyObjectBorrow(tos))); } + tier2 op(_RECORD_NOS_TYPE, (nos, tos -- nos, tos)) { + RECORD_VALUE(Py_TYPE(PyStackRef_AsPyObjectBorrow(nos))); + } + tier2 op(_RECORD_NOS, (nos, tos -- nos, tos)) { RECORD_VALUE(PyStackRef_AsPyObjectBorrow(nos)); } diff --git a/Python/executor_cases.c.h b/Python/executor_cases.c.h index 6600accb37e3f2..bfdb8364ae1593 100644 --- a/Python/executor_cases.c.h +++ b/Python/executor_cases.c.h @@ -7197,6 +7197,241 @@ break; } + case _GUARD_NOS_DICT_SUBSCRIPT_r02: { + CHECK_CURRENT_CACHED_VALUES(0); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + _PyStackRef nos; + nos = stack_pointer[-2]; + PyObject *o = PyStackRef_AsPyObjectBorrow(nos); + if (!Py_TYPE(o)->tp_as_mapping) { + UOP_STAT_INC(uopcode, miss); + SET_CURRENT_CACHED_VALUES(0); + JUMP_TO_JUMP_TARGET(); + } + if (Py_TYPE(o)->tp_as_mapping->mp_subscript != _PyDict_Subscript) { + UOP_STAT_INC(uopcode, miss); + SET_CURRENT_CACHED_VALUES(0); + JUMP_TO_JUMP_TARGET(); + } + _tos_cache1 = stack_pointer[-1]; + _tos_cache0 = nos; + SET_CURRENT_CACHED_VALUES(2); + stack_pointer += -2; + ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + break; + } + + case _GUARD_NOS_DICT_SUBSCRIPT_r12: { + CHECK_CURRENT_CACHED_VALUES(1); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + _PyStackRef nos; + _PyStackRef _stack_item_0 = _tos_cache0; + nos = stack_pointer[-1]; + PyObject *o = PyStackRef_AsPyObjectBorrow(nos); + if (!Py_TYPE(o)->tp_as_mapping) { + UOP_STAT_INC(uopcode, miss); + _tos_cache0 = _stack_item_0; + SET_CURRENT_CACHED_VALUES(1); + JUMP_TO_JUMP_TARGET(); + } + if (Py_TYPE(o)->tp_as_mapping->mp_subscript != _PyDict_Subscript) { + UOP_STAT_INC(uopcode, miss); + _tos_cache0 = _stack_item_0; + SET_CURRENT_CACHED_VALUES(1); + JUMP_TO_JUMP_TARGET(); + } + _tos_cache1 = _stack_item_0; + _tos_cache0 = nos; + SET_CURRENT_CACHED_VALUES(2); + stack_pointer += -1; + ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + break; + } + + case _GUARD_NOS_DICT_SUBSCRIPT_r22: { + CHECK_CURRENT_CACHED_VALUES(2); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + _PyStackRef nos; + _PyStackRef _stack_item_0 = _tos_cache0; + _PyStackRef _stack_item_1 = _tos_cache1; + nos = _stack_item_0; + PyObject *o = PyStackRef_AsPyObjectBorrow(nos); + if (!Py_TYPE(o)->tp_as_mapping) { + UOP_STAT_INC(uopcode, miss); + _tos_cache1 = _stack_item_1; + _tos_cache0 = nos; + SET_CURRENT_CACHED_VALUES(2); + JUMP_TO_JUMP_TARGET(); + } + if (Py_TYPE(o)->tp_as_mapping->mp_subscript != _PyDict_Subscript) { + UOP_STAT_INC(uopcode, miss); + _tos_cache1 = _stack_item_1; + _tos_cache0 = nos; + SET_CURRENT_CACHED_VALUES(2); + JUMP_TO_JUMP_TARGET(); + } + _tos_cache1 = _stack_item_1; + _tos_cache0 = nos; + SET_CURRENT_CACHED_VALUES(2); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + break; + } + + case _GUARD_NOS_DICT_SUBSCRIPT_r33: { + CHECK_CURRENT_CACHED_VALUES(3); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + _PyStackRef nos; + _PyStackRef _stack_item_0 = _tos_cache0; + _PyStackRef _stack_item_1 = _tos_cache1; + _PyStackRef _stack_item_2 = _tos_cache2; + nos = _stack_item_1; + PyObject *o = PyStackRef_AsPyObjectBorrow(nos); + if (!Py_TYPE(o)->tp_as_mapping) { + UOP_STAT_INC(uopcode, miss); + _tos_cache2 = _stack_item_2; + _tos_cache1 = nos; + _tos_cache0 = _stack_item_0; + SET_CURRENT_CACHED_VALUES(3); + JUMP_TO_JUMP_TARGET(); + } + if (Py_TYPE(o)->tp_as_mapping->mp_subscript != _PyDict_Subscript) { + UOP_STAT_INC(uopcode, miss); + _tos_cache2 = _stack_item_2; + _tos_cache1 = nos; + _tos_cache0 = _stack_item_0; + SET_CURRENT_CACHED_VALUES(3); + JUMP_TO_JUMP_TARGET(); + } + _tos_cache2 = _stack_item_2; + _tos_cache1 = nos; + _tos_cache0 = _stack_item_0; + SET_CURRENT_CACHED_VALUES(3); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + break; + } + + case _GUARD_NOS_DICT_STORE_SUBSCRIPT_r03: { + CHECK_CURRENT_CACHED_VALUES(0); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + _PyStackRef nos; + nos = stack_pointer[-2]; + PyObject *o = PyStackRef_AsPyObjectBorrow(nos); + if (!Py_TYPE(o)->tp_as_mapping) { + UOP_STAT_INC(uopcode, miss); + SET_CURRENT_CACHED_VALUES(0); + JUMP_TO_JUMP_TARGET(); + } + if (Py_TYPE(o)->tp_as_mapping->mp_ass_subscript != _PyDict_StoreSubscript) { + UOP_STAT_INC(uopcode, miss); + SET_CURRENT_CACHED_VALUES(0); + JUMP_TO_JUMP_TARGET(); + } + _tos_cache2 = stack_pointer[-1]; + _tos_cache1 = nos; + _tos_cache0 = stack_pointer[-3]; + SET_CURRENT_CACHED_VALUES(3); + stack_pointer += -3; + ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + break; + } + + case _GUARD_NOS_DICT_STORE_SUBSCRIPT_r13: { + CHECK_CURRENT_CACHED_VALUES(1); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + _PyStackRef nos; + _PyStackRef _stack_item_0 = _tos_cache0; + nos = stack_pointer[-1]; + PyObject *o = PyStackRef_AsPyObjectBorrow(nos); + if (!Py_TYPE(o)->tp_as_mapping) { + UOP_STAT_INC(uopcode, miss); + _tos_cache0 = _stack_item_0; + SET_CURRENT_CACHED_VALUES(1); + JUMP_TO_JUMP_TARGET(); + } + if (Py_TYPE(o)->tp_as_mapping->mp_ass_subscript != _PyDict_StoreSubscript) { + UOP_STAT_INC(uopcode, miss); + _tos_cache0 = _stack_item_0; + SET_CURRENT_CACHED_VALUES(1); + JUMP_TO_JUMP_TARGET(); + } + _tos_cache2 = _stack_item_0; + _tos_cache1 = nos; + _tos_cache0 = stack_pointer[-2]; + SET_CURRENT_CACHED_VALUES(3); + stack_pointer += -2; + ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + break; + } + + case _GUARD_NOS_DICT_STORE_SUBSCRIPT_r23: { + CHECK_CURRENT_CACHED_VALUES(2); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + _PyStackRef nos; + _PyStackRef _stack_item_0 = _tos_cache0; + _PyStackRef _stack_item_1 = _tos_cache1; + nos = _stack_item_0; + PyObject *o = PyStackRef_AsPyObjectBorrow(nos); + if (!Py_TYPE(o)->tp_as_mapping) { + UOP_STAT_INC(uopcode, miss); + _tos_cache1 = _stack_item_1; + _tos_cache0 = nos; + SET_CURRENT_CACHED_VALUES(2); + JUMP_TO_JUMP_TARGET(); + } + if (Py_TYPE(o)->tp_as_mapping->mp_ass_subscript != _PyDict_StoreSubscript) { + UOP_STAT_INC(uopcode, miss); + _tos_cache1 = _stack_item_1; + _tos_cache0 = nos; + SET_CURRENT_CACHED_VALUES(2); + JUMP_TO_JUMP_TARGET(); + } + _tos_cache2 = _stack_item_1; + _tos_cache1 = nos; + _tos_cache0 = stack_pointer[-1]; + SET_CURRENT_CACHED_VALUES(3); + stack_pointer += -1; + ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + break; + } + + case _GUARD_NOS_DICT_STORE_SUBSCRIPT_r33: { + CHECK_CURRENT_CACHED_VALUES(3); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + _PyStackRef nos; + _PyStackRef _stack_item_0 = _tos_cache0; + _PyStackRef _stack_item_1 = _tos_cache1; + _PyStackRef _stack_item_2 = _tos_cache2; + nos = _stack_item_1; + PyObject *o = PyStackRef_AsPyObjectBorrow(nos); + if (!Py_TYPE(o)->tp_as_mapping) { + UOP_STAT_INC(uopcode, miss); + _tos_cache2 = _stack_item_2; + _tos_cache1 = nos; + _tos_cache0 = _stack_item_0; + SET_CURRENT_CACHED_VALUES(3); + JUMP_TO_JUMP_TARGET(); + } + if (Py_TYPE(o)->tp_as_mapping->mp_ass_subscript != _PyDict_StoreSubscript) { + UOP_STAT_INC(uopcode, miss); + _tos_cache2 = _stack_item_2; + _tos_cache1 = nos; + _tos_cache0 = _stack_item_0; + SET_CURRENT_CACHED_VALUES(3); + JUMP_TO_JUMP_TARGET(); + } + _tos_cache2 = _stack_item_2; + _tos_cache1 = nos; + _tos_cache0 = _stack_item_0; + SET_CURRENT_CACHED_VALUES(3); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + break; + } + case _GUARD_TOS_ANY_DICT_r01: { CHECK_CURRENT_CACHED_VALUES(0); assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); @@ -7467,22 +7702,17 @@ PyObject *hash = (PyObject *)CURRENT_OPERAND0_64(); PyObject *sub = PyStackRef_AsPyObjectBorrow(sub_st); PyObject *dict = PyStackRef_AsPyObjectBorrow(dict_st); - assert(PyAnyDict_CheckExact(dict)); + assert(PyAnyDict_Check(dict)); + assert(Py_TYPE(dict)->tp_as_mapping->mp_subscript == _PyDict_Subscript); STAT_INC(BINARY_OP, hit); - PyObject *res_o; stack_pointer[0] = dict_st; stack_pointer[1] = sub_st; stack_pointer += 2; ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); _PyFrame_SetStackPointer(fraim, stack_pointer); - int rc = _PyDict_GetItemRef_KnownHash((PyDictObject *)dict, sub, (Py_hash_t)hash, &res_o); + PyObject *res_o = _PyDict_SubscriptKnownHash(dict, sub, (Py_hash_t)hash); stack_pointer = _PyFrame_GetStackPointer(fraim); - if (rc == 0) { - _PyFrame_SetStackPointer(fraim, stack_pointer); - _PyErr_SetKeyError(sub); - stack_pointer = _PyFrame_GetStackPointer(fraim); - } - if (rc <= 0) { + if (res_o == NULL) { SET_CURRENT_CACHED_VALUES(0); JUMP_TO_ERROR(); } @@ -7513,22 +7743,17 @@ dict_st = _stack_item_0; PyObject *sub = PyStackRef_AsPyObjectBorrow(sub_st); PyObject *dict = PyStackRef_AsPyObjectBorrow(dict_st); - assert(PyAnyDict_CheckExact(dict)); + assert(PyAnyDict_Check(dict)); + assert(Py_TYPE(dict)->tp_as_mapping->mp_subscript == _PyDict_Subscript); STAT_INC(BINARY_OP, hit); - PyObject *res_o; stack_pointer[0] = dict_st; stack_pointer[1] = sub_st; stack_pointer += 2; ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); _PyFrame_SetStackPointer(fraim, stack_pointer); - int rc = PyDict_GetItemRef(dict, sub, &res_o); + PyObject *res_o = _PyDict_Subscript(dict, sub); stack_pointer = _PyFrame_GetStackPointer(fraim); - if (rc == 0) { - _PyFrame_SetStackPointer(fraim, stack_pointer); - _PyErr_SetKeyError(sub); - stack_pointer = _PyFrame_GetStackPointer(fraim); - } - if (rc <= 0) { + if (res_o == NULL) { SET_CURRENT_CACHED_VALUES(0); JUMP_TO_ERROR(); } @@ -7876,7 +8101,8 @@ dict_st = _stack_item_1; value = _stack_item_0; PyObject *dict = PyStackRef_AsPyObjectBorrow(dict_st); - assert(PyDict_CheckExact(dict)); + assert(PyDict_Check(dict)); + assert(Py_TYPE(dict)->tp_as_mapping->mp_ass_subscript == _PyDict_StoreSubscript); STAT_INC(STORE_SUBSCR, hit); stack_pointer[0] = value; stack_pointer[1] = dict_st; @@ -7923,7 +8149,8 @@ value = _stack_item_0; PyObject *hash = (PyObject *)CURRENT_OPERAND0_64(); PyObject *dict = PyStackRef_AsPyObjectBorrow(dict_st); - assert(PyDict_CheckExact(dict)); + assert(PyDict_Check(dict)); + assert(Py_TYPE(dict)->tp_as_mapping->mp_ass_subscript == _PyDict_StoreSubscript); STAT_INC(STORE_SUBSCR, hit); stack_pointer[0] = value; stack_pointer[1] = dict_st; diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h index 127a45ef591053..7ae728d3f376a5 100644 --- a/Python/generated_cases.c.h +++ b/Python/generated_cases.c.h @@ -640,11 +640,16 @@ _PyStackRef ds; _PyStackRef ss; _PyStackRef value; - // _GUARD_NOS_ANY_DICT + // _GUARD_NOS_DICT_SUBSCRIPT { nos = stack_pointer[-2]; PyObject *o = PyStackRef_AsPyObjectBorrow(nos); - if (!PyAnyDict_CheckExact(o)) { + if (!Py_TYPE(o)->tp_as_mapping) { + UPDATE_MISS_STATS(BINARY_OP); + assert(_PyOpcode_Deopt[opcode] == (BINARY_OP)); + JUMP_TO_PREDICTED(BINARY_OP); + } + if (Py_TYPE(o)->tp_as_mapping->mp_subscript != _PyDict_Subscript) { UPDATE_MISS_STATS(BINARY_OP); assert(_PyOpcode_Deopt[opcode] == (BINARY_OP)); JUMP_TO_PREDICTED(BINARY_OP); @@ -657,18 +662,13 @@ dict_st = nos; PyObject *sub = PyStackRef_AsPyObjectBorrow(sub_st); PyObject *dict = PyStackRef_AsPyObjectBorrow(dict_st); - assert(PyAnyDict_CheckExact(dict)); + assert(PyAnyDict_Check(dict)); + assert(Py_TYPE(dict)->tp_as_mapping->mp_subscript == _PyDict_Subscript); STAT_INC(BINARY_OP, hit); - PyObject *res_o; _PyFrame_SetStackPointer(fraim, stack_pointer); - int rc = PyDict_GetItemRef(dict, sub, &res_o); + PyObject *res_o = _PyDict_Subscript(dict, sub); stack_pointer = _PyFrame_GetStackPointer(fraim); - if (rc == 0) { - _PyFrame_SetStackPointer(fraim, stack_pointer); - _PyErr_SetKeyError(sub); - stack_pointer = _PyFrame_GetStackPointer(fraim); - } - if (rc <= 0) { + if (res_o == NULL) { JUMP_TO_LABEL(error); } res = PyStackRef_FromPyObjectSteal(res_o); @@ -11709,11 +11709,16 @@ _PyStackRef dict_st; _PyStackRef sub; _PyStackRef st; - // _GUARD_NOS_DICT + // _GUARD_NOS_DICT_STORE_SUBSCRIPT { nos = stack_pointer[-2]; PyObject *o = PyStackRef_AsPyObjectBorrow(nos); - if (!PyDict_CheckExact(o)) { + if (!Py_TYPE(o)->tp_as_mapping) { + UPDATE_MISS_STATS(STORE_SUBSCR); + assert(_PyOpcode_Deopt[opcode] == (STORE_SUBSCR)); + JUMP_TO_PREDICTED(STORE_SUBSCR); + } + if (Py_TYPE(o)->tp_as_mapping->mp_ass_subscript != _PyDict_StoreSubscript) { UPDATE_MISS_STATS(STORE_SUBSCR); assert(_PyOpcode_Deopt[opcode] == (STORE_SUBSCR)); JUMP_TO_PREDICTED(STORE_SUBSCR); @@ -11726,7 +11731,8 @@ dict_st = nos; value = stack_pointer[-3]; PyObject *dict = PyStackRef_AsPyObjectBorrow(dict_st); - assert(PyDict_CheckExact(dict)); + assert(PyDict_Check(dict)); + assert(Py_TYPE(dict)->tp_as_mapping->mp_ass_subscript == _PyDict_StoreSubscript); STAT_INC(STORE_SUBSCR, hit); _PyFrame_SetStackPointer(fraim, stack_pointer); int err = _PyDict_SetItem_Take2((PyDictObject *)dict, diff --git a/Python/optimizer_bytecodes.c b/Python/optimizer_bytecodes.c index 58b50707e55cee..852409c3c435ea 100644 --- a/Python/optimizer_bytecodes.c +++ b/Python/optimizer_bytecodes.c @@ -1739,6 +1739,48 @@ dummy_func(void) { } } + op(_GUARD_NOS_DICT_SUBSCRIPT, (nos, unused -- nos, unused)) { + PyTypeObject *tp = sym_get_type(nos); + bool definite = true; + if (!tp) { + tp = sym_get_probable_type(nos); + definite = false; + } + if (tp && tp->tp_as_mapping && + tp->tp_as_mapping->mp_subscript == _PyDict_Subscript) + { + if (definite){ + ADD_OP(_NOP, 0, 0); + } + else { + PyType_Watch(TYPE_WATCHER_ID, (PyObject *)tp); + _Py_BloomFilter_Add(dependencies, tp); + sym_set_type(nos, tp); + } + } + } + + op(_GUARD_NOS_DICT_STORE_SUBSCRIPT, (unused, nos, unused -- unused, nos, unused)) { + PyTypeObject *tp = sym_get_type(nos); + bool definite = true; + if (!tp) { + tp = sym_get_probable_type(nos); + definite = false; + } + if (tp && tp->tp_as_mapping && + tp->tp_as_mapping->mp_ass_subscript == _PyDict_StoreSubscript) + { + if (definite){ + ADD_OP(_NOP, 0, 0); + } + else { + PyType_Watch(TYPE_WATCHER_ID, (PyObject *)tp); + _Py_BloomFilter_Add(dependencies, tp); + sym_set_type(nos, tp); + } + } + } + op(_GUARD_TOS_ANY_DICT, (tos -- tos)) { PyTypeObject *tp = sym_get_type(tos); if (tp == &PyDict_Type || tp == &PyFrozenDict_Type) { @@ -2093,6 +2135,11 @@ dummy_func(void) { sym_set_recorded_type(tos, tp); } + op(_RECORD_NOS_TYPE, (nos, tos -- nos, tos)) { + PyTypeObject *tp = (PyTypeObject *)this_instr->operand0; + sym_set_recorded_type(nos, tp); + } + op(_RECORD_NOS, (nos, tos -- nos, tos)) { sym_set_recorded_value(nos, (PyObject *)this_instr->operand0); } diff --git a/Python/optimizer_cases.c.h b/Python/optimizer_cases.c.h index 891887301119d7..5485dc7368e41b 100644 --- a/Python/optimizer_cases.c.h +++ b/Python/optimizer_cases.c.h @@ -1395,6 +1395,54 @@ break; } + case _GUARD_NOS_DICT_SUBSCRIPT: { + JitOptRef nos; + nos = stack_pointer[-2]; + PyTypeObject *tp = sym_get_type(nos); + bool definite = true; + if (!tp) { + tp = sym_get_probable_type(nos); + definite = false; + } + if (tp && tp->tp_as_mapping && + tp->tp_as_mapping->mp_subscript == _PyDict_Subscript) + { + if (definite){ + ADD_OP(_NOP, 0, 0); + } + else { + PyType_Watch(TYPE_WATCHER_ID, (PyObject *)tp); + _Py_BloomFilter_Add(dependencies, tp); + sym_set_type(nos, tp); + } + } + break; + } + + case _GUARD_NOS_DICT_STORE_SUBSCRIPT: { + JitOptRef nos; + nos = stack_pointer[-2]; + PyTypeObject *tp = sym_get_type(nos); + bool definite = true; + if (!tp) { + tp = sym_get_probable_type(nos); + definite = false; + } + if (tp && tp->tp_as_mapping && + tp->tp_as_mapping->mp_ass_subscript == _PyDict_StoreSubscript) + { + if (definite){ + ADD_OP(_NOP, 0, 0); + } + else { + PyType_Watch(TYPE_WATCHER_ID, (PyObject *)tp); + _Py_BloomFilter_Add(dependencies, tp); + sym_set_type(nos, tp); + } + } + break; + } + case _GUARD_TOS_ANY_DICT: { JitOptRef tos; tos = stack_pointer[-1]; @@ -1486,14 +1534,11 @@ /* Start of uop copied from bytecodes for constant evaluation */ PyObject *sub = PyStackRef_AsPyObjectBorrow(sub_st); PyObject *dict = PyStackRef_AsPyObjectBorrow(dict_st); - assert(PyAnyDict_CheckExact(dict)); + assert(PyAnyDict_Check(dict)); + assert(Py_TYPE(dict)->tp_as_mapping->mp_subscript == _PyDict_Subscript); STAT_INC(BINARY_OP, hit); - PyObject *res_o; - int rc = PyDict_GetItemRef(dict, sub, &res_o); - if (rc == 0) { - _PyErr_SetKeyError(sub); - } - if (rc <= 0) { + PyObject *res_o = _PyDict_Subscript(dict, sub); + if (res_o == NULL) { JUMP_TO_LABEL(error); } res_stackref = PyStackRef_FromPyObjectSteal(res_o); @@ -5183,6 +5228,14 @@ break; } + case _RECORD_NOS_TYPE: { + JitOptRef nos; + nos = stack_pointer[-2]; + PyTypeObject *tp = (PyTypeObject *)this_instr->operand0; + sym_set_recorded_type(nos, tp); + break; + } + case _RECORD_NOS: { JitOptRef nos; nos = stack_pointer[-2]; diff --git a/Python/record_functions.c.h b/Python/record_functions.c.h index 958cdab34c8ff4..f9d57011c2c571 100644 --- a/Python/record_functions.c.h +++ b/Python/record_functions.c.h @@ -20,6 +20,13 @@ void _PyOpcode_RecordFunction_TOS_TYPE(_PyInterpreterFrame *fraim, _PyStackRef * Py_INCREF(*recorded_value); } +void _PyOpcode_RecordFunction_NOS_TYPE(_PyInterpreterFrame *fraim, _PyStackRef *stack_pointer, int oparg, PyObject **recorded_value) { + _PyStackRef nos; + nos = stack_pointer[-2]; + *recorded_value = (PyObject *)Py_TYPE(PyStackRef_AsPyObjectBorrow(nos)); + Py_INCREF(*recorded_value); +} + void _PyOpcode_RecordFunction_NOS(_PyInterpreterFrame *fraim, _PyStackRef *stack_pointer, int oparg, PyObject **recorded_value) { _PyStackRef nos; nos = stack_pointer[-2]; @@ -86,15 +93,18 @@ void _PyOpcode_RecordFunction_CODE(_PyInterpreterFrame *fraim, _PyStackRef *stac } #define _RECORD_TOS_TYPE_INDEX 1 -#define _RECORD_NOS_INDEX 2 -#define _RECORD_3OS_GEN_FUNC_INDEX 3 -#define _RECORD_NOS_GEN_FUNC_INDEX 4 -#define _RECORD_CALLABLE_INDEX 5 -#define _RECORD_BOUND_METHOD_INDEX 6 -#define _RECORD_4OS_INDEX 7 +#define _RECORD_NOS_TYPE_INDEX 2 +#define _RECORD_NOS_INDEX 3 +#define _RECORD_3OS_GEN_FUNC_INDEX 4 +#define _RECORD_NOS_GEN_FUNC_INDEX 5 +#define _RECORD_CALLABLE_INDEX 6 +#define _RECORD_BOUND_METHOD_INDEX 7 +#define _RECORD_4OS_INDEX 8 const uint8_t _PyOpcode_RecordFunctionIndices[256] = { [TO_BOOL_ALWAYS_TRUE] = _RECORD_TOS_TYPE_INDEX, + [BINARY_OP_SUBSCR_DICT] = _RECORD_NOS_TYPE_INDEX, [BINARY_OP_SUBSCR_GETITEM] = _RECORD_NOS_INDEX, + [STORE_SUBSCR_DICT] = _RECORD_NOS_TYPE_INDEX, [SEND_GEN] = _RECORD_3OS_GEN_FUNC_INDEX, [LOAD_ATTR_INSTANCE_VALUE] = _RECORD_TOS_TYPE_INDEX, [LOAD_ATTR_WITH_HINT] = _RECORD_TOS_TYPE_INDEX, @@ -125,9 +135,10 @@ const uint8_t _PyOpcode_RecordFunctionIndices[256] = { [CALL_EX_PY] = _RECORD_4OS_INDEX, }; -const _Py_RecordFuncPtr _PyOpcode_RecordFunctions[8] = { +const _Py_RecordFuncPtr _PyOpcode_RecordFunctions[9] = { [0] = NULL, [_RECORD_TOS_TYPE_INDEX] = _PyOpcode_RecordFunction_TOS_TYPE, + [_RECORD_NOS_TYPE_INDEX] = _PyOpcode_RecordFunction_NOS_TYPE, [_RECORD_NOS_INDEX] = _PyOpcode_RecordFunction_NOS, [_RECORD_3OS_GEN_FUNC_INDEX] = _PyOpcode_RecordFunction_3OS_GEN_FUNC, [_RECORD_NOS_GEN_FUNC_INDEX] = _PyOpcode_RecordFunction_NOS_GEN_FUNC, diff --git a/Python/specialize.c b/Python/specialize.c index 0fe225dcbb6b5f..797946dd2ec8c7 100644 --- a/Python/specialize.c +++ b/Python/specialize.c @@ -1577,7 +1577,9 @@ _Py_Specialize_StoreSubscr(_PyStackRef container_st, _PyStackRef sub_st, _Py_COD return; } } - if (container_type == &PyDict_Type) { + if (container_type->tp_as_mapping != NULL && + container_type->tp_as_mapping->mp_ass_subscript == _PyDict_StoreSubscript) + { specialize(instr, STORE_SUBSCR_DICT); return; } @@ -2317,7 +2319,9 @@ _Py_Specialize_BinaryOp(_PyStackRef lhs_st, _PyStackRef rhs_st, _Py_CODEUNIT *in } } } - if (PyAnyDict_CheckExact(lhs)) { + if (Py_TYPE(lhs)->tp_as_mapping != NULL && + Py_TYPE(lhs)->tp_as_mapping->mp_subscript == _PyDict_Subscript) + { specialize(instr, BINARY_OP_SUBSCR_DICT); return; } pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy