]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
GH-138245: Perform boolean guards by testing a single bit, rather than a full pointer...
authorMark Shannon <Mark.Shannon@arm.com>
Wed, 21 Jan 2026 15:58:27 +0000 (15:58 +0000)
committerGitHub <noreply@github.com>
Wed, 21 Jan 2026 15:58:27 +0000 (15:58 +0000)
Include/internal/pycore_uop_ids.h
Include/internal/pycore_uop_metadata.h
Lib/test/test_capi/test_opt.py
Python/bytecodes.c
Python/executor_cases.c.h
Python/optimizer_analysis.c
Python/optimizer_bytecodes.c
Python/optimizer_cases.c.h

index 8fd7cef3368e1314af747f5a5bfd06df1f83e402..5cda407ba89d9305a7ac47c2d272fa89d08fff21 100644 (file)
@@ -131,62 +131,72 @@ extern "C" {
 #define _GET_YIELD_FROM_ITER GET_YIELD_FROM_ITER
 #define _GUARD_BINARY_OP_EXTEND 387
 #define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS 388
-#define _GUARD_CALLABLE_ISINSTANCE 389
-#define _GUARD_CALLABLE_LEN 390
-#define _GUARD_CALLABLE_LIST_APPEND 391
-#define _GUARD_CALLABLE_STR_1 392
-#define _GUARD_CALLABLE_TUPLE_1 393
-#define _GUARD_CALLABLE_TYPE_1 394
-#define _GUARD_DORV_NO_DICT 395
-#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 396
-#define _GUARD_GLOBALS_VERSION 397
-#define _GUARD_IP_RETURN_GENERATOR 398
-#define _GUARD_IP_RETURN_VALUE 399
-#define _GUARD_IP_YIELD_VALUE 400
-#define _GUARD_IP__PUSH_FRAME 401
-#define _GUARD_IS_FALSE_POP 402
-#define _GUARD_IS_NONE_POP 403
-#define _GUARD_IS_NOT_NONE_POP 404
-#define _GUARD_IS_TRUE_POP 405
-#define _GUARD_KEYS_VERSION 406
-#define _GUARD_NOS_COMPACT_ASCII 407
-#define _GUARD_NOS_DICT 408
-#define _GUARD_NOS_FLOAT 409
-#define _GUARD_NOS_INT 410
-#define _GUARD_NOS_LIST 411
-#define _GUARD_NOS_NOT_NULL 412
-#define _GUARD_NOS_NULL 413
-#define _GUARD_NOS_OVERFLOWED 414
-#define _GUARD_NOS_TUPLE 415
-#define _GUARD_NOS_UNICODE 416
-#define _GUARD_NOT_EXHAUSTED_LIST 417
-#define _GUARD_NOT_EXHAUSTED_RANGE 418
-#define _GUARD_NOT_EXHAUSTED_TUPLE 419
-#define _GUARD_THIRD_NULL 420
-#define _GUARD_TOS_ANY_SET 421
-#define _GUARD_TOS_DICT 422
-#define _GUARD_TOS_FLOAT 423
-#define _GUARD_TOS_INT 424
-#define _GUARD_TOS_LIST 425
-#define _GUARD_TOS_OVERFLOWED 426
-#define _GUARD_TOS_SLICE 427
-#define _GUARD_TOS_TUPLE 428
-#define _GUARD_TOS_UNICODE 429
-#define _GUARD_TYPE_VERSION 430
-#define _GUARD_TYPE_VERSION_AND_LOCK 431
-#define _HANDLE_PENDING_AND_DEOPT 432
+#define _GUARD_BIT_IS_SET_POP 389
+#define _GUARD_BIT_IS_SET_POP_4 390
+#define _GUARD_BIT_IS_SET_POP_5 391
+#define _GUARD_BIT_IS_SET_POP_6 392
+#define _GUARD_BIT_IS_SET_POP_7 393
+#define _GUARD_BIT_IS_UNSET_POP 394
+#define _GUARD_BIT_IS_UNSET_POP_4 395
+#define _GUARD_BIT_IS_UNSET_POP_5 396
+#define _GUARD_BIT_IS_UNSET_POP_6 397
+#define _GUARD_BIT_IS_UNSET_POP_7 398
+#define _GUARD_CALLABLE_ISINSTANCE 399
+#define _GUARD_CALLABLE_LEN 400
+#define _GUARD_CALLABLE_LIST_APPEND 401
+#define _GUARD_CALLABLE_STR_1 402
+#define _GUARD_CALLABLE_TUPLE_1 403
+#define _GUARD_CALLABLE_TYPE_1 404
+#define _GUARD_DORV_NO_DICT 405
+#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 406
+#define _GUARD_GLOBALS_VERSION 407
+#define _GUARD_IP_RETURN_GENERATOR 408
+#define _GUARD_IP_RETURN_VALUE 409
+#define _GUARD_IP_YIELD_VALUE 410
+#define _GUARD_IP__PUSH_FRAME 411
+#define _GUARD_IS_FALSE_POP 412
+#define _GUARD_IS_NONE_POP 413
+#define _GUARD_IS_NOT_NONE_POP 414
+#define _GUARD_IS_TRUE_POP 415
+#define _GUARD_KEYS_VERSION 416
+#define _GUARD_NOS_COMPACT_ASCII 417
+#define _GUARD_NOS_DICT 418
+#define _GUARD_NOS_FLOAT 419
+#define _GUARD_NOS_INT 420
+#define _GUARD_NOS_LIST 421
+#define _GUARD_NOS_NOT_NULL 422
+#define _GUARD_NOS_NULL 423
+#define _GUARD_NOS_OVERFLOWED 424
+#define _GUARD_NOS_TUPLE 425
+#define _GUARD_NOS_UNICODE 426
+#define _GUARD_NOT_EXHAUSTED_LIST 427
+#define _GUARD_NOT_EXHAUSTED_RANGE 428
+#define _GUARD_NOT_EXHAUSTED_TUPLE 429
+#define _GUARD_THIRD_NULL 430
+#define _GUARD_TOS_ANY_SET 431
+#define _GUARD_TOS_DICT 432
+#define _GUARD_TOS_FLOAT 433
+#define _GUARD_TOS_INT 434
+#define _GUARD_TOS_LIST 435
+#define _GUARD_TOS_OVERFLOWED 436
+#define _GUARD_TOS_SLICE 437
+#define _GUARD_TOS_TUPLE 438
+#define _GUARD_TOS_UNICODE 439
+#define _GUARD_TYPE_VERSION 440
+#define _GUARD_TYPE_VERSION_AND_LOCK 441
+#define _HANDLE_PENDING_AND_DEOPT 442
 #define _IMPORT_FROM IMPORT_FROM
 #define _IMPORT_NAME IMPORT_NAME
-#define _INIT_CALL_BOUND_METHOD_EXACT_ARGS 433
-#define _INIT_CALL_PY_EXACT_ARGS 434
-#define _INIT_CALL_PY_EXACT_ARGS_0 435
-#define _INIT_CALL_PY_EXACT_ARGS_1 436
-#define _INIT_CALL_PY_EXACT_ARGS_2 437
-#define _INIT_CALL_PY_EXACT_ARGS_3 438
-#define _INIT_CALL_PY_EXACT_ARGS_4 439
-#define _INSERT_1_LOAD_CONST_INLINE_BORROW 440
-#define _INSERT_2_LOAD_CONST_INLINE_BORROW 441
-#define _INSERT_NULL 442
+#define _INIT_CALL_BOUND_METHOD_EXACT_ARGS 443
+#define _INIT_CALL_PY_EXACT_ARGS 444
+#define _INIT_CALL_PY_EXACT_ARGS_0 445
+#define _INIT_CALL_PY_EXACT_ARGS_1 446
+#define _INIT_CALL_PY_EXACT_ARGS_2 447
+#define _INIT_CALL_PY_EXACT_ARGS_3 448
+#define _INIT_CALL_PY_EXACT_ARGS_4 449
+#define _INSERT_1_LOAD_CONST_INLINE_BORROW 450
+#define _INSERT_2_LOAD_CONST_INLINE_BORROW 451
+#define _INSERT_NULL 452
 #define _INSTRUMENTED_FOR_ITER INSTRUMENTED_FOR_ITER
 #define _INSTRUMENTED_INSTRUCTION INSTRUMENTED_INSTRUCTION
 #define _INSTRUMENTED_JUMP_FORWARD INSTRUMENTED_JUMP_FORWARD
@@ -196,995 +206,1035 @@ 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 443
-#define _IS_OP 444
-#define _ITER_CHECK_LIST 445
-#define _ITER_CHECK_RANGE 446
-#define _ITER_CHECK_TUPLE 447
-#define _ITER_JUMP_LIST 448
-#define _ITER_JUMP_RANGE 449
-#define _ITER_JUMP_TUPLE 450
-#define _ITER_NEXT_LIST 451
-#define _ITER_NEXT_LIST_TIER_TWO 452
-#define _ITER_NEXT_RANGE 453
-#define _ITER_NEXT_TUPLE 454
+#define _IS_NONE 453
+#define _IS_OP 454
+#define _ITER_CHECK_LIST 455
+#define _ITER_CHECK_RANGE 456
+#define _ITER_CHECK_TUPLE 457
+#define _ITER_JUMP_LIST 458
+#define _ITER_JUMP_RANGE 459
+#define _ITER_JUMP_TUPLE 460
+#define _ITER_NEXT_LIST 461
+#define _ITER_NEXT_LIST_TIER_TWO 462
+#define _ITER_NEXT_RANGE 463
+#define _ITER_NEXT_TUPLE 464
 #define _JUMP_BACKWARD_NO_INTERRUPT JUMP_BACKWARD_NO_INTERRUPT
-#define _JUMP_TO_TOP 455
+#define _JUMP_TO_TOP 465
 #define _LIST_APPEND LIST_APPEND
 #define _LIST_EXTEND LIST_EXTEND
-#define _LOAD_ATTR 456
-#define _LOAD_ATTR_CLASS 457
+#define _LOAD_ATTR 466
+#define _LOAD_ATTR_CLASS 467
 #define _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN
-#define _LOAD_ATTR_INSTANCE_VALUE 458
-#define _LOAD_ATTR_METHOD_LAZY_DICT 459
-#define _LOAD_ATTR_METHOD_NO_DICT 460
-#define _LOAD_ATTR_METHOD_WITH_VALUES 461
-#define _LOAD_ATTR_MODULE 462
-#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT 463
-#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 464
-#define _LOAD_ATTR_PROPERTY_FRAME 465
-#define _LOAD_ATTR_SLOT 466
-#define _LOAD_ATTR_WITH_HINT 467
+#define _LOAD_ATTR_INSTANCE_VALUE 468
+#define _LOAD_ATTR_METHOD_LAZY_DICT 469
+#define _LOAD_ATTR_METHOD_NO_DICT 470
+#define _LOAD_ATTR_METHOD_WITH_VALUES 471
+#define _LOAD_ATTR_MODULE 472
+#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT 473
+#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 474
+#define _LOAD_ATTR_PROPERTY_FRAME 475
+#define _LOAD_ATTR_SLOT 476
+#define _LOAD_ATTR_WITH_HINT 477
 #define _LOAD_BUILD_CLASS LOAD_BUILD_CLASS
-#define _LOAD_BYTECODE 468
+#define _LOAD_BYTECODE 478
 #define _LOAD_COMMON_CONSTANT LOAD_COMMON_CONSTANT
 #define _LOAD_CONST LOAD_CONST
-#define _LOAD_CONST_INLINE 469
-#define _LOAD_CONST_INLINE_BORROW 470
-#define _LOAD_CONST_UNDER_INLINE 471
-#define _LOAD_CONST_UNDER_INLINE_BORROW 472
+#define _LOAD_CONST_INLINE 479
+#define _LOAD_CONST_INLINE_BORROW 480
+#define _LOAD_CONST_UNDER_INLINE 481
+#define _LOAD_CONST_UNDER_INLINE_BORROW 482
 #define _LOAD_DEREF LOAD_DEREF
-#define _LOAD_FAST 473
-#define _LOAD_FAST_0 474
-#define _LOAD_FAST_1 475
-#define _LOAD_FAST_2 476
-#define _LOAD_FAST_3 477
-#define _LOAD_FAST_4 478
-#define _LOAD_FAST_5 479
-#define _LOAD_FAST_6 480
-#define _LOAD_FAST_7 481
+#define _LOAD_FAST 483
+#define _LOAD_FAST_0 484
+#define _LOAD_FAST_1 485
+#define _LOAD_FAST_2 486
+#define _LOAD_FAST_3 487
+#define _LOAD_FAST_4 488
+#define _LOAD_FAST_5 489
+#define _LOAD_FAST_6 490
+#define _LOAD_FAST_7 491
 #define _LOAD_FAST_AND_CLEAR LOAD_FAST_AND_CLEAR
-#define _LOAD_FAST_BORROW 482
-#define _LOAD_FAST_BORROW_0 483
-#define _LOAD_FAST_BORROW_1 484
-#define _LOAD_FAST_BORROW_2 485
-#define _LOAD_FAST_BORROW_3 486
-#define _LOAD_FAST_BORROW_4 487
-#define _LOAD_FAST_BORROW_5 488
-#define _LOAD_FAST_BORROW_6 489
-#define _LOAD_FAST_BORROW_7 490
+#define _LOAD_FAST_BORROW 492
+#define _LOAD_FAST_BORROW_0 493
+#define _LOAD_FAST_BORROW_1 494
+#define _LOAD_FAST_BORROW_2 495
+#define _LOAD_FAST_BORROW_3 496
+#define _LOAD_FAST_BORROW_4 497
+#define _LOAD_FAST_BORROW_5 498
+#define _LOAD_FAST_BORROW_6 499
+#define _LOAD_FAST_BORROW_7 500
 #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 491
-#define _LOAD_GLOBAL_BUILTINS 492
-#define _LOAD_GLOBAL_MODULE 493
+#define _LOAD_GLOBAL 501
+#define _LOAD_GLOBAL_BUILTINS 502
+#define _LOAD_GLOBAL_MODULE 503
 #define _LOAD_LOCALS LOAD_LOCALS
 #define _LOAD_NAME LOAD_NAME
-#define _LOAD_SMALL_INT 494
-#define _LOAD_SMALL_INT_0 495
-#define _LOAD_SMALL_INT_1 496
-#define _LOAD_SMALL_INT_2 497
-#define _LOAD_SMALL_INT_3 498
-#define _LOAD_SPECIAL 499
+#define _LOAD_SMALL_INT 504
+#define _LOAD_SMALL_INT_0 505
+#define _LOAD_SMALL_INT_1 506
+#define _LOAD_SMALL_INT_2 507
+#define _LOAD_SMALL_INT_3 508
+#define _LOAD_SPECIAL 509
 #define _LOAD_SUPER_ATTR_ATTR LOAD_SUPER_ATTR_ATTR
 #define _LOAD_SUPER_ATTR_METHOD LOAD_SUPER_ATTR_METHOD
-#define _MAKE_CALLARGS_A_TUPLE 500
+#define _MAKE_CALLARGS_A_TUPLE 510
 #define _MAKE_CELL MAKE_CELL
 #define _MAKE_FUNCTION MAKE_FUNCTION
-#define _MAKE_WARM 501
+#define _MAKE_WARM 511
 #define _MAP_ADD MAP_ADD
 #define _MATCH_CLASS MATCH_CLASS
 #define _MATCH_KEYS MATCH_KEYS
 #define _MATCH_MAPPING MATCH_MAPPING
 #define _MATCH_SEQUENCE MATCH_SEQUENCE
-#define _MAYBE_EXPAND_METHOD 502
-#define _MAYBE_EXPAND_METHOD_KW 503
-#define _MONITOR_CALL 504
-#define _MONITOR_CALL_KW 505
-#define _MONITOR_JUMP_BACKWARD 506
-#define _MONITOR_RESUME 507
+#define _MAYBE_EXPAND_METHOD 512
+#define _MAYBE_EXPAND_METHOD_KW 513
+#define _MONITOR_CALL 514
+#define _MONITOR_CALL_KW 515
+#define _MONITOR_JUMP_BACKWARD 516
+#define _MONITOR_RESUME 517
 #define _NOP NOP
-#define _POP_CALL 508
-#define _POP_CALL_LOAD_CONST_INLINE_BORROW 509
-#define _POP_CALL_ONE 510
-#define _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW 511
-#define _POP_CALL_TWO 512
-#define _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW 513
+#define _POP_CALL 518
+#define _POP_CALL_LOAD_CONST_INLINE_BORROW 519
+#define _POP_CALL_ONE 520
+#define _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW 521
+#define _POP_CALL_TWO 522
+#define _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW 523
 #define _POP_EXCEPT POP_EXCEPT
 #define _POP_ITER POP_ITER
-#define _POP_JUMP_IF_FALSE 514
-#define _POP_JUMP_IF_TRUE 515
+#define _POP_JUMP_IF_FALSE 524
+#define _POP_JUMP_IF_TRUE 525
 #define _POP_TOP POP_TOP
-#define _POP_TOP_FLOAT 516
-#define _POP_TOP_INT 517
-#define _POP_TOP_LOAD_CONST_INLINE 518
-#define _POP_TOP_LOAD_CONST_INLINE_BORROW 519
-#define _POP_TOP_NOP 520
-#define _POP_TOP_UNICODE 521
-#define _POP_TWO 522
-#define _POP_TWO_LOAD_CONST_INLINE_BORROW 523
+#define _POP_TOP_FLOAT 526
+#define _POP_TOP_INT 527
+#define _POP_TOP_LOAD_CONST_INLINE 528
+#define _POP_TOP_LOAD_CONST_INLINE_BORROW 529
+#define _POP_TOP_NOP 530
+#define _POP_TOP_UNICODE 531
+#define _POP_TWO 532
+#define _POP_TWO_LOAD_CONST_INLINE_BORROW 533
 #define _PUSH_EXC_INFO PUSH_EXC_INFO
-#define _PUSH_FRAME 524
+#define _PUSH_FRAME 534
 #define _PUSH_NULL PUSH_NULL
-#define _PUSH_NULL_CONDITIONAL 525
-#define _PY_FRAME_EX 526
-#define _PY_FRAME_GENERAL 527
-#define _PY_FRAME_KW 528
-#define _QUICKEN_RESUME 529
-#define _REPLACE_WITH_TRUE 530
+#define _PUSH_NULL_CONDITIONAL 535
+#define _PY_FRAME_EX 536
+#define _PY_FRAME_GENERAL 537
+#define _PY_FRAME_KW 538
+#define _QUICKEN_RESUME 539
+#define _REPLACE_WITH_TRUE 540
 #define _RESUME_CHECK RESUME_CHECK
 #define _RETURN_GENERATOR RETURN_GENERATOR
 #define _RETURN_VALUE RETURN_VALUE
-#define _SAVE_RETURN_OFFSET 531
-#define _SEND 532
-#define _SEND_GEN_FRAME 533
+#define _SAVE_RETURN_OFFSET 541
+#define _SEND 542
+#define _SEND_GEN_FRAME 543
 #define _SETUP_ANNOTATIONS SETUP_ANNOTATIONS
 #define _SET_ADD SET_ADD
 #define _SET_FUNCTION_ATTRIBUTE SET_FUNCTION_ATTRIBUTE
 #define _SET_UPDATE SET_UPDATE
-#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW 534
-#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW 535
-#define _SPILL_OR_RELOAD 536
-#define _START_EXECUTOR 537
-#define _STORE_ATTR 538
-#define _STORE_ATTR_INSTANCE_VALUE 539
-#define _STORE_ATTR_SLOT 540
-#define _STORE_ATTR_WITH_HINT 541
+#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW 544
+#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW 545
+#define _SPILL_OR_RELOAD 546
+#define _START_EXECUTOR 547
+#define _STORE_ATTR 548
+#define _STORE_ATTR_INSTANCE_VALUE 549
+#define _STORE_ATTR_SLOT 550
+#define _STORE_ATTR_WITH_HINT 551
 #define _STORE_DEREF STORE_DEREF
 #define _STORE_GLOBAL STORE_GLOBAL
 #define _STORE_NAME STORE_NAME
-#define _STORE_SLICE 542
-#define _STORE_SUBSCR 543
-#define _STORE_SUBSCR_DICT 544
-#define _STORE_SUBSCR_LIST_INT 545
-#define _SWAP 546
-#define _SWAP_2 547
-#define _SWAP_3 548
-#define _SWAP_FAST 549
-#define _SWAP_FAST_0 550
-#define _SWAP_FAST_1 551
-#define _SWAP_FAST_2 552
-#define _SWAP_FAST_3 553
-#define _SWAP_FAST_4 554
-#define _SWAP_FAST_5 555
-#define _SWAP_FAST_6 556
-#define _SWAP_FAST_7 557
-#define _TIER2_RESUME_CHECK 558
-#define _TO_BOOL 559
+#define _STORE_SLICE 552
+#define _STORE_SUBSCR 553
+#define _STORE_SUBSCR_DICT 554
+#define _STORE_SUBSCR_LIST_INT 555
+#define _SWAP 556
+#define _SWAP_2 557
+#define _SWAP_3 558
+#define _SWAP_FAST 559
+#define _SWAP_FAST_0 560
+#define _SWAP_FAST_1 561
+#define _SWAP_FAST_2 562
+#define _SWAP_FAST_3 563
+#define _SWAP_FAST_4 564
+#define _SWAP_FAST_5 565
+#define _SWAP_FAST_6 566
+#define _SWAP_FAST_7 567
+#define _TIER2_RESUME_CHECK 568
+#define _TO_BOOL 569
 #define _TO_BOOL_BOOL TO_BOOL_BOOL
-#define _TO_BOOL_INT 560
-#define _TO_BOOL_LIST 561
+#define _TO_BOOL_INT 570
+#define _TO_BOOL_LIST 571
 #define _TO_BOOL_NONE TO_BOOL_NONE
-#define _TO_BOOL_STR 562
+#define _TO_BOOL_STR 572
 #define _TRACE_RECORD TRACE_RECORD
-#define _UNARY_INVERT 563
-#define _UNARY_NEGATIVE 564
+#define _UNARY_INVERT 573
+#define _UNARY_NEGATIVE 574
 #define _UNARY_NOT UNARY_NOT
 #define _UNPACK_EX UNPACK_EX
-#define _UNPACK_SEQUENCE 565
-#define _UNPACK_SEQUENCE_LIST 566
-#define _UNPACK_SEQUENCE_TUPLE 567
-#define _UNPACK_SEQUENCE_TWO_TUPLE 568
+#define _UNPACK_SEQUENCE 575
+#define _UNPACK_SEQUENCE_LIST 576
+#define _UNPACK_SEQUENCE_TUPLE 577
+#define _UNPACK_SEQUENCE_TWO_TUPLE 578
 #define _WITH_EXCEPT_START WITH_EXCEPT_START
 #define _YIELD_VALUE YIELD_VALUE
-#define MAX_UOP_ID 568
-#define _BINARY_OP_r21 569
-#define _BINARY_OP_ADD_FLOAT_r03 570
-#define _BINARY_OP_ADD_FLOAT_r13 571
-#define _BINARY_OP_ADD_FLOAT_r23 572
-#define _BINARY_OP_ADD_INT_r03 573
-#define _BINARY_OP_ADD_INT_r13 574
-#define _BINARY_OP_ADD_INT_r23 575
-#define _BINARY_OP_ADD_UNICODE_r03 576
-#define _BINARY_OP_ADD_UNICODE_r13 577
-#define _BINARY_OP_ADD_UNICODE_r23 578
-#define _BINARY_OP_EXTEND_r21 579
-#define _BINARY_OP_INPLACE_ADD_UNICODE_r21 580
-#define _BINARY_OP_MULTIPLY_FLOAT_r03 581
-#define _BINARY_OP_MULTIPLY_FLOAT_r13 582
-#define _BINARY_OP_MULTIPLY_FLOAT_r23 583
-#define _BINARY_OP_MULTIPLY_INT_r03 584
-#define _BINARY_OP_MULTIPLY_INT_r13 585
-#define _BINARY_OP_MULTIPLY_INT_r23 586
-#define _BINARY_OP_SUBSCR_CHECK_FUNC_r23 587
-#define _BINARY_OP_SUBSCR_DICT_r23 588
-#define _BINARY_OP_SUBSCR_INIT_CALL_r01 589
-#define _BINARY_OP_SUBSCR_INIT_CALL_r11 590
-#define _BINARY_OP_SUBSCR_INIT_CALL_r21 591
-#define _BINARY_OP_SUBSCR_INIT_CALL_r31 592
-#define _BINARY_OP_SUBSCR_LIST_INT_r23 593
-#define _BINARY_OP_SUBSCR_LIST_SLICE_r21 594
-#define _BINARY_OP_SUBSCR_STR_INT_r23 595
-#define _BINARY_OP_SUBSCR_TUPLE_INT_r03 596
-#define _BINARY_OP_SUBSCR_TUPLE_INT_r13 597
-#define _BINARY_OP_SUBSCR_TUPLE_INT_r23 598
-#define _BINARY_OP_SUBSCR_USTR_INT_r23 599
-#define _BINARY_OP_SUBTRACT_FLOAT_r03 600
-#define _BINARY_OP_SUBTRACT_FLOAT_r13 601
-#define _BINARY_OP_SUBTRACT_FLOAT_r23 602
-#define _BINARY_OP_SUBTRACT_INT_r03 603
-#define _BINARY_OP_SUBTRACT_INT_r13 604
-#define _BINARY_OP_SUBTRACT_INT_r23 605
-#define _BINARY_SLICE_r31 606
-#define _BUILD_INTERPOLATION_r01 607
-#define _BUILD_LIST_r01 608
-#define _BUILD_MAP_r01 609
-#define _BUILD_SET_r01 610
-#define _BUILD_SLICE_r01 611
-#define _BUILD_STRING_r01 612
-#define _BUILD_TEMPLATE_r21 613
-#define _BUILD_TUPLE_r01 614
-#define _CALL_BUILTIN_CLASS_r01 615
-#define _CALL_BUILTIN_FAST_r01 616
-#define _CALL_BUILTIN_FAST_WITH_KEYWORDS_r01 617
-#define _CALL_BUILTIN_O_r03 618
-#define _CALL_FUNCTION_EX_NON_PY_GENERAL_r31 619
-#define _CALL_INTRINSIC_1_r11 620
-#define _CALL_INTRINSIC_2_r21 621
-#define _CALL_ISINSTANCE_r31 622
-#define _CALL_KW_NON_PY_r11 623
-#define _CALL_LEN_r33 624
-#define _CALL_LIST_APPEND_r03 625
-#define _CALL_LIST_APPEND_r13 626
-#define _CALL_LIST_APPEND_r23 627
-#define _CALL_LIST_APPEND_r33 628
-#define _CALL_METHOD_DESCRIPTOR_FAST_r01 629
-#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r01 630
-#define _CALL_METHOD_DESCRIPTOR_NOARGS_r01 631
-#define _CALL_METHOD_DESCRIPTOR_O_r03 632
-#define _CALL_NON_PY_GENERAL_r01 633
-#define _CALL_STR_1_r32 634
-#define _CALL_TUPLE_1_r32 635
-#define _CALL_TYPE_1_r02 636
-#define _CALL_TYPE_1_r12 637
-#define _CALL_TYPE_1_r22 638
-#define _CALL_TYPE_1_r32 639
-#define _CHECK_AND_ALLOCATE_OBJECT_r00 640
-#define _CHECK_ATTR_CLASS_r01 641
-#define _CHECK_ATTR_CLASS_r11 642
-#define _CHECK_ATTR_CLASS_r22 643
-#define _CHECK_ATTR_CLASS_r33 644
-#define _CHECK_ATTR_METHOD_LAZY_DICT_r01 645
-#define _CHECK_ATTR_METHOD_LAZY_DICT_r11 646
-#define _CHECK_ATTR_METHOD_LAZY_DICT_r22 647
-#define _CHECK_ATTR_METHOD_LAZY_DICT_r33 648
-#define _CHECK_CALL_BOUND_METHOD_EXACT_ARGS_r00 649
-#define _CHECK_EG_MATCH_r22 650
-#define _CHECK_EXC_MATCH_r22 651
-#define _CHECK_FUNCTION_EXACT_ARGS_r00 652
-#define _CHECK_FUNCTION_VERSION_r00 653
-#define _CHECK_FUNCTION_VERSION_INLINE_r00 654
-#define _CHECK_FUNCTION_VERSION_INLINE_r11 655
-#define _CHECK_FUNCTION_VERSION_INLINE_r22 656
-#define _CHECK_FUNCTION_VERSION_INLINE_r33 657
-#define _CHECK_FUNCTION_VERSION_KW_r11 658
-#define _CHECK_IS_NOT_PY_CALLABLE_r00 659
-#define _CHECK_IS_NOT_PY_CALLABLE_EX_r03 660
-#define _CHECK_IS_NOT_PY_CALLABLE_EX_r13 661
-#define _CHECK_IS_NOT_PY_CALLABLE_EX_r23 662
-#define _CHECK_IS_NOT_PY_CALLABLE_EX_r33 663
-#define _CHECK_IS_NOT_PY_CALLABLE_KW_r11 664
-#define _CHECK_IS_PY_CALLABLE_EX_r03 665
-#define _CHECK_IS_PY_CALLABLE_EX_r13 666
-#define _CHECK_IS_PY_CALLABLE_EX_r23 667
-#define _CHECK_IS_PY_CALLABLE_EX_r33 668
-#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r01 669
-#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r11 670
-#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r22 671
-#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r33 672
-#define _CHECK_METHOD_VERSION_r00 673
-#define _CHECK_METHOD_VERSION_KW_r11 674
-#define _CHECK_PEP_523_r00 675
-#define _CHECK_PEP_523_r11 676
-#define _CHECK_PEP_523_r22 677
-#define _CHECK_PEP_523_r33 678
-#define _CHECK_PERIODIC_r00 679
-#define _CHECK_PERIODIC_AT_END_r00 680
-#define _CHECK_PERIODIC_IF_NOT_YIELD_FROM_r00 681
-#define _CHECK_RECURSION_REMAINING_r00 682
-#define _CHECK_RECURSION_REMAINING_r11 683
-#define _CHECK_RECURSION_REMAINING_r22 684
-#define _CHECK_RECURSION_REMAINING_r33 685
-#define _CHECK_STACK_SPACE_r00 686
-#define _CHECK_STACK_SPACE_OPERAND_r00 687
-#define _CHECK_STACK_SPACE_OPERAND_r11 688
-#define _CHECK_STACK_SPACE_OPERAND_r22 689
-#define _CHECK_STACK_SPACE_OPERAND_r33 690
-#define _CHECK_VALIDITY_r00 691
-#define _CHECK_VALIDITY_r11 692
-#define _CHECK_VALIDITY_r22 693
-#define _CHECK_VALIDITY_r33 694
-#define _COLD_DYNAMIC_EXIT_r00 695
-#define _COLD_EXIT_r00 696
-#define _COMPARE_OP_r21 697
-#define _COMPARE_OP_FLOAT_r03 698
-#define _COMPARE_OP_FLOAT_r13 699
-#define _COMPARE_OP_FLOAT_r23 700
-#define _COMPARE_OP_INT_r23 701
-#define _COMPARE_OP_STR_r23 702
-#define _CONTAINS_OP_r23 703
-#define _CONTAINS_OP_DICT_r23 704
-#define _CONTAINS_OP_SET_r23 705
-#define _CONVERT_VALUE_r11 706
-#define _COPY_r01 707
-#define _COPY_1_r02 708
-#define _COPY_1_r12 709
-#define _COPY_1_r23 710
-#define _COPY_2_r03 711
-#define _COPY_2_r13 712
-#define _COPY_2_r23 713
-#define _COPY_3_r03 714
-#define _COPY_3_r13 715
-#define _COPY_3_r23 716
-#define _COPY_3_r33 717
-#define _COPY_FREE_VARS_r00 718
-#define _COPY_FREE_VARS_r11 719
-#define _COPY_FREE_VARS_r22 720
-#define _COPY_FREE_VARS_r33 721
-#define _CREATE_INIT_FRAME_r01 722
-#define _DELETE_ATTR_r10 723
-#define _DELETE_DEREF_r00 724
-#define _DELETE_FAST_r00 725
-#define _DELETE_GLOBAL_r00 726
-#define _DELETE_NAME_r00 727
-#define _DELETE_SUBSCR_r20 728
-#define _DEOPT_r00 729
-#define _DEOPT_r10 730
-#define _DEOPT_r20 731
-#define _DEOPT_r30 732
-#define _DICT_MERGE_r10 733
-#define _DICT_UPDATE_r10 734
-#define _DO_CALL_r01 735
-#define _DO_CALL_FUNCTION_EX_r31 736
-#define _DO_CALL_KW_r11 737
-#define _DYNAMIC_EXIT_r00 738
-#define _DYNAMIC_EXIT_r10 739
-#define _DYNAMIC_EXIT_r20 740
-#define _DYNAMIC_EXIT_r30 741
-#define _END_FOR_r10 742
-#define _END_SEND_r21 743
-#define _ERROR_POP_N_r00 744
-#define _EXIT_INIT_CHECK_r10 745
-#define _EXIT_TRACE_r00 746
-#define _EXIT_TRACE_r10 747
-#define _EXIT_TRACE_r20 748
-#define _EXIT_TRACE_r30 749
-#define _EXPAND_METHOD_r00 750
-#define _EXPAND_METHOD_KW_r11 751
-#define _FATAL_ERROR_r00 752
-#define _FATAL_ERROR_r11 753
-#define _FATAL_ERROR_r22 754
-#define _FATAL_ERROR_r33 755
-#define _FORMAT_SIMPLE_r11 756
-#define _FORMAT_WITH_SPEC_r21 757
-#define _FOR_ITER_r23 758
-#define _FOR_ITER_GEN_FRAME_r03 759
-#define _FOR_ITER_GEN_FRAME_r13 760
-#define _FOR_ITER_GEN_FRAME_r23 761
-#define _FOR_ITER_TIER_TWO_r23 762
-#define _GET_AITER_r11 763
-#define _GET_ANEXT_r12 764
-#define _GET_AWAITABLE_r11 765
-#define _GET_ITER_r12 766
-#define _GET_LEN_r12 767
-#define _GET_YIELD_FROM_ITER_r11 768
-#define _GUARD_BINARY_OP_EXTEND_r22 769
-#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r02 770
-#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r12 771
-#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r22 772
-#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r33 773
-#define _GUARD_CALLABLE_ISINSTANCE_r03 774
-#define _GUARD_CALLABLE_ISINSTANCE_r13 775
-#define _GUARD_CALLABLE_ISINSTANCE_r23 776
-#define _GUARD_CALLABLE_ISINSTANCE_r33 777
-#define _GUARD_CALLABLE_LEN_r03 778
-#define _GUARD_CALLABLE_LEN_r13 779
-#define _GUARD_CALLABLE_LEN_r23 780
-#define _GUARD_CALLABLE_LEN_r33 781
-#define _GUARD_CALLABLE_LIST_APPEND_r03 782
-#define _GUARD_CALLABLE_LIST_APPEND_r13 783
-#define _GUARD_CALLABLE_LIST_APPEND_r23 784
-#define _GUARD_CALLABLE_LIST_APPEND_r33 785
-#define _GUARD_CALLABLE_STR_1_r03 786
-#define _GUARD_CALLABLE_STR_1_r13 787
-#define _GUARD_CALLABLE_STR_1_r23 788
-#define _GUARD_CALLABLE_STR_1_r33 789
-#define _GUARD_CALLABLE_TUPLE_1_r03 790
-#define _GUARD_CALLABLE_TUPLE_1_r13 791
-#define _GUARD_CALLABLE_TUPLE_1_r23 792
-#define _GUARD_CALLABLE_TUPLE_1_r33 793
-#define _GUARD_CALLABLE_TYPE_1_r03 794
-#define _GUARD_CALLABLE_TYPE_1_r13 795
-#define _GUARD_CALLABLE_TYPE_1_r23 796
-#define _GUARD_CALLABLE_TYPE_1_r33 797
-#define _GUARD_DORV_NO_DICT_r01 798
-#define _GUARD_DORV_NO_DICT_r11 799
-#define _GUARD_DORV_NO_DICT_r22 800
-#define _GUARD_DORV_NO_DICT_r33 801
-#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r01 802
-#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r11 803
-#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r22 804
-#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r33 805
-#define _GUARD_GLOBALS_VERSION_r00 806
-#define _GUARD_GLOBALS_VERSION_r11 807
-#define _GUARD_GLOBALS_VERSION_r22 808
-#define _GUARD_GLOBALS_VERSION_r33 809
-#define _GUARD_IP_RETURN_GENERATOR_r00 810
-#define _GUARD_IP_RETURN_GENERATOR_r11 811
-#define _GUARD_IP_RETURN_GENERATOR_r22 812
-#define _GUARD_IP_RETURN_GENERATOR_r33 813
-#define _GUARD_IP_RETURN_VALUE_r00 814
-#define _GUARD_IP_RETURN_VALUE_r11 815
-#define _GUARD_IP_RETURN_VALUE_r22 816
-#define _GUARD_IP_RETURN_VALUE_r33 817
-#define _GUARD_IP_YIELD_VALUE_r00 818
-#define _GUARD_IP_YIELD_VALUE_r11 819
-#define _GUARD_IP_YIELD_VALUE_r22 820
-#define _GUARD_IP_YIELD_VALUE_r33 821
-#define _GUARD_IP__PUSH_FRAME_r00 822
-#define _GUARD_IP__PUSH_FRAME_r11 823
-#define _GUARD_IP__PUSH_FRAME_r22 824
-#define _GUARD_IP__PUSH_FRAME_r33 825
-#define _GUARD_IS_FALSE_POP_r00 826
-#define _GUARD_IS_FALSE_POP_r10 827
-#define _GUARD_IS_FALSE_POP_r21 828
-#define _GUARD_IS_FALSE_POP_r32 829
-#define _GUARD_IS_NONE_POP_r00 830
-#define _GUARD_IS_NONE_POP_r10 831
-#define _GUARD_IS_NONE_POP_r21 832
-#define _GUARD_IS_NONE_POP_r32 833
-#define _GUARD_IS_NOT_NONE_POP_r10 834
-#define _GUARD_IS_TRUE_POP_r00 835
-#define _GUARD_IS_TRUE_POP_r10 836
-#define _GUARD_IS_TRUE_POP_r21 837
-#define _GUARD_IS_TRUE_POP_r32 838
-#define _GUARD_KEYS_VERSION_r01 839
-#define _GUARD_KEYS_VERSION_r11 840
-#define _GUARD_KEYS_VERSION_r22 841
-#define _GUARD_KEYS_VERSION_r33 842
-#define _GUARD_NOS_COMPACT_ASCII_r02 843
-#define _GUARD_NOS_COMPACT_ASCII_r12 844
-#define _GUARD_NOS_COMPACT_ASCII_r22 845
-#define _GUARD_NOS_COMPACT_ASCII_r33 846
-#define _GUARD_NOS_DICT_r02 847
-#define _GUARD_NOS_DICT_r12 848
-#define _GUARD_NOS_DICT_r22 849
-#define _GUARD_NOS_DICT_r33 850
-#define _GUARD_NOS_FLOAT_r02 851
-#define _GUARD_NOS_FLOAT_r12 852
-#define _GUARD_NOS_FLOAT_r22 853
-#define _GUARD_NOS_FLOAT_r33 854
-#define _GUARD_NOS_INT_r02 855
-#define _GUARD_NOS_INT_r12 856
-#define _GUARD_NOS_INT_r22 857
-#define _GUARD_NOS_INT_r33 858
-#define _GUARD_NOS_LIST_r02 859
-#define _GUARD_NOS_LIST_r12 860
-#define _GUARD_NOS_LIST_r22 861
-#define _GUARD_NOS_LIST_r33 862
-#define _GUARD_NOS_NOT_NULL_r02 863
-#define _GUARD_NOS_NOT_NULL_r12 864
-#define _GUARD_NOS_NOT_NULL_r22 865
-#define _GUARD_NOS_NOT_NULL_r33 866
-#define _GUARD_NOS_NULL_r02 867
-#define _GUARD_NOS_NULL_r12 868
-#define _GUARD_NOS_NULL_r22 869
-#define _GUARD_NOS_NULL_r33 870
-#define _GUARD_NOS_OVERFLOWED_r02 871
-#define _GUARD_NOS_OVERFLOWED_r12 872
-#define _GUARD_NOS_OVERFLOWED_r22 873
-#define _GUARD_NOS_OVERFLOWED_r33 874
-#define _GUARD_NOS_TUPLE_r02 875
-#define _GUARD_NOS_TUPLE_r12 876
-#define _GUARD_NOS_TUPLE_r22 877
-#define _GUARD_NOS_TUPLE_r33 878
-#define _GUARD_NOS_UNICODE_r02 879
-#define _GUARD_NOS_UNICODE_r12 880
-#define _GUARD_NOS_UNICODE_r22 881
-#define _GUARD_NOS_UNICODE_r33 882
-#define _GUARD_NOT_EXHAUSTED_LIST_r02 883
-#define _GUARD_NOT_EXHAUSTED_LIST_r12 884
-#define _GUARD_NOT_EXHAUSTED_LIST_r22 885
-#define _GUARD_NOT_EXHAUSTED_LIST_r33 886
-#define _GUARD_NOT_EXHAUSTED_RANGE_r02 887
-#define _GUARD_NOT_EXHAUSTED_RANGE_r12 888
-#define _GUARD_NOT_EXHAUSTED_RANGE_r22 889
-#define _GUARD_NOT_EXHAUSTED_RANGE_r33 890
-#define _GUARD_NOT_EXHAUSTED_TUPLE_r02 891
-#define _GUARD_NOT_EXHAUSTED_TUPLE_r12 892
-#define _GUARD_NOT_EXHAUSTED_TUPLE_r22 893
-#define _GUARD_NOT_EXHAUSTED_TUPLE_r33 894
-#define _GUARD_THIRD_NULL_r03 895
-#define _GUARD_THIRD_NULL_r13 896
-#define _GUARD_THIRD_NULL_r23 897
-#define _GUARD_THIRD_NULL_r33 898
-#define _GUARD_TOS_ANY_SET_r01 899
-#define _GUARD_TOS_ANY_SET_r11 900
-#define _GUARD_TOS_ANY_SET_r22 901
-#define _GUARD_TOS_ANY_SET_r33 902
-#define _GUARD_TOS_DICT_r01 903
-#define _GUARD_TOS_DICT_r11 904
-#define _GUARD_TOS_DICT_r22 905
-#define _GUARD_TOS_DICT_r33 906
-#define _GUARD_TOS_FLOAT_r01 907
-#define _GUARD_TOS_FLOAT_r11 908
-#define _GUARD_TOS_FLOAT_r22 909
-#define _GUARD_TOS_FLOAT_r33 910
-#define _GUARD_TOS_INT_r01 911
-#define _GUARD_TOS_INT_r11 912
-#define _GUARD_TOS_INT_r22 913
-#define _GUARD_TOS_INT_r33 914
-#define _GUARD_TOS_LIST_r01 915
-#define _GUARD_TOS_LIST_r11 916
-#define _GUARD_TOS_LIST_r22 917
-#define _GUARD_TOS_LIST_r33 918
-#define _GUARD_TOS_OVERFLOWED_r01 919
-#define _GUARD_TOS_OVERFLOWED_r11 920
-#define _GUARD_TOS_OVERFLOWED_r22 921
-#define _GUARD_TOS_OVERFLOWED_r33 922
-#define _GUARD_TOS_SLICE_r01 923
-#define _GUARD_TOS_SLICE_r11 924
-#define _GUARD_TOS_SLICE_r22 925
-#define _GUARD_TOS_SLICE_r33 926
-#define _GUARD_TOS_TUPLE_r01 927
-#define _GUARD_TOS_TUPLE_r11 928
-#define _GUARD_TOS_TUPLE_r22 929
-#define _GUARD_TOS_TUPLE_r33 930
-#define _GUARD_TOS_UNICODE_r01 931
-#define _GUARD_TOS_UNICODE_r11 932
-#define _GUARD_TOS_UNICODE_r22 933
-#define _GUARD_TOS_UNICODE_r33 934
-#define _GUARD_TYPE_VERSION_r01 935
-#define _GUARD_TYPE_VERSION_r11 936
-#define _GUARD_TYPE_VERSION_r22 937
-#define _GUARD_TYPE_VERSION_r33 938
-#define _GUARD_TYPE_VERSION_AND_LOCK_r01 939
-#define _GUARD_TYPE_VERSION_AND_LOCK_r11 940
-#define _GUARD_TYPE_VERSION_AND_LOCK_r22 941
-#define _GUARD_TYPE_VERSION_AND_LOCK_r33 942
-#define _HANDLE_PENDING_AND_DEOPT_r00 943
-#define _HANDLE_PENDING_AND_DEOPT_r10 944
-#define _HANDLE_PENDING_AND_DEOPT_r20 945
-#define _HANDLE_PENDING_AND_DEOPT_r30 946
-#define _IMPORT_FROM_r12 947
-#define _IMPORT_NAME_r21 948
-#define _INIT_CALL_BOUND_METHOD_EXACT_ARGS_r00 949
-#define _INIT_CALL_PY_EXACT_ARGS_r01 950
-#define _INIT_CALL_PY_EXACT_ARGS_0_r01 951
-#define _INIT_CALL_PY_EXACT_ARGS_1_r01 952
-#define _INIT_CALL_PY_EXACT_ARGS_2_r01 953
-#define _INIT_CALL_PY_EXACT_ARGS_3_r01 954
-#define _INIT_CALL_PY_EXACT_ARGS_4_r01 955
-#define _INSERT_1_LOAD_CONST_INLINE_BORROW_r02 956
-#define _INSERT_1_LOAD_CONST_INLINE_BORROW_r12 957
-#define _INSERT_1_LOAD_CONST_INLINE_BORROW_r23 958
-#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r03 959
-#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r13 960
-#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r23 961
-#define _INSERT_NULL_r10 962
-#define _INSTRUMENTED_FOR_ITER_r23 963
-#define _INSTRUMENTED_INSTRUCTION_r00 964
-#define _INSTRUMENTED_JUMP_FORWARD_r00 965
-#define _INSTRUMENTED_JUMP_FORWARD_r11 966
-#define _INSTRUMENTED_JUMP_FORWARD_r22 967
-#define _INSTRUMENTED_JUMP_FORWARD_r33 968
-#define _INSTRUMENTED_LINE_r00 969
-#define _INSTRUMENTED_NOT_TAKEN_r00 970
-#define _INSTRUMENTED_NOT_TAKEN_r11 971
-#define _INSTRUMENTED_NOT_TAKEN_r22 972
-#define _INSTRUMENTED_NOT_TAKEN_r33 973
-#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r00 974
-#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r10 975
-#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r21 976
-#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r32 977
-#define _INSTRUMENTED_POP_JUMP_IF_NONE_r10 978
-#define _INSTRUMENTED_POP_JUMP_IF_NOT_NONE_r10 979
-#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r00 980
-#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r10 981
-#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r21 982
-#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r32 983
-#define _IS_NONE_r11 984
-#define _IS_OP_r03 985
-#define _IS_OP_r13 986
-#define _IS_OP_r23 987
-#define _ITER_CHECK_LIST_r02 988
-#define _ITER_CHECK_LIST_r12 989
-#define _ITER_CHECK_LIST_r22 990
-#define _ITER_CHECK_LIST_r33 991
-#define _ITER_CHECK_RANGE_r02 992
-#define _ITER_CHECK_RANGE_r12 993
-#define _ITER_CHECK_RANGE_r22 994
-#define _ITER_CHECK_RANGE_r33 995
-#define _ITER_CHECK_TUPLE_r02 996
-#define _ITER_CHECK_TUPLE_r12 997
-#define _ITER_CHECK_TUPLE_r22 998
-#define _ITER_CHECK_TUPLE_r33 999
-#define _ITER_JUMP_LIST_r02 1000
-#define _ITER_JUMP_LIST_r12 1001
-#define _ITER_JUMP_LIST_r22 1002
-#define _ITER_JUMP_LIST_r33 1003
-#define _ITER_JUMP_RANGE_r02 1004
-#define _ITER_JUMP_RANGE_r12 1005
-#define _ITER_JUMP_RANGE_r22 1006
-#define _ITER_JUMP_RANGE_r33 1007
-#define _ITER_JUMP_TUPLE_r02 1008
-#define _ITER_JUMP_TUPLE_r12 1009
-#define _ITER_JUMP_TUPLE_r22 1010
-#define _ITER_JUMP_TUPLE_r33 1011
-#define _ITER_NEXT_LIST_r23 1012
-#define _ITER_NEXT_LIST_TIER_TWO_r23 1013
-#define _ITER_NEXT_RANGE_r03 1014
-#define _ITER_NEXT_RANGE_r13 1015
-#define _ITER_NEXT_RANGE_r23 1016
-#define _ITER_NEXT_TUPLE_r03 1017
-#define _ITER_NEXT_TUPLE_r13 1018
-#define _ITER_NEXT_TUPLE_r23 1019
-#define _JUMP_BACKWARD_NO_INTERRUPT_r00 1020
-#define _JUMP_BACKWARD_NO_INTERRUPT_r11 1021
-#define _JUMP_BACKWARD_NO_INTERRUPT_r22 1022
-#define _JUMP_BACKWARD_NO_INTERRUPT_r33 1023
-#define _JUMP_TO_TOP_r00 1024
-#define _LIST_APPEND_r10 1025
-#define _LIST_EXTEND_r10 1026
-#define _LOAD_ATTR_r10 1027
-#define _LOAD_ATTR_CLASS_r11 1028
-#define _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN_r11 1029
-#define _LOAD_ATTR_INSTANCE_VALUE_r02 1030
-#define _LOAD_ATTR_INSTANCE_VALUE_r12 1031
-#define _LOAD_ATTR_INSTANCE_VALUE_r23 1032
-#define _LOAD_ATTR_METHOD_LAZY_DICT_r02 1033
-#define _LOAD_ATTR_METHOD_LAZY_DICT_r12 1034
-#define _LOAD_ATTR_METHOD_LAZY_DICT_r23 1035
-#define _LOAD_ATTR_METHOD_NO_DICT_r02 1036
-#define _LOAD_ATTR_METHOD_NO_DICT_r12 1037
-#define _LOAD_ATTR_METHOD_NO_DICT_r23 1038
-#define _LOAD_ATTR_METHOD_WITH_VALUES_r02 1039
-#define _LOAD_ATTR_METHOD_WITH_VALUES_r12 1040
-#define _LOAD_ATTR_METHOD_WITH_VALUES_r23 1041
-#define _LOAD_ATTR_MODULE_r11 1042
-#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT_r11 1043
-#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES_r11 1044
-#define _LOAD_ATTR_PROPERTY_FRAME_r11 1045
-#define _LOAD_ATTR_SLOT_r02 1046
-#define _LOAD_ATTR_SLOT_r12 1047
-#define _LOAD_ATTR_SLOT_r23 1048
-#define _LOAD_ATTR_WITH_HINT_r12 1049
-#define _LOAD_BUILD_CLASS_r01 1050
-#define _LOAD_BYTECODE_r00 1051
-#define _LOAD_COMMON_CONSTANT_r01 1052
-#define _LOAD_COMMON_CONSTANT_r12 1053
-#define _LOAD_COMMON_CONSTANT_r23 1054
-#define _LOAD_CONST_r01 1055
-#define _LOAD_CONST_r12 1056
-#define _LOAD_CONST_r23 1057
-#define _LOAD_CONST_INLINE_r01 1058
-#define _LOAD_CONST_INLINE_r12 1059
-#define _LOAD_CONST_INLINE_r23 1060
-#define _LOAD_CONST_INLINE_BORROW_r01 1061
-#define _LOAD_CONST_INLINE_BORROW_r12 1062
-#define _LOAD_CONST_INLINE_BORROW_r23 1063
-#define _LOAD_CONST_UNDER_INLINE_r02 1064
-#define _LOAD_CONST_UNDER_INLINE_r12 1065
-#define _LOAD_CONST_UNDER_INLINE_r23 1066
-#define _LOAD_CONST_UNDER_INLINE_BORROW_r02 1067
-#define _LOAD_CONST_UNDER_INLINE_BORROW_r12 1068
-#define _LOAD_CONST_UNDER_INLINE_BORROW_r23 1069
-#define _LOAD_DEREF_r01 1070
-#define _LOAD_FAST_r01 1071
-#define _LOAD_FAST_r12 1072
-#define _LOAD_FAST_r23 1073
-#define _LOAD_FAST_0_r01 1074
-#define _LOAD_FAST_0_r12 1075
-#define _LOAD_FAST_0_r23 1076
-#define _LOAD_FAST_1_r01 1077
-#define _LOAD_FAST_1_r12 1078
-#define _LOAD_FAST_1_r23 1079
-#define _LOAD_FAST_2_r01 1080
-#define _LOAD_FAST_2_r12 1081
-#define _LOAD_FAST_2_r23 1082
-#define _LOAD_FAST_3_r01 1083
-#define _LOAD_FAST_3_r12 1084
-#define _LOAD_FAST_3_r23 1085
-#define _LOAD_FAST_4_r01 1086
-#define _LOAD_FAST_4_r12 1087
-#define _LOAD_FAST_4_r23 1088
-#define _LOAD_FAST_5_r01 1089
-#define _LOAD_FAST_5_r12 1090
-#define _LOAD_FAST_5_r23 1091
-#define _LOAD_FAST_6_r01 1092
-#define _LOAD_FAST_6_r12 1093
-#define _LOAD_FAST_6_r23 1094
-#define _LOAD_FAST_7_r01 1095
-#define _LOAD_FAST_7_r12 1096
-#define _LOAD_FAST_7_r23 1097
-#define _LOAD_FAST_AND_CLEAR_r01 1098
-#define _LOAD_FAST_AND_CLEAR_r12 1099
-#define _LOAD_FAST_AND_CLEAR_r23 1100
-#define _LOAD_FAST_BORROW_r01 1101
-#define _LOAD_FAST_BORROW_r12 1102
-#define _LOAD_FAST_BORROW_r23 1103
-#define _LOAD_FAST_BORROW_0_r01 1104
-#define _LOAD_FAST_BORROW_0_r12 1105
-#define _LOAD_FAST_BORROW_0_r23 1106
-#define _LOAD_FAST_BORROW_1_r01 1107
-#define _LOAD_FAST_BORROW_1_r12 1108
-#define _LOAD_FAST_BORROW_1_r23 1109
-#define _LOAD_FAST_BORROW_2_r01 1110
-#define _LOAD_FAST_BORROW_2_r12 1111
-#define _LOAD_FAST_BORROW_2_r23 1112
-#define _LOAD_FAST_BORROW_3_r01 1113
-#define _LOAD_FAST_BORROW_3_r12 1114
-#define _LOAD_FAST_BORROW_3_r23 1115
-#define _LOAD_FAST_BORROW_4_r01 1116
-#define _LOAD_FAST_BORROW_4_r12 1117
-#define _LOAD_FAST_BORROW_4_r23 1118
-#define _LOAD_FAST_BORROW_5_r01 1119
-#define _LOAD_FAST_BORROW_5_r12 1120
-#define _LOAD_FAST_BORROW_5_r23 1121
-#define _LOAD_FAST_BORROW_6_r01 1122
-#define _LOAD_FAST_BORROW_6_r12 1123
-#define _LOAD_FAST_BORROW_6_r23 1124
-#define _LOAD_FAST_BORROW_7_r01 1125
-#define _LOAD_FAST_BORROW_7_r12 1126
-#define _LOAD_FAST_BORROW_7_r23 1127
-#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r02 1128
-#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r13 1129
-#define _LOAD_FAST_CHECK_r01 1130
-#define _LOAD_FAST_CHECK_r12 1131
-#define _LOAD_FAST_CHECK_r23 1132
-#define _LOAD_FAST_LOAD_FAST_r02 1133
-#define _LOAD_FAST_LOAD_FAST_r13 1134
-#define _LOAD_FROM_DICT_OR_DEREF_r11 1135
-#define _LOAD_FROM_DICT_OR_GLOBALS_r11 1136
-#define _LOAD_GLOBAL_r00 1137
-#define _LOAD_GLOBAL_BUILTINS_r01 1138
-#define _LOAD_GLOBAL_MODULE_r01 1139
-#define _LOAD_LOCALS_r01 1140
-#define _LOAD_LOCALS_r12 1141
-#define _LOAD_LOCALS_r23 1142
-#define _LOAD_NAME_r01 1143
-#define _LOAD_SMALL_INT_r01 1144
-#define _LOAD_SMALL_INT_r12 1145
-#define _LOAD_SMALL_INT_r23 1146
-#define _LOAD_SMALL_INT_0_r01 1147
-#define _LOAD_SMALL_INT_0_r12 1148
-#define _LOAD_SMALL_INT_0_r23 1149
-#define _LOAD_SMALL_INT_1_r01 1150
-#define _LOAD_SMALL_INT_1_r12 1151
-#define _LOAD_SMALL_INT_1_r23 1152
-#define _LOAD_SMALL_INT_2_r01 1153
-#define _LOAD_SMALL_INT_2_r12 1154
-#define _LOAD_SMALL_INT_2_r23 1155
-#define _LOAD_SMALL_INT_3_r01 1156
-#define _LOAD_SMALL_INT_3_r12 1157
-#define _LOAD_SMALL_INT_3_r23 1158
-#define _LOAD_SPECIAL_r00 1159
-#define _LOAD_SUPER_ATTR_ATTR_r31 1160
-#define _LOAD_SUPER_ATTR_METHOD_r32 1161
-#define _MAKE_CALLARGS_A_TUPLE_r33 1162
-#define _MAKE_CELL_r00 1163
-#define _MAKE_FUNCTION_r11 1164
-#define _MAKE_WARM_r00 1165
-#define _MAKE_WARM_r11 1166
-#define _MAKE_WARM_r22 1167
-#define _MAKE_WARM_r33 1168
-#define _MAP_ADD_r20 1169
-#define _MATCH_CLASS_r31 1170
-#define _MATCH_KEYS_r23 1171
-#define _MATCH_MAPPING_r02 1172
-#define _MATCH_MAPPING_r12 1173
-#define _MATCH_MAPPING_r23 1174
-#define _MATCH_SEQUENCE_r02 1175
-#define _MATCH_SEQUENCE_r12 1176
-#define _MATCH_SEQUENCE_r23 1177
-#define _MAYBE_EXPAND_METHOD_r00 1178
-#define _MAYBE_EXPAND_METHOD_KW_r11 1179
-#define _MONITOR_CALL_r00 1180
-#define _MONITOR_CALL_KW_r11 1181
-#define _MONITOR_JUMP_BACKWARD_r00 1182
-#define _MONITOR_JUMP_BACKWARD_r11 1183
-#define _MONITOR_JUMP_BACKWARD_r22 1184
-#define _MONITOR_JUMP_BACKWARD_r33 1185
-#define _MONITOR_RESUME_r00 1186
-#define _NOP_r00 1187
-#define _NOP_r11 1188
-#define _NOP_r22 1189
-#define _NOP_r33 1190
-#define _POP_CALL_r20 1191
-#define _POP_CALL_LOAD_CONST_INLINE_BORROW_r21 1192
-#define _POP_CALL_ONE_r30 1193
-#define _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW_r31 1194
-#define _POP_CALL_TWO_r30 1195
-#define _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW_r31 1196
-#define _POP_EXCEPT_r10 1197
-#define _POP_ITER_r20 1198
-#define _POP_JUMP_IF_FALSE_r00 1199
-#define _POP_JUMP_IF_FALSE_r10 1200
-#define _POP_JUMP_IF_FALSE_r21 1201
-#define _POP_JUMP_IF_FALSE_r32 1202
-#define _POP_JUMP_IF_TRUE_r00 1203
-#define _POP_JUMP_IF_TRUE_r10 1204
-#define _POP_JUMP_IF_TRUE_r21 1205
-#define _POP_JUMP_IF_TRUE_r32 1206
-#define _POP_TOP_r10 1207
-#define _POP_TOP_FLOAT_r00 1208
-#define _POP_TOP_FLOAT_r10 1209
-#define _POP_TOP_FLOAT_r21 1210
-#define _POP_TOP_FLOAT_r32 1211
-#define _POP_TOP_INT_r00 1212
-#define _POP_TOP_INT_r10 1213
-#define _POP_TOP_INT_r21 1214
-#define _POP_TOP_INT_r32 1215
-#define _POP_TOP_LOAD_CONST_INLINE_r11 1216
-#define _POP_TOP_LOAD_CONST_INLINE_BORROW_r11 1217
-#define _POP_TOP_NOP_r00 1218
-#define _POP_TOP_NOP_r10 1219
-#define _POP_TOP_NOP_r21 1220
-#define _POP_TOP_NOP_r32 1221
-#define _POP_TOP_UNICODE_r00 1222
-#define _POP_TOP_UNICODE_r10 1223
-#define _POP_TOP_UNICODE_r21 1224
-#define _POP_TOP_UNICODE_r32 1225
-#define _POP_TWO_r20 1226
-#define _POP_TWO_LOAD_CONST_INLINE_BORROW_r21 1227
-#define _PUSH_EXC_INFO_r02 1228
-#define _PUSH_EXC_INFO_r12 1229
-#define _PUSH_EXC_INFO_r23 1230
-#define _PUSH_FRAME_r10 1231
-#define _PUSH_NULL_r01 1232
-#define _PUSH_NULL_r12 1233
-#define _PUSH_NULL_r23 1234
-#define _PUSH_NULL_CONDITIONAL_r00 1235
-#define _PY_FRAME_EX_r31 1236
-#define _PY_FRAME_GENERAL_r01 1237
-#define _PY_FRAME_KW_r11 1238
-#define _QUICKEN_RESUME_r00 1239
-#define _QUICKEN_RESUME_r11 1240
-#define _QUICKEN_RESUME_r22 1241
-#define _QUICKEN_RESUME_r33 1242
-#define _REPLACE_WITH_TRUE_r02 1243
-#define _REPLACE_WITH_TRUE_r12 1244
-#define _REPLACE_WITH_TRUE_r23 1245
-#define _RESUME_CHECK_r00 1246
-#define _RESUME_CHECK_r11 1247
-#define _RESUME_CHECK_r22 1248
-#define _RESUME_CHECK_r33 1249
-#define _RETURN_GENERATOR_r01 1250
-#define _RETURN_VALUE_r11 1251
-#define _SAVE_RETURN_OFFSET_r00 1252
-#define _SAVE_RETURN_OFFSET_r11 1253
-#define _SAVE_RETURN_OFFSET_r22 1254
-#define _SAVE_RETURN_OFFSET_r33 1255
-#define _SEND_r22 1256
-#define _SEND_GEN_FRAME_r22 1257
-#define _SETUP_ANNOTATIONS_r00 1258
-#define _SET_ADD_r10 1259
-#define _SET_FUNCTION_ATTRIBUTE_r01 1260
-#define _SET_FUNCTION_ATTRIBUTE_r11 1261
-#define _SET_FUNCTION_ATTRIBUTE_r21 1262
-#define _SET_FUNCTION_ATTRIBUTE_r32 1263
-#define _SET_IP_r00 1264
-#define _SET_IP_r11 1265
-#define _SET_IP_r22 1266
-#define _SET_IP_r33 1267
-#define _SET_UPDATE_r10 1268
-#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r02 1269
-#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r12 1270
-#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r22 1271
-#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r32 1272
-#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03 1273
-#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13 1274
-#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r23 1275
-#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33 1276
-#define _SPILL_OR_RELOAD_r01 1277
-#define _SPILL_OR_RELOAD_r02 1278
-#define _SPILL_OR_RELOAD_r03 1279
-#define _SPILL_OR_RELOAD_r10 1280
-#define _SPILL_OR_RELOAD_r12 1281
-#define _SPILL_OR_RELOAD_r13 1282
-#define _SPILL_OR_RELOAD_r20 1283
-#define _SPILL_OR_RELOAD_r21 1284
-#define _SPILL_OR_RELOAD_r23 1285
-#define _SPILL_OR_RELOAD_r30 1286
-#define _SPILL_OR_RELOAD_r31 1287
-#define _SPILL_OR_RELOAD_r32 1288
-#define _START_EXECUTOR_r00 1289
-#define _STORE_ATTR_r20 1290
-#define _STORE_ATTR_INSTANCE_VALUE_r21 1291
-#define _STORE_ATTR_SLOT_r21 1292
-#define _STORE_ATTR_WITH_HINT_r21 1293
-#define _STORE_DEREF_r10 1294
-#define _STORE_FAST_LOAD_FAST_r11 1295
-#define _STORE_FAST_STORE_FAST_r20 1296
-#define _STORE_GLOBAL_r10 1297
-#define _STORE_NAME_r10 1298
-#define _STORE_SLICE_r30 1299
-#define _STORE_SUBSCR_r30 1300
-#define _STORE_SUBSCR_DICT_r31 1301
-#define _STORE_SUBSCR_LIST_INT_r32 1302
-#define _SWAP_r11 1303
-#define _SWAP_2_r02 1304
-#define _SWAP_2_r12 1305
-#define _SWAP_2_r22 1306
-#define _SWAP_2_r33 1307
-#define _SWAP_3_r03 1308
-#define _SWAP_3_r13 1309
-#define _SWAP_3_r23 1310
-#define _SWAP_3_r33 1311
-#define _SWAP_FAST_r01 1312
-#define _SWAP_FAST_r11 1313
-#define _SWAP_FAST_r22 1314
-#define _SWAP_FAST_r33 1315
-#define _SWAP_FAST_0_r01 1316
-#define _SWAP_FAST_0_r11 1317
-#define _SWAP_FAST_0_r22 1318
-#define _SWAP_FAST_0_r33 1319
-#define _SWAP_FAST_1_r01 1320
-#define _SWAP_FAST_1_r11 1321
-#define _SWAP_FAST_1_r22 1322
-#define _SWAP_FAST_1_r33 1323
-#define _SWAP_FAST_2_r01 1324
-#define _SWAP_FAST_2_r11 1325
-#define _SWAP_FAST_2_r22 1326
-#define _SWAP_FAST_2_r33 1327
-#define _SWAP_FAST_3_r01 1328
-#define _SWAP_FAST_3_r11 1329
-#define _SWAP_FAST_3_r22 1330
-#define _SWAP_FAST_3_r33 1331
-#define _SWAP_FAST_4_r01 1332
-#define _SWAP_FAST_4_r11 1333
-#define _SWAP_FAST_4_r22 1334
-#define _SWAP_FAST_4_r33 1335
-#define _SWAP_FAST_5_r01 1336
-#define _SWAP_FAST_5_r11 1337
-#define _SWAP_FAST_5_r22 1338
-#define _SWAP_FAST_5_r33 1339
-#define _SWAP_FAST_6_r01 1340
-#define _SWAP_FAST_6_r11 1341
-#define _SWAP_FAST_6_r22 1342
-#define _SWAP_FAST_6_r33 1343
-#define _SWAP_FAST_7_r01 1344
-#define _SWAP_FAST_7_r11 1345
-#define _SWAP_FAST_7_r22 1346
-#define _SWAP_FAST_7_r33 1347
-#define _TIER2_RESUME_CHECK_r00 1348
-#define _TIER2_RESUME_CHECK_r11 1349
-#define _TIER2_RESUME_CHECK_r22 1350
-#define _TIER2_RESUME_CHECK_r33 1351
-#define _TO_BOOL_r11 1352
-#define _TO_BOOL_BOOL_r01 1353
-#define _TO_BOOL_BOOL_r11 1354
-#define _TO_BOOL_BOOL_r22 1355
-#define _TO_BOOL_BOOL_r33 1356
-#define _TO_BOOL_INT_r02 1357
-#define _TO_BOOL_INT_r12 1358
-#define _TO_BOOL_INT_r23 1359
-#define _TO_BOOL_LIST_r02 1360
-#define _TO_BOOL_LIST_r12 1361
-#define _TO_BOOL_LIST_r23 1362
-#define _TO_BOOL_NONE_r01 1363
-#define _TO_BOOL_NONE_r11 1364
-#define _TO_BOOL_NONE_r22 1365
-#define _TO_BOOL_NONE_r33 1366
-#define _TO_BOOL_STR_r02 1367
-#define _TO_BOOL_STR_r12 1368
-#define _TO_BOOL_STR_r23 1369
-#define _TRACE_RECORD_r00 1370
-#define _UNARY_INVERT_r12 1371
-#define _UNARY_NEGATIVE_r12 1372
-#define _UNARY_NOT_r01 1373
-#define _UNARY_NOT_r11 1374
-#define _UNARY_NOT_r22 1375
-#define _UNARY_NOT_r33 1376
-#define _UNPACK_EX_r10 1377
-#define _UNPACK_SEQUENCE_r10 1378
-#define _UNPACK_SEQUENCE_LIST_r10 1379
-#define _UNPACK_SEQUENCE_TUPLE_r10 1380
-#define _UNPACK_SEQUENCE_TWO_TUPLE_r12 1381
-#define _WITH_EXCEPT_START_r33 1382
-#define _YIELD_VALUE_r11 1383
-#define MAX_UOP_REGS_ID 1383
+#define MAX_UOP_ID 578
+#define _BINARY_OP_r21 579
+#define _BINARY_OP_ADD_FLOAT_r03 580
+#define _BINARY_OP_ADD_FLOAT_r13 581
+#define _BINARY_OP_ADD_FLOAT_r23 582
+#define _BINARY_OP_ADD_INT_r03 583
+#define _BINARY_OP_ADD_INT_r13 584
+#define _BINARY_OP_ADD_INT_r23 585
+#define _BINARY_OP_ADD_UNICODE_r03 586
+#define _BINARY_OP_ADD_UNICODE_r13 587
+#define _BINARY_OP_ADD_UNICODE_r23 588
+#define _BINARY_OP_EXTEND_r21 589
+#define _BINARY_OP_INPLACE_ADD_UNICODE_r21 590
+#define _BINARY_OP_MULTIPLY_FLOAT_r03 591
+#define _BINARY_OP_MULTIPLY_FLOAT_r13 592
+#define _BINARY_OP_MULTIPLY_FLOAT_r23 593
+#define _BINARY_OP_MULTIPLY_INT_r03 594
+#define _BINARY_OP_MULTIPLY_INT_r13 595
+#define _BINARY_OP_MULTIPLY_INT_r23 596
+#define _BINARY_OP_SUBSCR_CHECK_FUNC_r23 597
+#define _BINARY_OP_SUBSCR_DICT_r23 598
+#define _BINARY_OP_SUBSCR_INIT_CALL_r01 599
+#define _BINARY_OP_SUBSCR_INIT_CALL_r11 600
+#define _BINARY_OP_SUBSCR_INIT_CALL_r21 601
+#define _BINARY_OP_SUBSCR_INIT_CALL_r31 602
+#define _BINARY_OP_SUBSCR_LIST_INT_r23 603
+#define _BINARY_OP_SUBSCR_LIST_SLICE_r21 604
+#define _BINARY_OP_SUBSCR_STR_INT_r23 605
+#define _BINARY_OP_SUBSCR_TUPLE_INT_r03 606
+#define _BINARY_OP_SUBSCR_TUPLE_INT_r13 607
+#define _BINARY_OP_SUBSCR_TUPLE_INT_r23 608
+#define _BINARY_OP_SUBSCR_USTR_INT_r23 609
+#define _BINARY_OP_SUBTRACT_FLOAT_r03 610
+#define _BINARY_OP_SUBTRACT_FLOAT_r13 611
+#define _BINARY_OP_SUBTRACT_FLOAT_r23 612
+#define _BINARY_OP_SUBTRACT_INT_r03 613
+#define _BINARY_OP_SUBTRACT_INT_r13 614
+#define _BINARY_OP_SUBTRACT_INT_r23 615
+#define _BINARY_SLICE_r31 616
+#define _BUILD_INTERPOLATION_r01 617
+#define _BUILD_LIST_r01 618
+#define _BUILD_MAP_r01 619
+#define _BUILD_SET_r01 620
+#define _BUILD_SLICE_r01 621
+#define _BUILD_STRING_r01 622
+#define _BUILD_TEMPLATE_r21 623
+#define _BUILD_TUPLE_r01 624
+#define _CALL_BUILTIN_CLASS_r01 625
+#define _CALL_BUILTIN_FAST_r01 626
+#define _CALL_BUILTIN_FAST_WITH_KEYWORDS_r01 627
+#define _CALL_BUILTIN_O_r03 628
+#define _CALL_FUNCTION_EX_NON_PY_GENERAL_r31 629
+#define _CALL_INTRINSIC_1_r11 630
+#define _CALL_INTRINSIC_2_r21 631
+#define _CALL_ISINSTANCE_r31 632
+#define _CALL_KW_NON_PY_r11 633
+#define _CALL_LEN_r33 634
+#define _CALL_LIST_APPEND_r03 635
+#define _CALL_LIST_APPEND_r13 636
+#define _CALL_LIST_APPEND_r23 637
+#define _CALL_LIST_APPEND_r33 638
+#define _CALL_METHOD_DESCRIPTOR_FAST_r01 639
+#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r01 640
+#define _CALL_METHOD_DESCRIPTOR_NOARGS_r01 641
+#define _CALL_METHOD_DESCRIPTOR_O_r03 642
+#define _CALL_NON_PY_GENERAL_r01 643
+#define _CALL_STR_1_r32 644
+#define _CALL_TUPLE_1_r32 645
+#define _CALL_TYPE_1_r02 646
+#define _CALL_TYPE_1_r12 647
+#define _CALL_TYPE_1_r22 648
+#define _CALL_TYPE_1_r32 649
+#define _CHECK_AND_ALLOCATE_OBJECT_r00 650
+#define _CHECK_ATTR_CLASS_r01 651
+#define _CHECK_ATTR_CLASS_r11 652
+#define _CHECK_ATTR_CLASS_r22 653
+#define _CHECK_ATTR_CLASS_r33 654
+#define _CHECK_ATTR_METHOD_LAZY_DICT_r01 655
+#define _CHECK_ATTR_METHOD_LAZY_DICT_r11 656
+#define _CHECK_ATTR_METHOD_LAZY_DICT_r22 657
+#define _CHECK_ATTR_METHOD_LAZY_DICT_r33 658
+#define _CHECK_CALL_BOUND_METHOD_EXACT_ARGS_r00 659
+#define _CHECK_EG_MATCH_r22 660
+#define _CHECK_EXC_MATCH_r22 661
+#define _CHECK_FUNCTION_EXACT_ARGS_r00 662
+#define _CHECK_FUNCTION_VERSION_r00 663
+#define _CHECK_FUNCTION_VERSION_INLINE_r00 664
+#define _CHECK_FUNCTION_VERSION_INLINE_r11 665
+#define _CHECK_FUNCTION_VERSION_INLINE_r22 666
+#define _CHECK_FUNCTION_VERSION_INLINE_r33 667
+#define _CHECK_FUNCTION_VERSION_KW_r11 668
+#define _CHECK_IS_NOT_PY_CALLABLE_r00 669
+#define _CHECK_IS_NOT_PY_CALLABLE_EX_r03 670
+#define _CHECK_IS_NOT_PY_CALLABLE_EX_r13 671
+#define _CHECK_IS_NOT_PY_CALLABLE_EX_r23 672
+#define _CHECK_IS_NOT_PY_CALLABLE_EX_r33 673
+#define _CHECK_IS_NOT_PY_CALLABLE_KW_r11 674
+#define _CHECK_IS_PY_CALLABLE_EX_r03 675
+#define _CHECK_IS_PY_CALLABLE_EX_r13 676
+#define _CHECK_IS_PY_CALLABLE_EX_r23 677
+#define _CHECK_IS_PY_CALLABLE_EX_r33 678
+#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r01 679
+#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r11 680
+#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r22 681
+#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r33 682
+#define _CHECK_METHOD_VERSION_r00 683
+#define _CHECK_METHOD_VERSION_KW_r11 684
+#define _CHECK_PEP_523_r00 685
+#define _CHECK_PEP_523_r11 686
+#define _CHECK_PEP_523_r22 687
+#define _CHECK_PEP_523_r33 688
+#define _CHECK_PERIODIC_r00 689
+#define _CHECK_PERIODIC_AT_END_r00 690
+#define _CHECK_PERIODIC_IF_NOT_YIELD_FROM_r00 691
+#define _CHECK_RECURSION_REMAINING_r00 692
+#define _CHECK_RECURSION_REMAINING_r11 693
+#define _CHECK_RECURSION_REMAINING_r22 694
+#define _CHECK_RECURSION_REMAINING_r33 695
+#define _CHECK_STACK_SPACE_r00 696
+#define _CHECK_STACK_SPACE_OPERAND_r00 697
+#define _CHECK_STACK_SPACE_OPERAND_r11 698
+#define _CHECK_STACK_SPACE_OPERAND_r22 699
+#define _CHECK_STACK_SPACE_OPERAND_r33 700
+#define _CHECK_VALIDITY_r00 701
+#define _CHECK_VALIDITY_r11 702
+#define _CHECK_VALIDITY_r22 703
+#define _CHECK_VALIDITY_r33 704
+#define _COLD_DYNAMIC_EXIT_r00 705
+#define _COLD_EXIT_r00 706
+#define _COMPARE_OP_r21 707
+#define _COMPARE_OP_FLOAT_r03 708
+#define _COMPARE_OP_FLOAT_r13 709
+#define _COMPARE_OP_FLOAT_r23 710
+#define _COMPARE_OP_INT_r23 711
+#define _COMPARE_OP_STR_r23 712
+#define _CONTAINS_OP_r23 713
+#define _CONTAINS_OP_DICT_r23 714
+#define _CONTAINS_OP_SET_r23 715
+#define _CONVERT_VALUE_r11 716
+#define _COPY_r01 717
+#define _COPY_1_r02 718
+#define _COPY_1_r12 719
+#define _COPY_1_r23 720
+#define _COPY_2_r03 721
+#define _COPY_2_r13 722
+#define _COPY_2_r23 723
+#define _COPY_3_r03 724
+#define _COPY_3_r13 725
+#define _COPY_3_r23 726
+#define _COPY_3_r33 727
+#define _COPY_FREE_VARS_r00 728
+#define _COPY_FREE_VARS_r11 729
+#define _COPY_FREE_VARS_r22 730
+#define _COPY_FREE_VARS_r33 731
+#define _CREATE_INIT_FRAME_r01 732
+#define _DELETE_ATTR_r10 733
+#define _DELETE_DEREF_r00 734
+#define _DELETE_FAST_r00 735
+#define _DELETE_GLOBAL_r00 736
+#define _DELETE_NAME_r00 737
+#define _DELETE_SUBSCR_r20 738
+#define _DEOPT_r00 739
+#define _DEOPT_r10 740
+#define _DEOPT_r20 741
+#define _DEOPT_r30 742
+#define _DICT_MERGE_r10 743
+#define _DICT_UPDATE_r10 744
+#define _DO_CALL_r01 745
+#define _DO_CALL_FUNCTION_EX_r31 746
+#define _DO_CALL_KW_r11 747
+#define _DYNAMIC_EXIT_r00 748
+#define _DYNAMIC_EXIT_r10 749
+#define _DYNAMIC_EXIT_r20 750
+#define _DYNAMIC_EXIT_r30 751
+#define _END_FOR_r10 752
+#define _END_SEND_r21 753
+#define _ERROR_POP_N_r00 754
+#define _EXIT_INIT_CHECK_r10 755
+#define _EXIT_TRACE_r00 756
+#define _EXIT_TRACE_r10 757
+#define _EXIT_TRACE_r20 758
+#define _EXIT_TRACE_r30 759
+#define _EXPAND_METHOD_r00 760
+#define _EXPAND_METHOD_KW_r11 761
+#define _FATAL_ERROR_r00 762
+#define _FATAL_ERROR_r11 763
+#define _FATAL_ERROR_r22 764
+#define _FATAL_ERROR_r33 765
+#define _FORMAT_SIMPLE_r11 766
+#define _FORMAT_WITH_SPEC_r21 767
+#define _FOR_ITER_r23 768
+#define _FOR_ITER_GEN_FRAME_r03 769
+#define _FOR_ITER_GEN_FRAME_r13 770
+#define _FOR_ITER_GEN_FRAME_r23 771
+#define _FOR_ITER_TIER_TWO_r23 772
+#define _GET_AITER_r11 773
+#define _GET_ANEXT_r12 774
+#define _GET_AWAITABLE_r11 775
+#define _GET_ITER_r12 776
+#define _GET_LEN_r12 777
+#define _GET_YIELD_FROM_ITER_r11 778
+#define _GUARD_BINARY_OP_EXTEND_r22 779
+#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r02 780
+#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r12 781
+#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r22 782
+#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r33 783
+#define _GUARD_BIT_IS_SET_POP_r00 784
+#define _GUARD_BIT_IS_SET_POP_r10 785
+#define _GUARD_BIT_IS_SET_POP_r21 786
+#define _GUARD_BIT_IS_SET_POP_r32 787
+#define _GUARD_BIT_IS_SET_POP_4_r00 788
+#define _GUARD_BIT_IS_SET_POP_4_r10 789
+#define _GUARD_BIT_IS_SET_POP_4_r21 790
+#define _GUARD_BIT_IS_SET_POP_4_r32 791
+#define _GUARD_BIT_IS_SET_POP_5_r00 792
+#define _GUARD_BIT_IS_SET_POP_5_r10 793
+#define _GUARD_BIT_IS_SET_POP_5_r21 794
+#define _GUARD_BIT_IS_SET_POP_5_r32 795
+#define _GUARD_BIT_IS_SET_POP_6_r00 796
+#define _GUARD_BIT_IS_SET_POP_6_r10 797
+#define _GUARD_BIT_IS_SET_POP_6_r21 798
+#define _GUARD_BIT_IS_SET_POP_6_r32 799
+#define _GUARD_BIT_IS_SET_POP_7_r00 800
+#define _GUARD_BIT_IS_SET_POP_7_r10 801
+#define _GUARD_BIT_IS_SET_POP_7_r21 802
+#define _GUARD_BIT_IS_SET_POP_7_r32 803
+#define _GUARD_BIT_IS_UNSET_POP_r00 804
+#define _GUARD_BIT_IS_UNSET_POP_r10 805
+#define _GUARD_BIT_IS_UNSET_POP_r21 806
+#define _GUARD_BIT_IS_UNSET_POP_r32 807
+#define _GUARD_BIT_IS_UNSET_POP_4_r00 808
+#define _GUARD_BIT_IS_UNSET_POP_4_r10 809
+#define _GUARD_BIT_IS_UNSET_POP_4_r21 810
+#define _GUARD_BIT_IS_UNSET_POP_4_r32 811
+#define _GUARD_BIT_IS_UNSET_POP_5_r00 812
+#define _GUARD_BIT_IS_UNSET_POP_5_r10 813
+#define _GUARD_BIT_IS_UNSET_POP_5_r21 814
+#define _GUARD_BIT_IS_UNSET_POP_5_r32 815
+#define _GUARD_BIT_IS_UNSET_POP_6_r00 816
+#define _GUARD_BIT_IS_UNSET_POP_6_r10 817
+#define _GUARD_BIT_IS_UNSET_POP_6_r21 818
+#define _GUARD_BIT_IS_UNSET_POP_6_r32 819
+#define _GUARD_BIT_IS_UNSET_POP_7_r00 820
+#define _GUARD_BIT_IS_UNSET_POP_7_r10 821
+#define _GUARD_BIT_IS_UNSET_POP_7_r21 822
+#define _GUARD_BIT_IS_UNSET_POP_7_r32 823
+#define _GUARD_CALLABLE_ISINSTANCE_r03 824
+#define _GUARD_CALLABLE_ISINSTANCE_r13 825
+#define _GUARD_CALLABLE_ISINSTANCE_r23 826
+#define _GUARD_CALLABLE_ISINSTANCE_r33 827
+#define _GUARD_CALLABLE_LEN_r03 828
+#define _GUARD_CALLABLE_LEN_r13 829
+#define _GUARD_CALLABLE_LEN_r23 830
+#define _GUARD_CALLABLE_LEN_r33 831
+#define _GUARD_CALLABLE_LIST_APPEND_r03 832
+#define _GUARD_CALLABLE_LIST_APPEND_r13 833
+#define _GUARD_CALLABLE_LIST_APPEND_r23 834
+#define _GUARD_CALLABLE_LIST_APPEND_r33 835
+#define _GUARD_CALLABLE_STR_1_r03 836
+#define _GUARD_CALLABLE_STR_1_r13 837
+#define _GUARD_CALLABLE_STR_1_r23 838
+#define _GUARD_CALLABLE_STR_1_r33 839
+#define _GUARD_CALLABLE_TUPLE_1_r03 840
+#define _GUARD_CALLABLE_TUPLE_1_r13 841
+#define _GUARD_CALLABLE_TUPLE_1_r23 842
+#define _GUARD_CALLABLE_TUPLE_1_r33 843
+#define _GUARD_CALLABLE_TYPE_1_r03 844
+#define _GUARD_CALLABLE_TYPE_1_r13 845
+#define _GUARD_CALLABLE_TYPE_1_r23 846
+#define _GUARD_CALLABLE_TYPE_1_r33 847
+#define _GUARD_DORV_NO_DICT_r01 848
+#define _GUARD_DORV_NO_DICT_r11 849
+#define _GUARD_DORV_NO_DICT_r22 850
+#define _GUARD_DORV_NO_DICT_r33 851
+#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r01 852
+#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r11 853
+#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r22 854
+#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r33 855
+#define _GUARD_GLOBALS_VERSION_r00 856
+#define _GUARD_GLOBALS_VERSION_r11 857
+#define _GUARD_GLOBALS_VERSION_r22 858
+#define _GUARD_GLOBALS_VERSION_r33 859
+#define _GUARD_IP_RETURN_GENERATOR_r00 860
+#define _GUARD_IP_RETURN_GENERATOR_r11 861
+#define _GUARD_IP_RETURN_GENERATOR_r22 862
+#define _GUARD_IP_RETURN_GENERATOR_r33 863
+#define _GUARD_IP_RETURN_VALUE_r00 864
+#define _GUARD_IP_RETURN_VALUE_r11 865
+#define _GUARD_IP_RETURN_VALUE_r22 866
+#define _GUARD_IP_RETURN_VALUE_r33 867
+#define _GUARD_IP_YIELD_VALUE_r00 868
+#define _GUARD_IP_YIELD_VALUE_r11 869
+#define _GUARD_IP_YIELD_VALUE_r22 870
+#define _GUARD_IP_YIELD_VALUE_r33 871
+#define _GUARD_IP__PUSH_FRAME_r00 872
+#define _GUARD_IP__PUSH_FRAME_r11 873
+#define _GUARD_IP__PUSH_FRAME_r22 874
+#define _GUARD_IP__PUSH_FRAME_r33 875
+#define _GUARD_IS_FALSE_POP_r00 876
+#define _GUARD_IS_FALSE_POP_r10 877
+#define _GUARD_IS_FALSE_POP_r21 878
+#define _GUARD_IS_FALSE_POP_r32 879
+#define _GUARD_IS_NONE_POP_r00 880
+#define _GUARD_IS_NONE_POP_r10 881
+#define _GUARD_IS_NONE_POP_r21 882
+#define _GUARD_IS_NONE_POP_r32 883
+#define _GUARD_IS_NOT_NONE_POP_r10 884
+#define _GUARD_IS_TRUE_POP_r00 885
+#define _GUARD_IS_TRUE_POP_r10 886
+#define _GUARD_IS_TRUE_POP_r21 887
+#define _GUARD_IS_TRUE_POP_r32 888
+#define _GUARD_KEYS_VERSION_r01 889
+#define _GUARD_KEYS_VERSION_r11 890
+#define _GUARD_KEYS_VERSION_r22 891
+#define _GUARD_KEYS_VERSION_r33 892
+#define _GUARD_NOS_COMPACT_ASCII_r02 893
+#define _GUARD_NOS_COMPACT_ASCII_r12 894
+#define _GUARD_NOS_COMPACT_ASCII_r22 895
+#define _GUARD_NOS_COMPACT_ASCII_r33 896
+#define _GUARD_NOS_DICT_r02 897
+#define _GUARD_NOS_DICT_r12 898
+#define _GUARD_NOS_DICT_r22 899
+#define _GUARD_NOS_DICT_r33 900
+#define _GUARD_NOS_FLOAT_r02 901
+#define _GUARD_NOS_FLOAT_r12 902
+#define _GUARD_NOS_FLOAT_r22 903
+#define _GUARD_NOS_FLOAT_r33 904
+#define _GUARD_NOS_INT_r02 905
+#define _GUARD_NOS_INT_r12 906
+#define _GUARD_NOS_INT_r22 907
+#define _GUARD_NOS_INT_r33 908
+#define _GUARD_NOS_LIST_r02 909
+#define _GUARD_NOS_LIST_r12 910
+#define _GUARD_NOS_LIST_r22 911
+#define _GUARD_NOS_LIST_r33 912
+#define _GUARD_NOS_NOT_NULL_r02 913
+#define _GUARD_NOS_NOT_NULL_r12 914
+#define _GUARD_NOS_NOT_NULL_r22 915
+#define _GUARD_NOS_NOT_NULL_r33 916
+#define _GUARD_NOS_NULL_r02 917
+#define _GUARD_NOS_NULL_r12 918
+#define _GUARD_NOS_NULL_r22 919
+#define _GUARD_NOS_NULL_r33 920
+#define _GUARD_NOS_OVERFLOWED_r02 921
+#define _GUARD_NOS_OVERFLOWED_r12 922
+#define _GUARD_NOS_OVERFLOWED_r22 923
+#define _GUARD_NOS_OVERFLOWED_r33 924
+#define _GUARD_NOS_TUPLE_r02 925
+#define _GUARD_NOS_TUPLE_r12 926
+#define _GUARD_NOS_TUPLE_r22 927
+#define _GUARD_NOS_TUPLE_r33 928
+#define _GUARD_NOS_UNICODE_r02 929
+#define _GUARD_NOS_UNICODE_r12 930
+#define _GUARD_NOS_UNICODE_r22 931
+#define _GUARD_NOS_UNICODE_r33 932
+#define _GUARD_NOT_EXHAUSTED_LIST_r02 933
+#define _GUARD_NOT_EXHAUSTED_LIST_r12 934
+#define _GUARD_NOT_EXHAUSTED_LIST_r22 935
+#define _GUARD_NOT_EXHAUSTED_LIST_r33 936
+#define _GUARD_NOT_EXHAUSTED_RANGE_r02 937
+#define _GUARD_NOT_EXHAUSTED_RANGE_r12 938
+#define _GUARD_NOT_EXHAUSTED_RANGE_r22 939
+#define _GUARD_NOT_EXHAUSTED_RANGE_r33 940
+#define _GUARD_NOT_EXHAUSTED_TUPLE_r02 941
+#define _GUARD_NOT_EXHAUSTED_TUPLE_r12 942
+#define _GUARD_NOT_EXHAUSTED_TUPLE_r22 943
+#define _GUARD_NOT_EXHAUSTED_TUPLE_r33 944
+#define _GUARD_THIRD_NULL_r03 945
+#define _GUARD_THIRD_NULL_r13 946
+#define _GUARD_THIRD_NULL_r23 947
+#define _GUARD_THIRD_NULL_r33 948
+#define _GUARD_TOS_ANY_SET_r01 949
+#define _GUARD_TOS_ANY_SET_r11 950
+#define _GUARD_TOS_ANY_SET_r22 951
+#define _GUARD_TOS_ANY_SET_r33 952
+#define _GUARD_TOS_DICT_r01 953
+#define _GUARD_TOS_DICT_r11 954
+#define _GUARD_TOS_DICT_r22 955
+#define _GUARD_TOS_DICT_r33 956
+#define _GUARD_TOS_FLOAT_r01 957
+#define _GUARD_TOS_FLOAT_r11 958
+#define _GUARD_TOS_FLOAT_r22 959
+#define _GUARD_TOS_FLOAT_r33 960
+#define _GUARD_TOS_INT_r01 961
+#define _GUARD_TOS_INT_r11 962
+#define _GUARD_TOS_INT_r22 963
+#define _GUARD_TOS_INT_r33 964
+#define _GUARD_TOS_LIST_r01 965
+#define _GUARD_TOS_LIST_r11 966
+#define _GUARD_TOS_LIST_r22 967
+#define _GUARD_TOS_LIST_r33 968
+#define _GUARD_TOS_OVERFLOWED_r01 969
+#define _GUARD_TOS_OVERFLOWED_r11 970
+#define _GUARD_TOS_OVERFLOWED_r22 971
+#define _GUARD_TOS_OVERFLOWED_r33 972
+#define _GUARD_TOS_SLICE_r01 973
+#define _GUARD_TOS_SLICE_r11 974
+#define _GUARD_TOS_SLICE_r22 975
+#define _GUARD_TOS_SLICE_r33 976
+#define _GUARD_TOS_TUPLE_r01 977
+#define _GUARD_TOS_TUPLE_r11 978
+#define _GUARD_TOS_TUPLE_r22 979
+#define _GUARD_TOS_TUPLE_r33 980
+#define _GUARD_TOS_UNICODE_r01 981
+#define _GUARD_TOS_UNICODE_r11 982
+#define _GUARD_TOS_UNICODE_r22 983
+#define _GUARD_TOS_UNICODE_r33 984
+#define _GUARD_TYPE_VERSION_r01 985
+#define _GUARD_TYPE_VERSION_r11 986
+#define _GUARD_TYPE_VERSION_r22 987
+#define _GUARD_TYPE_VERSION_r33 988
+#define _GUARD_TYPE_VERSION_AND_LOCK_r01 989
+#define _GUARD_TYPE_VERSION_AND_LOCK_r11 990
+#define _GUARD_TYPE_VERSION_AND_LOCK_r22 991
+#define _GUARD_TYPE_VERSION_AND_LOCK_r33 992
+#define _HANDLE_PENDING_AND_DEOPT_r00 993
+#define _HANDLE_PENDING_AND_DEOPT_r10 994
+#define _HANDLE_PENDING_AND_DEOPT_r20 995
+#define _HANDLE_PENDING_AND_DEOPT_r30 996
+#define _IMPORT_FROM_r12 997
+#define _IMPORT_NAME_r21 998
+#define _INIT_CALL_BOUND_METHOD_EXACT_ARGS_r00 999
+#define _INIT_CALL_PY_EXACT_ARGS_r01 1000
+#define _INIT_CALL_PY_EXACT_ARGS_0_r01 1001
+#define _INIT_CALL_PY_EXACT_ARGS_1_r01 1002
+#define _INIT_CALL_PY_EXACT_ARGS_2_r01 1003
+#define _INIT_CALL_PY_EXACT_ARGS_3_r01 1004
+#define _INIT_CALL_PY_EXACT_ARGS_4_r01 1005
+#define _INSERT_1_LOAD_CONST_INLINE_BORROW_r02 1006
+#define _INSERT_1_LOAD_CONST_INLINE_BORROW_r12 1007
+#define _INSERT_1_LOAD_CONST_INLINE_BORROW_r23 1008
+#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r03 1009
+#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r13 1010
+#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r23 1011
+#define _INSERT_NULL_r10 1012
+#define _INSTRUMENTED_FOR_ITER_r23 1013
+#define _INSTRUMENTED_INSTRUCTION_r00 1014
+#define _INSTRUMENTED_JUMP_FORWARD_r00 1015
+#define _INSTRUMENTED_JUMP_FORWARD_r11 1016
+#define _INSTRUMENTED_JUMP_FORWARD_r22 1017
+#define _INSTRUMENTED_JUMP_FORWARD_r33 1018
+#define _INSTRUMENTED_LINE_r00 1019
+#define _INSTRUMENTED_NOT_TAKEN_r00 1020
+#define _INSTRUMENTED_NOT_TAKEN_r11 1021
+#define _INSTRUMENTED_NOT_TAKEN_r22 1022
+#define _INSTRUMENTED_NOT_TAKEN_r33 1023
+#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r00 1024
+#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r10 1025
+#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r21 1026
+#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r32 1027
+#define _INSTRUMENTED_POP_JUMP_IF_NONE_r10 1028
+#define _INSTRUMENTED_POP_JUMP_IF_NOT_NONE_r10 1029
+#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r00 1030
+#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r10 1031
+#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r21 1032
+#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r32 1033
+#define _IS_NONE_r11 1034
+#define _IS_OP_r03 1035
+#define _IS_OP_r13 1036
+#define _IS_OP_r23 1037
+#define _ITER_CHECK_LIST_r02 1038
+#define _ITER_CHECK_LIST_r12 1039
+#define _ITER_CHECK_LIST_r22 1040
+#define _ITER_CHECK_LIST_r33 1041
+#define _ITER_CHECK_RANGE_r02 1042
+#define _ITER_CHECK_RANGE_r12 1043
+#define _ITER_CHECK_RANGE_r22 1044
+#define _ITER_CHECK_RANGE_r33 1045
+#define _ITER_CHECK_TUPLE_r02 1046
+#define _ITER_CHECK_TUPLE_r12 1047
+#define _ITER_CHECK_TUPLE_r22 1048
+#define _ITER_CHECK_TUPLE_r33 1049
+#define _ITER_JUMP_LIST_r02 1050
+#define _ITER_JUMP_LIST_r12 1051
+#define _ITER_JUMP_LIST_r22 1052
+#define _ITER_JUMP_LIST_r33 1053
+#define _ITER_JUMP_RANGE_r02 1054
+#define _ITER_JUMP_RANGE_r12 1055
+#define _ITER_JUMP_RANGE_r22 1056
+#define _ITER_JUMP_RANGE_r33 1057
+#define _ITER_JUMP_TUPLE_r02 1058
+#define _ITER_JUMP_TUPLE_r12 1059
+#define _ITER_JUMP_TUPLE_r22 1060
+#define _ITER_JUMP_TUPLE_r33 1061
+#define _ITER_NEXT_LIST_r23 1062
+#define _ITER_NEXT_LIST_TIER_TWO_r23 1063
+#define _ITER_NEXT_RANGE_r03 1064
+#define _ITER_NEXT_RANGE_r13 1065
+#define _ITER_NEXT_RANGE_r23 1066
+#define _ITER_NEXT_TUPLE_r03 1067
+#define _ITER_NEXT_TUPLE_r13 1068
+#define _ITER_NEXT_TUPLE_r23 1069
+#define _JUMP_BACKWARD_NO_INTERRUPT_r00 1070
+#define _JUMP_BACKWARD_NO_INTERRUPT_r11 1071
+#define _JUMP_BACKWARD_NO_INTERRUPT_r22 1072
+#define _JUMP_BACKWARD_NO_INTERRUPT_r33 1073
+#define _JUMP_TO_TOP_r00 1074
+#define _LIST_APPEND_r10 1075
+#define _LIST_EXTEND_r10 1076
+#define _LOAD_ATTR_r10 1077
+#define _LOAD_ATTR_CLASS_r11 1078
+#define _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN_r11 1079
+#define _LOAD_ATTR_INSTANCE_VALUE_r02 1080
+#define _LOAD_ATTR_INSTANCE_VALUE_r12 1081
+#define _LOAD_ATTR_INSTANCE_VALUE_r23 1082
+#define _LOAD_ATTR_METHOD_LAZY_DICT_r02 1083
+#define _LOAD_ATTR_METHOD_LAZY_DICT_r12 1084
+#define _LOAD_ATTR_METHOD_LAZY_DICT_r23 1085
+#define _LOAD_ATTR_METHOD_NO_DICT_r02 1086
+#define _LOAD_ATTR_METHOD_NO_DICT_r12 1087
+#define _LOAD_ATTR_METHOD_NO_DICT_r23 1088
+#define _LOAD_ATTR_METHOD_WITH_VALUES_r02 1089
+#define _LOAD_ATTR_METHOD_WITH_VALUES_r12 1090
+#define _LOAD_ATTR_METHOD_WITH_VALUES_r23 1091
+#define _LOAD_ATTR_MODULE_r11 1092
+#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT_r11 1093
+#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES_r11 1094
+#define _LOAD_ATTR_PROPERTY_FRAME_r11 1095
+#define _LOAD_ATTR_SLOT_r02 1096
+#define _LOAD_ATTR_SLOT_r12 1097
+#define _LOAD_ATTR_SLOT_r23 1098
+#define _LOAD_ATTR_WITH_HINT_r12 1099
+#define _LOAD_BUILD_CLASS_r01 1100
+#define _LOAD_BYTECODE_r00 1101
+#define _LOAD_COMMON_CONSTANT_r01 1102
+#define _LOAD_COMMON_CONSTANT_r12 1103
+#define _LOAD_COMMON_CONSTANT_r23 1104
+#define _LOAD_CONST_r01 1105
+#define _LOAD_CONST_r12 1106
+#define _LOAD_CONST_r23 1107
+#define _LOAD_CONST_INLINE_r01 1108
+#define _LOAD_CONST_INLINE_r12 1109
+#define _LOAD_CONST_INLINE_r23 1110
+#define _LOAD_CONST_INLINE_BORROW_r01 1111
+#define _LOAD_CONST_INLINE_BORROW_r12 1112
+#define _LOAD_CONST_INLINE_BORROW_r23 1113
+#define _LOAD_CONST_UNDER_INLINE_r02 1114
+#define _LOAD_CONST_UNDER_INLINE_r12 1115
+#define _LOAD_CONST_UNDER_INLINE_r23 1116
+#define _LOAD_CONST_UNDER_INLINE_BORROW_r02 1117
+#define _LOAD_CONST_UNDER_INLINE_BORROW_r12 1118
+#define _LOAD_CONST_UNDER_INLINE_BORROW_r23 1119
+#define _LOAD_DEREF_r01 1120
+#define _LOAD_FAST_r01 1121
+#define _LOAD_FAST_r12 1122
+#define _LOAD_FAST_r23 1123
+#define _LOAD_FAST_0_r01 1124
+#define _LOAD_FAST_0_r12 1125
+#define _LOAD_FAST_0_r23 1126
+#define _LOAD_FAST_1_r01 1127
+#define _LOAD_FAST_1_r12 1128
+#define _LOAD_FAST_1_r23 1129
+#define _LOAD_FAST_2_r01 1130
+#define _LOAD_FAST_2_r12 1131
+#define _LOAD_FAST_2_r23 1132
+#define _LOAD_FAST_3_r01 1133
+#define _LOAD_FAST_3_r12 1134
+#define _LOAD_FAST_3_r23 1135
+#define _LOAD_FAST_4_r01 1136
+#define _LOAD_FAST_4_r12 1137
+#define _LOAD_FAST_4_r23 1138
+#define _LOAD_FAST_5_r01 1139
+#define _LOAD_FAST_5_r12 1140
+#define _LOAD_FAST_5_r23 1141
+#define _LOAD_FAST_6_r01 1142
+#define _LOAD_FAST_6_r12 1143
+#define _LOAD_FAST_6_r23 1144
+#define _LOAD_FAST_7_r01 1145
+#define _LOAD_FAST_7_r12 1146
+#define _LOAD_FAST_7_r23 1147
+#define _LOAD_FAST_AND_CLEAR_r01 1148
+#define _LOAD_FAST_AND_CLEAR_r12 1149
+#define _LOAD_FAST_AND_CLEAR_r23 1150
+#define _LOAD_FAST_BORROW_r01 1151
+#define _LOAD_FAST_BORROW_r12 1152
+#define _LOAD_FAST_BORROW_r23 1153
+#define _LOAD_FAST_BORROW_0_r01 1154
+#define _LOAD_FAST_BORROW_0_r12 1155
+#define _LOAD_FAST_BORROW_0_r23 1156
+#define _LOAD_FAST_BORROW_1_r01 1157
+#define _LOAD_FAST_BORROW_1_r12 1158
+#define _LOAD_FAST_BORROW_1_r23 1159
+#define _LOAD_FAST_BORROW_2_r01 1160
+#define _LOAD_FAST_BORROW_2_r12 1161
+#define _LOAD_FAST_BORROW_2_r23 1162
+#define _LOAD_FAST_BORROW_3_r01 1163
+#define _LOAD_FAST_BORROW_3_r12 1164
+#define _LOAD_FAST_BORROW_3_r23 1165
+#define _LOAD_FAST_BORROW_4_r01 1166
+#define _LOAD_FAST_BORROW_4_r12 1167
+#define _LOAD_FAST_BORROW_4_r23 1168
+#define _LOAD_FAST_BORROW_5_r01 1169
+#define _LOAD_FAST_BORROW_5_r12 1170
+#define _LOAD_FAST_BORROW_5_r23 1171
+#define _LOAD_FAST_BORROW_6_r01 1172
+#define _LOAD_FAST_BORROW_6_r12 1173
+#define _LOAD_FAST_BORROW_6_r23 1174
+#define _LOAD_FAST_BORROW_7_r01 1175
+#define _LOAD_FAST_BORROW_7_r12 1176
+#define _LOAD_FAST_BORROW_7_r23 1177
+#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r02 1178
+#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r13 1179
+#define _LOAD_FAST_CHECK_r01 1180
+#define _LOAD_FAST_CHECK_r12 1181
+#define _LOAD_FAST_CHECK_r23 1182
+#define _LOAD_FAST_LOAD_FAST_r02 1183
+#define _LOAD_FAST_LOAD_FAST_r13 1184
+#define _LOAD_FROM_DICT_OR_DEREF_r11 1185
+#define _LOAD_FROM_DICT_OR_GLOBALS_r11 1186
+#define _LOAD_GLOBAL_r00 1187
+#define _LOAD_GLOBAL_BUILTINS_r01 1188
+#define _LOAD_GLOBAL_MODULE_r01 1189
+#define _LOAD_LOCALS_r01 1190
+#define _LOAD_LOCALS_r12 1191
+#define _LOAD_LOCALS_r23 1192
+#define _LOAD_NAME_r01 1193
+#define _LOAD_SMALL_INT_r01 1194
+#define _LOAD_SMALL_INT_r12 1195
+#define _LOAD_SMALL_INT_r23 1196
+#define _LOAD_SMALL_INT_0_r01 1197
+#define _LOAD_SMALL_INT_0_r12 1198
+#define _LOAD_SMALL_INT_0_r23 1199
+#define _LOAD_SMALL_INT_1_r01 1200
+#define _LOAD_SMALL_INT_1_r12 1201
+#define _LOAD_SMALL_INT_1_r23 1202
+#define _LOAD_SMALL_INT_2_r01 1203
+#define _LOAD_SMALL_INT_2_r12 1204
+#define _LOAD_SMALL_INT_2_r23 1205
+#define _LOAD_SMALL_INT_3_r01 1206
+#define _LOAD_SMALL_INT_3_r12 1207
+#define _LOAD_SMALL_INT_3_r23 1208
+#define _LOAD_SPECIAL_r00 1209
+#define _LOAD_SUPER_ATTR_ATTR_r31 1210
+#define _LOAD_SUPER_ATTR_METHOD_r32 1211
+#define _MAKE_CALLARGS_A_TUPLE_r33 1212
+#define _MAKE_CELL_r00 1213
+#define _MAKE_FUNCTION_r11 1214
+#define _MAKE_WARM_r00 1215
+#define _MAKE_WARM_r11 1216
+#define _MAKE_WARM_r22 1217
+#define _MAKE_WARM_r33 1218
+#define _MAP_ADD_r20 1219
+#define _MATCH_CLASS_r31 1220
+#define _MATCH_KEYS_r23 1221
+#define _MATCH_MAPPING_r02 1222
+#define _MATCH_MAPPING_r12 1223
+#define _MATCH_MAPPING_r23 1224
+#define _MATCH_SEQUENCE_r02 1225
+#define _MATCH_SEQUENCE_r12 1226
+#define _MATCH_SEQUENCE_r23 1227
+#define _MAYBE_EXPAND_METHOD_r00 1228
+#define _MAYBE_EXPAND_METHOD_KW_r11 1229
+#define _MONITOR_CALL_r00 1230
+#define _MONITOR_CALL_KW_r11 1231
+#define _MONITOR_JUMP_BACKWARD_r00 1232
+#define _MONITOR_JUMP_BACKWARD_r11 1233
+#define _MONITOR_JUMP_BACKWARD_r22 1234
+#define _MONITOR_JUMP_BACKWARD_r33 1235
+#define _MONITOR_RESUME_r00 1236
+#define _NOP_r00 1237
+#define _NOP_r11 1238
+#define _NOP_r22 1239
+#define _NOP_r33 1240
+#define _POP_CALL_r20 1241
+#define _POP_CALL_LOAD_CONST_INLINE_BORROW_r21 1242
+#define _POP_CALL_ONE_r30 1243
+#define _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW_r31 1244
+#define _POP_CALL_TWO_r30 1245
+#define _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW_r31 1246
+#define _POP_EXCEPT_r10 1247
+#define _POP_ITER_r20 1248
+#define _POP_JUMP_IF_FALSE_r00 1249
+#define _POP_JUMP_IF_FALSE_r10 1250
+#define _POP_JUMP_IF_FALSE_r21 1251
+#define _POP_JUMP_IF_FALSE_r32 1252
+#define _POP_JUMP_IF_TRUE_r00 1253
+#define _POP_JUMP_IF_TRUE_r10 1254
+#define _POP_JUMP_IF_TRUE_r21 1255
+#define _POP_JUMP_IF_TRUE_r32 1256
+#define _POP_TOP_r10 1257
+#define _POP_TOP_FLOAT_r00 1258
+#define _POP_TOP_FLOAT_r10 1259
+#define _POP_TOP_FLOAT_r21 1260
+#define _POP_TOP_FLOAT_r32 1261
+#define _POP_TOP_INT_r00 1262
+#define _POP_TOP_INT_r10 1263
+#define _POP_TOP_INT_r21 1264
+#define _POP_TOP_INT_r32 1265
+#define _POP_TOP_LOAD_CONST_INLINE_r11 1266
+#define _POP_TOP_LOAD_CONST_INLINE_BORROW_r11 1267
+#define _POP_TOP_NOP_r00 1268
+#define _POP_TOP_NOP_r10 1269
+#define _POP_TOP_NOP_r21 1270
+#define _POP_TOP_NOP_r32 1271
+#define _POP_TOP_UNICODE_r00 1272
+#define _POP_TOP_UNICODE_r10 1273
+#define _POP_TOP_UNICODE_r21 1274
+#define _POP_TOP_UNICODE_r32 1275
+#define _POP_TWO_r20 1276
+#define _POP_TWO_LOAD_CONST_INLINE_BORROW_r21 1277
+#define _PUSH_EXC_INFO_r02 1278
+#define _PUSH_EXC_INFO_r12 1279
+#define _PUSH_EXC_INFO_r23 1280
+#define _PUSH_FRAME_r10 1281
+#define _PUSH_NULL_r01 1282
+#define _PUSH_NULL_r12 1283
+#define _PUSH_NULL_r23 1284
+#define _PUSH_NULL_CONDITIONAL_r00 1285
+#define _PY_FRAME_EX_r31 1286
+#define _PY_FRAME_GENERAL_r01 1287
+#define _PY_FRAME_KW_r11 1288
+#define _QUICKEN_RESUME_r00 1289
+#define _QUICKEN_RESUME_r11 1290
+#define _QUICKEN_RESUME_r22 1291
+#define _QUICKEN_RESUME_r33 1292
+#define _REPLACE_WITH_TRUE_r02 1293
+#define _REPLACE_WITH_TRUE_r12 1294
+#define _REPLACE_WITH_TRUE_r23 1295
+#define _RESUME_CHECK_r00 1296
+#define _RESUME_CHECK_r11 1297
+#define _RESUME_CHECK_r22 1298
+#define _RESUME_CHECK_r33 1299
+#define _RETURN_GENERATOR_r01 1300
+#define _RETURN_VALUE_r11 1301
+#define _SAVE_RETURN_OFFSET_r00 1302
+#define _SAVE_RETURN_OFFSET_r11 1303
+#define _SAVE_RETURN_OFFSET_r22 1304
+#define _SAVE_RETURN_OFFSET_r33 1305
+#define _SEND_r22 1306
+#define _SEND_GEN_FRAME_r22 1307
+#define _SETUP_ANNOTATIONS_r00 1308
+#define _SET_ADD_r10 1309
+#define _SET_FUNCTION_ATTRIBUTE_r01 1310
+#define _SET_FUNCTION_ATTRIBUTE_r11 1311
+#define _SET_FUNCTION_ATTRIBUTE_r21 1312
+#define _SET_FUNCTION_ATTRIBUTE_r32 1313
+#define _SET_IP_r00 1314
+#define _SET_IP_r11 1315
+#define _SET_IP_r22 1316
+#define _SET_IP_r33 1317
+#define _SET_UPDATE_r10 1318
+#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r02 1319
+#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r12 1320
+#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r22 1321
+#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r32 1322
+#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03 1323
+#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13 1324
+#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r23 1325
+#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33 1326
+#define _SPILL_OR_RELOAD_r01 1327
+#define _SPILL_OR_RELOAD_r02 1328
+#define _SPILL_OR_RELOAD_r03 1329
+#define _SPILL_OR_RELOAD_r10 1330
+#define _SPILL_OR_RELOAD_r12 1331
+#define _SPILL_OR_RELOAD_r13 1332
+#define _SPILL_OR_RELOAD_r20 1333
+#define _SPILL_OR_RELOAD_r21 1334
+#define _SPILL_OR_RELOAD_r23 1335
+#define _SPILL_OR_RELOAD_r30 1336
+#define _SPILL_OR_RELOAD_r31 1337
+#define _SPILL_OR_RELOAD_r32 1338
+#define _START_EXECUTOR_r00 1339
+#define _STORE_ATTR_r20 1340
+#define _STORE_ATTR_INSTANCE_VALUE_r21 1341
+#define _STORE_ATTR_SLOT_r21 1342
+#define _STORE_ATTR_WITH_HINT_r21 1343
+#define _STORE_DEREF_r10 1344
+#define _STORE_FAST_LOAD_FAST_r11 1345
+#define _STORE_FAST_STORE_FAST_r20 1346
+#define _STORE_GLOBAL_r10 1347
+#define _STORE_NAME_r10 1348
+#define _STORE_SLICE_r30 1349
+#define _STORE_SUBSCR_r30 1350
+#define _STORE_SUBSCR_DICT_r31 1351
+#define _STORE_SUBSCR_LIST_INT_r32 1352
+#define _SWAP_r11 1353
+#define _SWAP_2_r02 1354
+#define _SWAP_2_r12 1355
+#define _SWAP_2_r22 1356
+#define _SWAP_2_r33 1357
+#define _SWAP_3_r03 1358
+#define _SWAP_3_r13 1359
+#define _SWAP_3_r23 1360
+#define _SWAP_3_r33 1361
+#define _SWAP_FAST_r01 1362
+#define _SWAP_FAST_r11 1363
+#define _SWAP_FAST_r22 1364
+#define _SWAP_FAST_r33 1365
+#define _SWAP_FAST_0_r01 1366
+#define _SWAP_FAST_0_r11 1367
+#define _SWAP_FAST_0_r22 1368
+#define _SWAP_FAST_0_r33 1369
+#define _SWAP_FAST_1_r01 1370
+#define _SWAP_FAST_1_r11 1371
+#define _SWAP_FAST_1_r22 1372
+#define _SWAP_FAST_1_r33 1373
+#define _SWAP_FAST_2_r01 1374
+#define _SWAP_FAST_2_r11 1375
+#define _SWAP_FAST_2_r22 1376
+#define _SWAP_FAST_2_r33 1377
+#define _SWAP_FAST_3_r01 1378
+#define _SWAP_FAST_3_r11 1379
+#define _SWAP_FAST_3_r22 1380
+#define _SWAP_FAST_3_r33 1381
+#define _SWAP_FAST_4_r01 1382
+#define _SWAP_FAST_4_r11 1383
+#define _SWAP_FAST_4_r22 1384
+#define _SWAP_FAST_4_r33 1385
+#define _SWAP_FAST_5_r01 1386
+#define _SWAP_FAST_5_r11 1387
+#define _SWAP_FAST_5_r22 1388
+#define _SWAP_FAST_5_r33 1389
+#define _SWAP_FAST_6_r01 1390
+#define _SWAP_FAST_6_r11 1391
+#define _SWAP_FAST_6_r22 1392
+#define _SWAP_FAST_6_r33 1393
+#define _SWAP_FAST_7_r01 1394
+#define _SWAP_FAST_7_r11 1395
+#define _SWAP_FAST_7_r22 1396
+#define _SWAP_FAST_7_r33 1397
+#define _TIER2_RESUME_CHECK_r00 1398
+#define _TIER2_RESUME_CHECK_r11 1399
+#define _TIER2_RESUME_CHECK_r22 1400
+#define _TIER2_RESUME_CHECK_r33 1401
+#define _TO_BOOL_r11 1402
+#define _TO_BOOL_BOOL_r01 1403
+#define _TO_BOOL_BOOL_r11 1404
+#define _TO_BOOL_BOOL_r22 1405
+#define _TO_BOOL_BOOL_r33 1406
+#define _TO_BOOL_INT_r02 1407
+#define _TO_BOOL_INT_r12 1408
+#define _TO_BOOL_INT_r23 1409
+#define _TO_BOOL_LIST_r02 1410
+#define _TO_BOOL_LIST_r12 1411
+#define _TO_BOOL_LIST_r23 1412
+#define _TO_BOOL_NONE_r01 1413
+#define _TO_BOOL_NONE_r11 1414
+#define _TO_BOOL_NONE_r22 1415
+#define _TO_BOOL_NONE_r33 1416
+#define _TO_BOOL_STR_r02 1417
+#define _TO_BOOL_STR_r12 1418
+#define _TO_BOOL_STR_r23 1419
+#define _TRACE_RECORD_r00 1420
+#define _UNARY_INVERT_r12 1421
+#define _UNARY_NEGATIVE_r12 1422
+#define _UNARY_NOT_r01 1423
+#define _UNARY_NOT_r11 1424
+#define _UNARY_NOT_r22 1425
+#define _UNARY_NOT_r33 1426
+#define _UNPACK_EX_r10 1427
+#define _UNPACK_SEQUENCE_r10 1428
+#define _UNPACK_SEQUENCE_LIST_r10 1429
+#define _UNPACK_SEQUENCE_TUPLE_r10 1430
+#define _UNPACK_SEQUENCE_TWO_TUPLE_r12 1431
+#define _WITH_EXCEPT_START_r33 1432
+#define _YIELD_VALUE_r11 1433
+#define MAX_UOP_REGS_ID 1433
 
 #ifdef __cplusplus
 }
index 6398448d5faece6a90a87a171bc8e56e36fa05af..c2e0f4a2c391edf716bc2346d8508d3825dd73da 100644 (file)
@@ -323,6 +323,16 @@ const uint32_t _PyUop_Flags[MAX_UOP_ID+1] = {
     [_SWAP] = HAS_ARG_FLAG | HAS_PURE_FLAG,
     [_GUARD_IS_TRUE_POP] = HAS_EXIT_FLAG,
     [_GUARD_IS_FALSE_POP] = HAS_EXIT_FLAG,
+    [_GUARD_BIT_IS_SET_POP_4] = HAS_EXIT_FLAG,
+    [_GUARD_BIT_IS_SET_POP_5] = HAS_EXIT_FLAG,
+    [_GUARD_BIT_IS_SET_POP_6] = HAS_EXIT_FLAG,
+    [_GUARD_BIT_IS_SET_POP_7] = HAS_EXIT_FLAG,
+    [_GUARD_BIT_IS_SET_POP] = HAS_ARG_FLAG | HAS_EXIT_FLAG,
+    [_GUARD_BIT_IS_UNSET_POP_4] = HAS_EXIT_FLAG,
+    [_GUARD_BIT_IS_UNSET_POP_5] = HAS_EXIT_FLAG,
+    [_GUARD_BIT_IS_UNSET_POP_6] = HAS_EXIT_FLAG,
+    [_GUARD_BIT_IS_UNSET_POP_7] = HAS_EXIT_FLAG,
+    [_GUARD_BIT_IS_UNSET_POP] = HAS_ARG_FLAG | HAS_EXIT_FLAG,
     [_GUARD_IS_NONE_POP] = HAS_EXIT_FLAG,
     [_GUARD_IS_NOT_NONE_POP] = HAS_EXIT_FLAG | HAS_ESCAPES_FLAG,
     [_JUMP_TO_TOP] = 0,
@@ -373,6 +383,8 @@ const ReplicationRange _PyUop_Replication[MAX_UOP_ID+1] = {
     [_INIT_CALL_PY_EXACT_ARGS] = { 0, 5 },
     [_COPY] = { 1, 4 },
     [_SWAP] = { 2, 4 },
+    [_GUARD_BIT_IS_SET_POP] = { 4, 8 },
+    [_GUARD_BIT_IS_UNSET_POP] = { 4, 8 },
 };
 
 const _PyUopCachingInfo _PyUop_Caching[MAX_UOP_ID+1] = {
@@ -2968,6 +2980,96 @@ const _PyUopCachingInfo _PyUop_Caching[MAX_UOP_ID+1] = {
             { 2, 2, _GUARD_IS_FALSE_POP_r32 },
         },
     },
+    [_GUARD_BIT_IS_SET_POP_4] = {
+        .best = { 0, 1, 2, 3 },
+        .entries = {
+            { 0, 0, _GUARD_BIT_IS_SET_POP_4_r00 },
+            { 0, 0, _GUARD_BIT_IS_SET_POP_4_r10 },
+            { 1, 1, _GUARD_BIT_IS_SET_POP_4_r21 },
+            { 2, 2, _GUARD_BIT_IS_SET_POP_4_r32 },
+        },
+    },
+    [_GUARD_BIT_IS_SET_POP_5] = {
+        .best = { 0, 1, 2, 3 },
+        .entries = {
+            { 0, 0, _GUARD_BIT_IS_SET_POP_5_r00 },
+            { 0, 0, _GUARD_BIT_IS_SET_POP_5_r10 },
+            { 1, 1, _GUARD_BIT_IS_SET_POP_5_r21 },
+            { 2, 2, _GUARD_BIT_IS_SET_POP_5_r32 },
+        },
+    },
+    [_GUARD_BIT_IS_SET_POP_6] = {
+        .best = { 0, 1, 2, 3 },
+        .entries = {
+            { 0, 0, _GUARD_BIT_IS_SET_POP_6_r00 },
+            { 0, 0, _GUARD_BIT_IS_SET_POP_6_r10 },
+            { 1, 1, _GUARD_BIT_IS_SET_POP_6_r21 },
+            { 2, 2, _GUARD_BIT_IS_SET_POP_6_r32 },
+        },
+    },
+    [_GUARD_BIT_IS_SET_POP_7] = {
+        .best = { 0, 1, 2, 3 },
+        .entries = {
+            { 0, 0, _GUARD_BIT_IS_SET_POP_7_r00 },
+            { 0, 0, _GUARD_BIT_IS_SET_POP_7_r10 },
+            { 1, 1, _GUARD_BIT_IS_SET_POP_7_r21 },
+            { 2, 2, _GUARD_BIT_IS_SET_POP_7_r32 },
+        },
+    },
+    [_GUARD_BIT_IS_SET_POP] = {
+        .best = { 0, 1, 2, 3 },
+        .entries = {
+            { 0, 0, _GUARD_BIT_IS_SET_POP_r00 },
+            { 0, 0, _GUARD_BIT_IS_SET_POP_r10 },
+            { 1, 1, _GUARD_BIT_IS_SET_POP_r21 },
+            { 2, 2, _GUARD_BIT_IS_SET_POP_r32 },
+        },
+    },
+    [_GUARD_BIT_IS_UNSET_POP_4] = {
+        .best = { 0, 1, 2, 3 },
+        .entries = {
+            { 0, 0, _GUARD_BIT_IS_UNSET_POP_4_r00 },
+            { 0, 0, _GUARD_BIT_IS_UNSET_POP_4_r10 },
+            { 1, 1, _GUARD_BIT_IS_UNSET_POP_4_r21 },
+            { 2, 2, _GUARD_BIT_IS_UNSET_POP_4_r32 },
+        },
+    },
+    [_GUARD_BIT_IS_UNSET_POP_5] = {
+        .best = { 0, 1, 2, 3 },
+        .entries = {
+            { 0, 0, _GUARD_BIT_IS_UNSET_POP_5_r00 },
+            { 0, 0, _GUARD_BIT_IS_UNSET_POP_5_r10 },
+            { 1, 1, _GUARD_BIT_IS_UNSET_POP_5_r21 },
+            { 2, 2, _GUARD_BIT_IS_UNSET_POP_5_r32 },
+        },
+    },
+    [_GUARD_BIT_IS_UNSET_POP_6] = {
+        .best = { 0, 1, 2, 3 },
+        .entries = {
+            { 0, 0, _GUARD_BIT_IS_UNSET_POP_6_r00 },
+            { 0, 0, _GUARD_BIT_IS_UNSET_POP_6_r10 },
+            { 1, 1, _GUARD_BIT_IS_UNSET_POP_6_r21 },
+            { 2, 2, _GUARD_BIT_IS_UNSET_POP_6_r32 },
+        },
+    },
+    [_GUARD_BIT_IS_UNSET_POP_7] = {
+        .best = { 0, 1, 2, 3 },
+        .entries = {
+            { 0, 0, _GUARD_BIT_IS_UNSET_POP_7_r00 },
+            { 0, 0, _GUARD_BIT_IS_UNSET_POP_7_r10 },
+            { 1, 1, _GUARD_BIT_IS_UNSET_POP_7_r21 },
+            { 2, 2, _GUARD_BIT_IS_UNSET_POP_7_r32 },
+        },
+    },
+    [_GUARD_BIT_IS_UNSET_POP] = {
+        .best = { 0, 1, 2, 3 },
+        .entries = {
+            { 0, 0, _GUARD_BIT_IS_UNSET_POP_r00 },
+            { 0, 0, _GUARD_BIT_IS_UNSET_POP_r10 },
+            { 1, 1, _GUARD_BIT_IS_UNSET_POP_r21 },
+            { 2, 2, _GUARD_BIT_IS_UNSET_POP_r32 },
+        },
+    },
     [_GUARD_IS_NONE_POP] = {
         .best = { 0, 1, 2, 3 },
         .entries = {
@@ -3947,6 +4049,46 @@ const uint16_t _PyUop_Uncached[MAX_UOP_REGS_ID+1] = {
     [_GUARD_IS_FALSE_POP_r10] = _GUARD_IS_FALSE_POP,
     [_GUARD_IS_FALSE_POP_r21] = _GUARD_IS_FALSE_POP,
     [_GUARD_IS_FALSE_POP_r32] = _GUARD_IS_FALSE_POP,
+    [_GUARD_BIT_IS_SET_POP_4_r00] = _GUARD_BIT_IS_SET_POP_4,
+    [_GUARD_BIT_IS_SET_POP_4_r10] = _GUARD_BIT_IS_SET_POP_4,
+    [_GUARD_BIT_IS_SET_POP_4_r21] = _GUARD_BIT_IS_SET_POP_4,
+    [_GUARD_BIT_IS_SET_POP_4_r32] = _GUARD_BIT_IS_SET_POP_4,
+    [_GUARD_BIT_IS_SET_POP_5_r00] = _GUARD_BIT_IS_SET_POP_5,
+    [_GUARD_BIT_IS_SET_POP_5_r10] = _GUARD_BIT_IS_SET_POP_5,
+    [_GUARD_BIT_IS_SET_POP_5_r21] = _GUARD_BIT_IS_SET_POP_5,
+    [_GUARD_BIT_IS_SET_POP_5_r32] = _GUARD_BIT_IS_SET_POP_5,
+    [_GUARD_BIT_IS_SET_POP_6_r00] = _GUARD_BIT_IS_SET_POP_6,
+    [_GUARD_BIT_IS_SET_POP_6_r10] = _GUARD_BIT_IS_SET_POP_6,
+    [_GUARD_BIT_IS_SET_POP_6_r21] = _GUARD_BIT_IS_SET_POP_6,
+    [_GUARD_BIT_IS_SET_POP_6_r32] = _GUARD_BIT_IS_SET_POP_6,
+    [_GUARD_BIT_IS_SET_POP_7_r00] = _GUARD_BIT_IS_SET_POP_7,
+    [_GUARD_BIT_IS_SET_POP_7_r10] = _GUARD_BIT_IS_SET_POP_7,
+    [_GUARD_BIT_IS_SET_POP_7_r21] = _GUARD_BIT_IS_SET_POP_7,
+    [_GUARD_BIT_IS_SET_POP_7_r32] = _GUARD_BIT_IS_SET_POP_7,
+    [_GUARD_BIT_IS_SET_POP_r00] = _GUARD_BIT_IS_SET_POP,
+    [_GUARD_BIT_IS_SET_POP_r10] = _GUARD_BIT_IS_SET_POP,
+    [_GUARD_BIT_IS_SET_POP_r21] = _GUARD_BIT_IS_SET_POP,
+    [_GUARD_BIT_IS_SET_POP_r32] = _GUARD_BIT_IS_SET_POP,
+    [_GUARD_BIT_IS_UNSET_POP_4_r00] = _GUARD_BIT_IS_UNSET_POP_4,
+    [_GUARD_BIT_IS_UNSET_POP_4_r10] = _GUARD_BIT_IS_UNSET_POP_4,
+    [_GUARD_BIT_IS_UNSET_POP_4_r21] = _GUARD_BIT_IS_UNSET_POP_4,
+    [_GUARD_BIT_IS_UNSET_POP_4_r32] = _GUARD_BIT_IS_UNSET_POP_4,
+    [_GUARD_BIT_IS_UNSET_POP_5_r00] = _GUARD_BIT_IS_UNSET_POP_5,
+    [_GUARD_BIT_IS_UNSET_POP_5_r10] = _GUARD_BIT_IS_UNSET_POP_5,
+    [_GUARD_BIT_IS_UNSET_POP_5_r21] = _GUARD_BIT_IS_UNSET_POP_5,
+    [_GUARD_BIT_IS_UNSET_POP_5_r32] = _GUARD_BIT_IS_UNSET_POP_5,
+    [_GUARD_BIT_IS_UNSET_POP_6_r00] = _GUARD_BIT_IS_UNSET_POP_6,
+    [_GUARD_BIT_IS_UNSET_POP_6_r10] = _GUARD_BIT_IS_UNSET_POP_6,
+    [_GUARD_BIT_IS_UNSET_POP_6_r21] = _GUARD_BIT_IS_UNSET_POP_6,
+    [_GUARD_BIT_IS_UNSET_POP_6_r32] = _GUARD_BIT_IS_UNSET_POP_6,
+    [_GUARD_BIT_IS_UNSET_POP_7_r00] = _GUARD_BIT_IS_UNSET_POP_7,
+    [_GUARD_BIT_IS_UNSET_POP_7_r10] = _GUARD_BIT_IS_UNSET_POP_7,
+    [_GUARD_BIT_IS_UNSET_POP_7_r21] = _GUARD_BIT_IS_UNSET_POP_7,
+    [_GUARD_BIT_IS_UNSET_POP_7_r32] = _GUARD_BIT_IS_UNSET_POP_7,
+    [_GUARD_BIT_IS_UNSET_POP_r00] = _GUARD_BIT_IS_UNSET_POP,
+    [_GUARD_BIT_IS_UNSET_POP_r10] = _GUARD_BIT_IS_UNSET_POP,
+    [_GUARD_BIT_IS_UNSET_POP_r21] = _GUARD_BIT_IS_UNSET_POP,
+    [_GUARD_BIT_IS_UNSET_POP_r32] = _GUARD_BIT_IS_UNSET_POP,
     [_GUARD_IS_NONE_POP_r00] = _GUARD_IS_NONE_POP,
     [_GUARD_IS_NONE_POP_r10] = _GUARD_IS_NONE_POP,
     [_GUARD_IS_NONE_POP_r21] = _GUARD_IS_NONE_POP,
@@ -4398,6 +4540,56 @@ const char *const _PyOpcode_uop_name[MAX_UOP_REGS_ID+1] = {
     [_GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r12] = "_GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r12",
     [_GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r22] = "_GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r22",
     [_GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r33] = "_GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r33",
+    [_GUARD_BIT_IS_SET_POP] = "_GUARD_BIT_IS_SET_POP",
+    [_GUARD_BIT_IS_SET_POP_r00] = "_GUARD_BIT_IS_SET_POP_r00",
+    [_GUARD_BIT_IS_SET_POP_r10] = "_GUARD_BIT_IS_SET_POP_r10",
+    [_GUARD_BIT_IS_SET_POP_r21] = "_GUARD_BIT_IS_SET_POP_r21",
+    [_GUARD_BIT_IS_SET_POP_r32] = "_GUARD_BIT_IS_SET_POP_r32",
+    [_GUARD_BIT_IS_SET_POP_4] = "_GUARD_BIT_IS_SET_POP_4",
+    [_GUARD_BIT_IS_SET_POP_4_r00] = "_GUARD_BIT_IS_SET_POP_4_r00",
+    [_GUARD_BIT_IS_SET_POP_4_r10] = "_GUARD_BIT_IS_SET_POP_4_r10",
+    [_GUARD_BIT_IS_SET_POP_4_r21] = "_GUARD_BIT_IS_SET_POP_4_r21",
+    [_GUARD_BIT_IS_SET_POP_4_r32] = "_GUARD_BIT_IS_SET_POP_4_r32",
+    [_GUARD_BIT_IS_SET_POP_5] = "_GUARD_BIT_IS_SET_POP_5",
+    [_GUARD_BIT_IS_SET_POP_5_r00] = "_GUARD_BIT_IS_SET_POP_5_r00",
+    [_GUARD_BIT_IS_SET_POP_5_r10] = "_GUARD_BIT_IS_SET_POP_5_r10",
+    [_GUARD_BIT_IS_SET_POP_5_r21] = "_GUARD_BIT_IS_SET_POP_5_r21",
+    [_GUARD_BIT_IS_SET_POP_5_r32] = "_GUARD_BIT_IS_SET_POP_5_r32",
+    [_GUARD_BIT_IS_SET_POP_6] = "_GUARD_BIT_IS_SET_POP_6",
+    [_GUARD_BIT_IS_SET_POP_6_r00] = "_GUARD_BIT_IS_SET_POP_6_r00",
+    [_GUARD_BIT_IS_SET_POP_6_r10] = "_GUARD_BIT_IS_SET_POP_6_r10",
+    [_GUARD_BIT_IS_SET_POP_6_r21] = "_GUARD_BIT_IS_SET_POP_6_r21",
+    [_GUARD_BIT_IS_SET_POP_6_r32] = "_GUARD_BIT_IS_SET_POP_6_r32",
+    [_GUARD_BIT_IS_SET_POP_7] = "_GUARD_BIT_IS_SET_POP_7",
+    [_GUARD_BIT_IS_SET_POP_7_r00] = "_GUARD_BIT_IS_SET_POP_7_r00",
+    [_GUARD_BIT_IS_SET_POP_7_r10] = "_GUARD_BIT_IS_SET_POP_7_r10",
+    [_GUARD_BIT_IS_SET_POP_7_r21] = "_GUARD_BIT_IS_SET_POP_7_r21",
+    [_GUARD_BIT_IS_SET_POP_7_r32] = "_GUARD_BIT_IS_SET_POP_7_r32",
+    [_GUARD_BIT_IS_UNSET_POP] = "_GUARD_BIT_IS_UNSET_POP",
+    [_GUARD_BIT_IS_UNSET_POP_r00] = "_GUARD_BIT_IS_UNSET_POP_r00",
+    [_GUARD_BIT_IS_UNSET_POP_r10] = "_GUARD_BIT_IS_UNSET_POP_r10",
+    [_GUARD_BIT_IS_UNSET_POP_r21] = "_GUARD_BIT_IS_UNSET_POP_r21",
+    [_GUARD_BIT_IS_UNSET_POP_r32] = "_GUARD_BIT_IS_UNSET_POP_r32",
+    [_GUARD_BIT_IS_UNSET_POP_4] = "_GUARD_BIT_IS_UNSET_POP_4",
+    [_GUARD_BIT_IS_UNSET_POP_4_r00] = "_GUARD_BIT_IS_UNSET_POP_4_r00",
+    [_GUARD_BIT_IS_UNSET_POP_4_r10] = "_GUARD_BIT_IS_UNSET_POP_4_r10",
+    [_GUARD_BIT_IS_UNSET_POP_4_r21] = "_GUARD_BIT_IS_UNSET_POP_4_r21",
+    [_GUARD_BIT_IS_UNSET_POP_4_r32] = "_GUARD_BIT_IS_UNSET_POP_4_r32",
+    [_GUARD_BIT_IS_UNSET_POP_5] = "_GUARD_BIT_IS_UNSET_POP_5",
+    [_GUARD_BIT_IS_UNSET_POP_5_r00] = "_GUARD_BIT_IS_UNSET_POP_5_r00",
+    [_GUARD_BIT_IS_UNSET_POP_5_r10] = "_GUARD_BIT_IS_UNSET_POP_5_r10",
+    [_GUARD_BIT_IS_UNSET_POP_5_r21] = "_GUARD_BIT_IS_UNSET_POP_5_r21",
+    [_GUARD_BIT_IS_UNSET_POP_5_r32] = "_GUARD_BIT_IS_UNSET_POP_5_r32",
+    [_GUARD_BIT_IS_UNSET_POP_6] = "_GUARD_BIT_IS_UNSET_POP_6",
+    [_GUARD_BIT_IS_UNSET_POP_6_r00] = "_GUARD_BIT_IS_UNSET_POP_6_r00",
+    [_GUARD_BIT_IS_UNSET_POP_6_r10] = "_GUARD_BIT_IS_UNSET_POP_6_r10",
+    [_GUARD_BIT_IS_UNSET_POP_6_r21] = "_GUARD_BIT_IS_UNSET_POP_6_r21",
+    [_GUARD_BIT_IS_UNSET_POP_6_r32] = "_GUARD_BIT_IS_UNSET_POP_6_r32",
+    [_GUARD_BIT_IS_UNSET_POP_7] = "_GUARD_BIT_IS_UNSET_POP_7",
+    [_GUARD_BIT_IS_UNSET_POP_7_r00] = "_GUARD_BIT_IS_UNSET_POP_7_r00",
+    [_GUARD_BIT_IS_UNSET_POP_7_r10] = "_GUARD_BIT_IS_UNSET_POP_7_r10",
+    [_GUARD_BIT_IS_UNSET_POP_7_r21] = "_GUARD_BIT_IS_UNSET_POP_7_r21",
+    [_GUARD_BIT_IS_UNSET_POP_7_r32] = "_GUARD_BIT_IS_UNSET_POP_7_r32",
     [_GUARD_CALLABLE_ISINSTANCE] = "_GUARD_CALLABLE_ISINSTANCE",
     [_GUARD_CALLABLE_ISINSTANCE_r03] = "_GUARD_CALLABLE_ISINSTANCE_r03",
     [_GUARD_CALLABLE_ISINSTANCE_r13] = "_GUARD_CALLABLE_ISINSTANCE_r13",
@@ -5732,6 +5924,26 @@ int _PyUop_num_popped(int opcode, int oparg)
             return 1;
         case _GUARD_IS_FALSE_POP:
             return 1;
+        case _GUARD_BIT_IS_SET_POP_4:
+            return 1;
+        case _GUARD_BIT_IS_SET_POP_5:
+            return 1;
+        case _GUARD_BIT_IS_SET_POP_6:
+            return 1;
+        case _GUARD_BIT_IS_SET_POP_7:
+            return 1;
+        case _GUARD_BIT_IS_SET_POP:
+            return 1;
+        case _GUARD_BIT_IS_UNSET_POP_4:
+            return 1;
+        case _GUARD_BIT_IS_UNSET_POP_5:
+            return 1;
+        case _GUARD_BIT_IS_UNSET_POP_6:
+            return 1;
+        case _GUARD_BIT_IS_UNSET_POP_7:
+            return 1;
+        case _GUARD_BIT_IS_UNSET_POP:
+            return 1;
         case _GUARD_IS_NONE_POP:
             return 1;
         case _GUARD_IS_NOT_NONE_POP:
index 79c7f530b8ae89602990982df08c9df911b68a32..307eac6ee51756d114a78e404ad85bc0575f84ca 100644 (file)
@@ -153,12 +153,26 @@ class TestExecutorInvalidation(unittest.TestCase):
         f(1, TIER2_THRESHOLD + 1, 1.0)
 
 
+def get_bool_guard_ops():
+    delta = id(True) ^ id(False)
+    for bit in range(4, 8):
+        if delta & (1 << bit):
+            if id(True) & (1 << bit):
+                return f"_GUARD_BIT_IS_UNSET_POP_{bit}", f"_GUARD_BIT_IS_SET_POP_{bit}"
+            else:
+                return f"_GUARD_BIT_IS_SET_POP_{bit}", f"_GUARD_BIT_IS_UNSET_POP_{bit}"
+    return "_GUARD_IS_FALSE_POP", "_GUARD_IS_TRUE_POP"
+
+
 @requires_specialization
 @unittest.skipIf(Py_GIL_DISABLED, "optimizer not yet supported in free-threaded builds")
 @requires_jit_enabled
 @unittest.skipIf(os.getenv("PYTHON_UOPS_OPTIMIZE") == "0", "Needs uop optimizer to run.")
 class TestUops(unittest.TestCase):
 
+    def setUp(self):
+        self.guard_is_false, self.guard_is_true = get_bool_guard_ops()
+
     def test_basic_loop(self):
         def testfunc(x):
             i = 0
@@ -250,7 +264,7 @@ class TestUops(unittest.TestCase):
         ex = get_first_executor(testfunc)
         self.assertIsNotNone(ex)
         uops = get_opnames(ex)
-        self.assertIn("_GUARD_IS_TRUE_POP", uops)
+        self.assertIn(self.guard_is_true, uops)
 
     def test_pop_jump_if_none(self):
         def testfunc(a):
@@ -292,7 +306,7 @@ class TestUops(unittest.TestCase):
         ex = get_first_executor(testfunc)
         self.assertIsNotNone(ex)
         uops = get_opnames(ex)
-        self.assertIn("_GUARD_IS_FALSE_POP", uops)
+        self.assertIn(self.guard_is_false, uops)
 
     def test_jump_backward(self):
         def testfunc(n):
@@ -444,7 +458,7 @@ class TestUops(unittest.TestCase):
         ex = get_first_executor(testfunc)
         self.assertIsNotNone(ex)
         uops = get_opnames(ex)
-        self.assertIn("_GUARD_IS_FALSE_POP", uops)
+        self.assertIn(self.guard_is_false, uops)
 
     def test_for_iter_tier_two(self):
         class MyIter:
@@ -481,6 +495,9 @@ class TestUops(unittest.TestCase):
 @unittest.skipIf(os.getenv("PYTHON_UOPS_OPTIMIZE") == "0", "Needs uop optimizer to run.")
 class TestUopsOptimization(unittest.TestCase):
 
+    def setUp(self):
+        self.guard_is_false, self.guard_is_true = get_bool_guard_ops()
+
     def _run_with_optimizer(self, testfunc, arg):
         res = testfunc(arg)
 
@@ -1501,8 +1518,8 @@ class TestUopsOptimization(unittest.TestCase):
         self.assertIsNotNone(ex)
         uops = get_opnames(ex)
         # Only one guard remains:
-        self.assertEqual(uops.count("_GUARD_IS_FALSE_POP"), 1)
-        self.assertEqual(uops.count("_GUARD_IS_TRUE_POP"), 0)
+        self.assertEqual(uops.count(self.guard_is_false), 1)
+        self.assertEqual(uops.count(self.guard_is_true), 0)
         # But all of the appends we care about are still there:
         self.assertEqual(uops.count("_CALL_LIST_APPEND"), len("ABCDEFG"))
 
@@ -1532,8 +1549,8 @@ class TestUopsOptimization(unittest.TestCase):
         self.assertIsNotNone(ex)
         uops = get_opnames(ex)
         # Only one guard remains:
-        self.assertEqual(uops.count("_GUARD_IS_FALSE_POP"), 0)
-        self.assertEqual(uops.count("_GUARD_IS_TRUE_POP"), 1)
+        self.assertEqual(uops.count(self.guard_is_false), 0)
+        self.assertEqual(uops.count(self.guard_is_true), 1)
         # But all of the appends we care about are still there:
         self.assertEqual(uops.count("_CALL_LIST_APPEND"), len("ABCDEFG"))
 
@@ -1564,8 +1581,8 @@ class TestUopsOptimization(unittest.TestCase):
         self.assertIsNotNone(ex)
         uops = get_opnames(ex)
         # Only one guard remains:
-        self.assertEqual(uops.count("_GUARD_IS_FALSE_POP"), 1)
-        self.assertEqual(uops.count("_GUARD_IS_TRUE_POP"), 0)
+        self.assertEqual(uops.count(self.guard_is_false), 1)
+        self.assertEqual(uops.count(self.guard_is_true), 0)
         # But all of the appends we care about are still there:
         self.assertEqual(uops.count("_CALL_LIST_APPEND"), len("ABCDEFG"))
 
@@ -1597,8 +1614,8 @@ class TestUopsOptimization(unittest.TestCase):
         self.assertIsNotNone(ex)
         uops = get_opnames(ex)
         # Only one guard remains:
-        self.assertEqual(uops.count("_GUARD_IS_FALSE_POP"), 1)
-        self.assertEqual(uops.count("_GUARD_IS_TRUE_POP"), 0)
+        self.assertEqual(uops.count(self.guard_is_false), 1)
+        self.assertEqual(uops.count(self.guard_is_true), 0)
         # But all of the appends we care about are still there:
         self.assertEqual(uops.count("_CALL_LIST_APPEND"), len("ABCDEFG"))
 
@@ -2196,7 +2213,7 @@ class TestUopsOptimization(unittest.TestCase):
         uops = get_opnames(ex)
         self.assertIn("_CALL_STR_1", uops)
         self.assertNotIn("_TO_BOOL_STR", uops)
-        self.assertNotIn("_GUARD_IS_TRUE_POP", uops)
+        self.assertNotIn(self.guard_is_true, uops)
 
     def test_call_tuple_1(self):
         def testfunc(n):
@@ -2253,7 +2270,7 @@ class TestUopsOptimization(unittest.TestCase):
         self.assertIn("_CALL_TUPLE_1", uops)
         self.assertIn("_UNPACK_SEQUENCE_TWO_TUPLE", uops)
         self.assertNotIn("_COMPARE_OP_INT", uops)
-        self.assertNotIn("_GUARD_IS_TRUE_POP", uops)
+        self.assertNotIn(self.guard_is_true, uops)
 
     def test_call_len(self):
         def testfunc(n):
@@ -2319,7 +2336,7 @@ class TestUopsOptimization(unittest.TestCase):
         # in this case
         self.assertIn("_CALL_LEN", uops)
         self.assertNotIn("_COMPARE_OP_INT", uops)
-        self.assertNotIn("_GUARD_IS_TRUE_POP", uops)
+        self.assertNotIn(self.guard_is_true, uops)
 
     def test_call_builtin_o(self):
         def testfunc(n):
@@ -2413,7 +2430,7 @@ class TestUopsOptimization(unittest.TestCase):
         uops = get_opnames(ex)
         self.assertIn("_BINARY_OP_SUBSCR_TUPLE_INT", uops)
         self.assertNotIn("_COMPARE_OP_INT", uops)
-        self.assertNotIn("_GUARD_IS_TRUE_POP", uops)
+        self.assertNotIn(self.guard_is_true, uops)
 
     def test_call_isinstance_guards_removed(self):
         def testfunc(n):
@@ -2478,7 +2495,7 @@ class TestUopsOptimization(unittest.TestCase):
         uops = get_opnames(ex)
         self.assertNotIn("_CALL_ISINSTANCE", uops)
         self.assertNotIn("_TO_BOOL_BOOL", uops)
-        self.assertNotIn("_GUARD_IS_TRUE_POP", uops)
+        self.assertNotIn(self.guard_is_true, uops)
         self.assertNotIn("_POP_TOP_LOAD_CONST_INLINE_BORROW", uops)
         self.assertNotIn("_POP_CALL_LOAD_CONST_INLINE_BORROW", uops)
         self.assertNotIn("_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW", uops)
@@ -2499,7 +2516,7 @@ class TestUopsOptimization(unittest.TestCase):
         uops = get_opnames(ex)
         self.assertNotIn("_CALL_ISINSTANCE", uops)
         self.assertNotIn("_TO_BOOL_BOOL", uops)
-        self.assertNotIn("_GUARD_IS_FALSE_POP", uops)
+        self.assertNotIn(self.guard_is_false, uops)
         self.assertNotIn("_POP_TOP_LOAD_CONST_INLINE_BORROW", uops)
         self.assertNotIn("_POP_CALL_LOAD_CONST_INLINE_BORROW", uops)
         self.assertNotIn("_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW", uops)
@@ -2520,7 +2537,7 @@ class TestUopsOptimization(unittest.TestCase):
         uops = get_opnames(ex)
         self.assertNotIn("_CALL_ISINSTANCE", uops)
         self.assertNotIn("_TO_BOOL_BOOL", uops)
-        self.assertNotIn("_GUARD_IS_TRUE_POP", uops)
+        self.assertNotIn(self.guard_is_true, uops)
         self.assertNotIn("_POP_TOP_LOAD_CONST_INLINE_BORROW", uops)
         self.assertNotIn("_POP_CALL_LOAD_CONST_INLINE_BORROW", uops)
         self.assertNotIn("_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW", uops)
@@ -2544,7 +2561,7 @@ class TestUopsOptimization(unittest.TestCase):
         uops = get_opnames(ex)
         self.assertIn("_CALL_ISINSTANCE", uops)
         self.assertNotIn("_TO_BOOL_BOOL", uops)
-        self.assertIn("_GUARD_IS_TRUE_POP", uops)
+        self.assertIn(self.guard_is_true, uops)
 
     def test_call_isinstance_tuple_of_classes(self):
         def testfunc(n):
@@ -2563,7 +2580,7 @@ class TestUopsOptimization(unittest.TestCase):
         uops = get_opnames(ex)
         self.assertIn("_CALL_ISINSTANCE", uops)
         self.assertNotIn("_TO_BOOL_BOOL", uops)
-        self.assertIn("_GUARD_IS_TRUE_POP", uops)
+        self.assertIn(self.guard_is_true, uops)
 
     def test_call_isinstance_metaclass(self):
         class EvenNumberMeta(type):
@@ -2588,7 +2605,7 @@ class TestUopsOptimization(unittest.TestCase):
         uops = get_opnames(ex)
         self.assertIn("_CALL_ISINSTANCE", uops)
         self.assertNotIn("_TO_BOOL_BOOL", uops)
-        self.assertIn("_GUARD_IS_TRUE_POP", uops)
+        self.assertIn(self.guard_is_true, uops)
 
     def test_set_type_version_sets_type(self):
         class C:
index 5f2461df8e672c77d4a3d497c7e5872faa71aeb7..cef368e9b0721a2a0f6f82e4d36d2112bc87f706 100644 (file)
@@ -5273,6 +5273,28 @@ dummy_func(
             AT_END_EXIT_IF(!is_false);
         }
 
+        replicate(4:8) op (_GUARD_BIT_IS_SET_POP, (flag -- )) {
+#ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+#else
+            uintptr_t bits = flag.bits;
+#endif
+            uintptr_t set = (1 << oparg) & bits;
+            DEAD(flag);
+            AT_END_EXIT_IF(set == 0);
+        }
+
+        replicate(4:8) op (_GUARD_BIT_IS_UNSET_POP, (flag -- )) {
+#ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+#else
+            uintptr_t bits = flag.bits;
+#endif
+            uintptr_t set = (1 << oparg) & bits;
+            DEAD(flag);
+            AT_END_EXIT_IF(set != 0);
+        }
+
         op (_GUARD_IS_NONE_POP, (val -- )) {
             int is_none = PyStackRef_IsNone(val);
             if (!is_none) {
index 8f9b62b0bab6ab94e21b741dc353464521a124be..4d4084971c75ad806ae76468340c8c5f9656d718 100644 (file)
             break;
         }
 
+        case _GUARD_BIT_IS_SET_POP_4_r00: {
+            CHECK_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            oparg = 4;
+            assert(oparg == CURRENT_OPARG());
+            flag = stack_pointer[-1];
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                stack_pointer += -1;
+                ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            stack_pointer += -1;
+            ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_4_r10: {
+            CHECK_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            oparg = 4;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_0;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_4_r21: {
+            CHECK_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            oparg = 4;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_1;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(1);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_4_r32: {
+            CHECK_CURRENT_CACHED_VALUES(3);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            _PyStackRef _stack_item_2 = _tos_cache2;
+            oparg = 4;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_2;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache1 = _stack_item_1;
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(2);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache1 = _stack_item_1;
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_5_r00: {
+            CHECK_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            oparg = 5;
+            assert(oparg == CURRENT_OPARG());
+            flag = stack_pointer[-1];
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                stack_pointer += -1;
+                ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            stack_pointer += -1;
+            ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_5_r10: {
+            CHECK_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            oparg = 5;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_0;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_5_r21: {
+            CHECK_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            oparg = 5;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_1;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(1);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_5_r32: {
+            CHECK_CURRENT_CACHED_VALUES(3);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            _PyStackRef _stack_item_2 = _tos_cache2;
+            oparg = 5;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_2;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache1 = _stack_item_1;
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(2);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache1 = _stack_item_1;
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_6_r00: {
+            CHECK_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            oparg = 6;
+            assert(oparg == CURRENT_OPARG());
+            flag = stack_pointer[-1];
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                stack_pointer += -1;
+                ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            stack_pointer += -1;
+            ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_6_r10: {
+            CHECK_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            oparg = 6;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_0;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_6_r21: {
+            CHECK_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            oparg = 6;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_1;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(1);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_6_r32: {
+            CHECK_CURRENT_CACHED_VALUES(3);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            _PyStackRef _stack_item_2 = _tos_cache2;
+            oparg = 6;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_2;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache1 = _stack_item_1;
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(2);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache1 = _stack_item_1;
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_7_r00: {
+            CHECK_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            oparg = 7;
+            assert(oparg == CURRENT_OPARG());
+            flag = stack_pointer[-1];
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                stack_pointer += -1;
+                ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            stack_pointer += -1;
+            ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_7_r10: {
+            CHECK_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            oparg = 7;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_0;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_7_r21: {
+            CHECK_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            oparg = 7;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_1;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(1);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_7_r32: {
+            CHECK_CURRENT_CACHED_VALUES(3);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            _PyStackRef _stack_item_2 = _tos_cache2;
+            oparg = 7;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_2;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache1 = _stack_item_1;
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(2);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache1 = _stack_item_1;
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_r00: {
+            CHECK_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            oparg = CURRENT_OPARG();
+            flag = stack_pointer[-1];
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                stack_pointer += -1;
+                ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            stack_pointer += -1;
+            ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_r10: {
+            CHECK_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            oparg = CURRENT_OPARG();
+            flag = _stack_item_0;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_r21: {
+            CHECK_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            oparg = CURRENT_OPARG();
+            flag = _stack_item_1;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(1);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_SET_POP_r32: {
+            CHECK_CURRENT_CACHED_VALUES(3);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            _PyStackRef _stack_item_2 = _tos_cache2;
+            oparg = CURRENT_OPARG();
+            flag = _stack_item_2;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set == 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache1 = _stack_item_1;
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(2);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache1 = _stack_item_1;
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_4_r00: {
+            CHECK_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            oparg = 4;
+            assert(oparg == CURRENT_OPARG());
+            flag = stack_pointer[-1];
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                stack_pointer += -1;
+                ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            stack_pointer += -1;
+            ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_4_r10: {
+            CHECK_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            oparg = 4;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_0;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_4_r21: {
+            CHECK_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            oparg = 4;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_1;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(1);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_4_r32: {
+            CHECK_CURRENT_CACHED_VALUES(3);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            _PyStackRef _stack_item_2 = _tos_cache2;
+            oparg = 4;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_2;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache1 = _stack_item_1;
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(2);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache1 = _stack_item_1;
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_5_r00: {
+            CHECK_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            oparg = 5;
+            assert(oparg == CURRENT_OPARG());
+            flag = stack_pointer[-1];
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                stack_pointer += -1;
+                ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            stack_pointer += -1;
+            ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_5_r10: {
+            CHECK_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            oparg = 5;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_0;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_5_r21: {
+            CHECK_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            oparg = 5;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_1;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(1);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_5_r32: {
+            CHECK_CURRENT_CACHED_VALUES(3);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            _PyStackRef _stack_item_2 = _tos_cache2;
+            oparg = 5;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_2;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache1 = _stack_item_1;
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(2);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache1 = _stack_item_1;
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_6_r00: {
+            CHECK_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            oparg = 6;
+            assert(oparg == CURRENT_OPARG());
+            flag = stack_pointer[-1];
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                stack_pointer += -1;
+                ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            stack_pointer += -1;
+            ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_6_r10: {
+            CHECK_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            oparg = 6;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_0;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_6_r21: {
+            CHECK_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            oparg = 6;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_1;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(1);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_6_r32: {
+            CHECK_CURRENT_CACHED_VALUES(3);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            _PyStackRef _stack_item_2 = _tos_cache2;
+            oparg = 6;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_2;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache1 = _stack_item_1;
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(2);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache1 = _stack_item_1;
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_7_r00: {
+            CHECK_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            oparg = 7;
+            assert(oparg == CURRENT_OPARG());
+            flag = stack_pointer[-1];
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                stack_pointer += -1;
+                ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            stack_pointer += -1;
+            ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_7_r10: {
+            CHECK_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            oparg = 7;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_0;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_7_r21: {
+            CHECK_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            oparg = 7;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_1;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(1);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_7_r32: {
+            CHECK_CURRENT_CACHED_VALUES(3);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            _PyStackRef _stack_item_2 = _tos_cache2;
+            oparg = 7;
+            assert(oparg == CURRENT_OPARG());
+            flag = _stack_item_2;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache1 = _stack_item_1;
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(2);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache1 = _stack_item_1;
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_r00: {
+            CHECK_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            oparg = CURRENT_OPARG();
+            flag = stack_pointer[-1];
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                stack_pointer += -1;
+                ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            stack_pointer += -1;
+            ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_r10: {
+            CHECK_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            oparg = CURRENT_OPARG();
+            flag = _stack_item_0;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                SET_CURRENT_CACHED_VALUES(0);
+                JUMP_TO_JUMP_TARGET();
+            }
+            SET_CURRENT_CACHED_VALUES(0);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_r21: {
+            CHECK_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            oparg = CURRENT_OPARG();
+            flag = _stack_item_1;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(1);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(1);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP_r32: {
+            CHECK_CURRENT_CACHED_VALUES(3);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            _PyStackRef flag;
+            _PyStackRef _stack_item_0 = _tos_cache0;
+            _PyStackRef _stack_item_1 = _tos_cache1;
+            _PyStackRef _stack_item_2 = _tos_cache2;
+            oparg = CURRENT_OPARG();
+            flag = _stack_item_2;
+            #ifdef Py_STACKREF_DEBUG
+            uintptr_t bits = flag.index;
+            #else
+            uintptr_t bits = flag.bits;
+            #endif
+            uintptr_t set = (1 << oparg) & bits;
+            if (set != 0) {
+                UOP_STAT_INC(uopcode, miss);
+                _tos_cache1 = _stack_item_1;
+                _tos_cache0 = _stack_item_0;
+                SET_CURRENT_CACHED_VALUES(2);
+                JUMP_TO_JUMP_TARGET();
+            }
+            _tos_cache1 = _stack_item_1;
+            _tos_cache0 = _stack_item_0;
+            SET_CURRENT_CACHED_VALUES(2);
+            assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
+            break;
+        }
+
         case _GUARD_IS_NONE_POP_r00: {
             CHECK_CURRENT_CACHED_VALUES(0);
             assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE());
index d635ebabf9007a765befe0b16e8404ccf7357778..01fd24564f8c2bacc904d750f3d875c66a7fb455 100644 (file)
@@ -363,6 +363,34 @@ get_co_name(JitOptContext *ctx, int index)
     return PyTuple_GET_ITEM(get_current_code_object(ctx)->co_names, index);
 }
 
+static int
+get_test_bit_for_bools(void) {
+#ifdef Py_STACKREF_DEBUG
+    uintptr_t false_bits = _Py_STACKREF_FALSE_INDEX;
+    uintptr_t true_bits = _Py_STACKREF_TRUE_INDEX;
+#else
+    uintptr_t false_bits = (uintptr_t)&_Py_FalseStruct;
+    uintptr_t true_bits = (uintptr_t)&_Py_TrueStruct;
+#endif
+    for (int i = 4; i < 8; i++) {
+        if ((true_bits ^ false_bits) & (1 << i)) {
+            return i;
+        }
+    }
+    return 0;
+}
+
+static int
+test_bit_set_in_true(int bit) {
+#ifdef Py_STACKREF_DEBUG
+    uintptr_t true_bits = _Py_STACKREF_TRUE_INDEX;
+#else
+    uintptr_t true_bits = (uintptr_t)&_Py_TrueStruct;
+#endif
+    assert((true_bits ^ ((uintptr_t)&_Py_FalseStruct)) & (1 << bit));
+    return true_bits & (1 << bit);
+}
+
 #ifdef Py_DEBUG
 void
 _Py_opt_assert_within_stack_bounds(
index 876ba7c6de7482da3e7f3b25056abd14f53bab67..366094d939a3966e08d39b8edd34b2f34e7e752b 100644 (file)
@@ -1136,15 +1136,6 @@ dummy_func(void) {
         }
     }
 
-    op(_GUARD_IS_TRUE_POP, (flag -- )) {
-        if (sym_is_const(ctx, flag)) {
-            PyObject *value = sym_get_const(ctx, flag);
-            assert(value != NULL);
-            eliminate_pop_guard(this_instr, ctx, value != Py_True);
-        }
-        sym_set_const(flag, Py_True);
-    }
-
     op(_CALL_LIST_APPEND, (callable, self, arg -- none, c, s)) {
         (void)(arg);
         c = callable;
@@ -1181,12 +1172,39 @@ dummy_func(void) {
         }
     }
 
+    op(_GUARD_IS_TRUE_POP, (flag -- )) {
+        if (sym_is_const(ctx, flag)) {
+            PyObject *value = sym_get_const(ctx, flag);
+            assert(value != NULL);
+            eliminate_pop_guard(this_instr, ctx, value != Py_True);
+        }
+        else {
+            int bit = get_test_bit_for_bools();
+            if (bit) {
+                REPLACE_OP(this_instr,
+                    test_bit_set_in_true(bit) ?
+                    _GUARD_BIT_IS_SET_POP :
+                    _GUARD_BIT_IS_UNSET_POP, bit, 0);
+            }
+        }
+        sym_set_const(flag, Py_True);
+    }
+
     op(_GUARD_IS_FALSE_POP, (flag -- )) {
         if (sym_is_const(ctx, flag)) {
             PyObject *value = sym_get_const(ctx, flag);
             assert(value != NULL);
             eliminate_pop_guard(this_instr, ctx, value != Py_False);
         }
+        else {
+            int bit = get_test_bit_for_bools();
+            if (bit) {
+                REPLACE_OP(this_instr,
+                    test_bit_set_in_true(bit) ?
+                    _GUARD_BIT_IS_UNSET_POP :
+                    _GUARD_BIT_IS_SET_POP, bit, 0);
+            }
+        }
         sym_set_const(flag, Py_False);
     }
 
index 012fe16bfd9096f9298973624de68e064a58a663..2cc53937925a24f9607a0bd95212ff6223dd7347 100644 (file)
                 assert(value != NULL);
                 eliminate_pop_guard(this_instr, ctx, value != Py_True);
             }
+            else {
+                int bit = get_test_bit_for_bools();
+                if (bit) {
+                    REPLACE_OP(this_instr,
+                           test_bit_set_in_true(bit) ?
+                           _GUARD_BIT_IS_SET_POP :
+                        _GUARD_BIT_IS_UNSET_POP, bit, 0);
+                }
+            }
             sym_set_const(flag, Py_True);
             CHECK_STACK_BOUNDS(-1);
             stack_pointer += -1;
                 assert(value != NULL);
                 eliminate_pop_guard(this_instr, ctx, value != Py_False);
             }
+            else {
+                int bit = get_test_bit_for_bools();
+                if (bit) {
+                    REPLACE_OP(this_instr,
+                           test_bit_set_in_true(bit) ?
+                           _GUARD_BIT_IS_UNSET_POP :
+                        _GUARD_BIT_IS_SET_POP, bit, 0);
+                }
+            }
             sym_set_const(flag, Py_False);
             CHECK_STACK_BOUNDS(-1);
             stack_pointer += -1;
             break;
         }
 
+        case _GUARD_BIT_IS_SET_POP: {
+            CHECK_STACK_BOUNDS(-1);
+            stack_pointer += -1;
+            ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+            break;
+        }
+
+        case _GUARD_BIT_IS_UNSET_POP: {
+            CHECK_STACK_BOUNDS(-1);
+            stack_pointer += -1;
+            ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__);
+            break;
+        }
+
         case _GUARD_IS_NONE_POP: {
             JitOptRef val;
             val = stack_pointer[-1];