From d3b7b93cbbbf53061a95eb60cc116c9fec31c5b4 Mon Sep 17 00:00:00 2001 From: Kumar Aditya Date: Fri, 10 Apr 2026 17:58:17 +0530 Subject: [PATCH 01/12] gh-148037: remove critical section from `PyCode_Addr2Line` (#148103) --- Include/internal/pycore_instruments.h | 5 +-- ...-04-09-14-18-33.gh-issue-148037.aP3CSX.rst | 1 + Objects/codeobject.c | 24 ++++------- Python/instrumentation.c | 41 +++++++++---------- Python/legacy_tracing.c | 4 +- 5 files changed, 33 insertions(+), 42 deletions(-) create mode 100644 Misc/NEWS.d/next/Core_and_Builtins/2026-04-09-14-18-33.gh-issue-148037.aP3CSX.rst diff --git a/Include/internal/pycore_instruments.h b/Include/internal/pycore_instruments.h index 3775b074ecf54c..1da8237e93f766 100644 --- a/Include/internal/pycore_instruments.h +++ b/Include/internal/pycore_instruments.h @@ -64,9 +64,6 @@ PyAPI_FUNC(void) _Py_call_instrumentation_exc2(PyThreadState *tstate, int event, _PyInterpreterFrame *frame, _Py_CODEUNIT *instr, PyObject *arg0, PyObject *arg1); -extern int -_Py_Instrumentation_GetLine(PyCodeObject *code, int index); - PyAPI_DATA(PyObject) _PyInstrumentation_MISSING; PyAPI_DATA(PyObject) _PyInstrumentation_DISABLE; @@ -122,6 +119,8 @@ typedef struct _PyCoMonitoringData { uint8_t *per_instruction_tools; } _PyCoMonitoringData; +extern int +_Py_Instrumentation_GetLine(PyCodeObject *code, _PyCoLineInstrumentationData *line_data, int index); #ifdef __cplusplus } diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-09-14-18-33.gh-issue-148037.aP3CSX.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-09-14-18-33.gh-issue-148037.aP3CSX.rst new file mode 100644 index 00000000000000..b0cef595129817 --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-09-14-18-33.gh-issue-148037.aP3CSX.rst @@ -0,0 +1 @@ +Remove critical section from :c:func:`!PyCode_Addr2Line` in free-threading. diff --git a/Objects/codeobject.c b/Objects/codeobject.c index ad1116890e23ce..f0be4a77b5468c 100644 --- a/Objects/codeobject.c +++ b/Objects/codeobject.c @@ -1008,14 +1008,18 @@ PyCode_NewEmpty(const char *filename, const char *funcname, int firstlineno) * source location tracking (co_lines/co_positions) ******************/ -static int -_PyCode_Addr2Line(PyCodeObject *co, int addrq) +int +PyCode_Addr2Line(PyCodeObject *co, int addrq) { if (addrq < 0) { return co->co_firstlineno; } - if (co->_co_monitoring && co->_co_monitoring->lines) { - return _Py_Instrumentation_GetLine(co, addrq/sizeof(_Py_CODEUNIT)); + _PyCoMonitoringData *data = _Py_atomic_load_ptr_acquire(&co->_co_monitoring); + if (data) { + _PyCoLineInstrumentationData *lines = _Py_atomic_load_ptr_acquire(&data->lines); + if (lines) { + return _Py_Instrumentation_GetLine(co, lines, addrq/sizeof(_Py_CODEUNIT)); + } } assert(addrq >= 0 && addrq < _PyCode_NBYTES(co)); PyCodeAddressRange bounds; @@ -1030,7 +1034,7 @@ _PyCode_SafeAddr2Line(PyCodeObject *co, int addrq) return co->co_firstlineno; } if (co->_co_monitoring && co->_co_monitoring->lines) { - return _Py_Instrumentation_GetLine(co, addrq/sizeof(_Py_CODEUNIT)); + return _Py_Instrumentation_GetLine(co, co->_co_monitoring->lines, addrq/sizeof(_Py_CODEUNIT)); } if (!(addrq >= 0 && addrq < _PyCode_NBYTES(co))) { return -1; @@ -1040,16 +1044,6 @@ _PyCode_SafeAddr2Line(PyCodeObject *co, int addrq) return _PyCode_CheckLineNumber(addrq, &bounds); } -int -PyCode_Addr2Line(PyCodeObject *co, int addrq) -{ - int lineno; - Py_BEGIN_CRITICAL_SECTION(co); - lineno = _PyCode_Addr2Line(co, addrq); - Py_END_CRITICAL_SECTION(); - return lineno; -} - void _PyLineTable_InitAddressRange(const char *linetable, Py_ssize_t length, int firstlineno, PyCodeAddressRange *range) { diff --git a/Python/instrumentation.c b/Python/instrumentation.c index 1aed6769d217fe..256e2a3d3a2df0 100644 --- a/Python/instrumentation.c +++ b/Python/instrumentation.c @@ -1286,13 +1286,10 @@ _Py_call_instrumentation_exc2( } int -_Py_Instrumentation_GetLine(PyCodeObject *code, int index) +_Py_Instrumentation_GetLine(PyCodeObject *code, _PyCoLineInstrumentationData *line_data, int index) { - _PyCoMonitoringData *monitoring = code->_co_monitoring; - assert(monitoring != NULL); - assert(monitoring->lines != NULL); + assert(line_data != NULL); assert(index < Py_SIZE(code)); - _PyCoLineInstrumentationData *line_data = monitoring->lines; int line_delta = get_line_delta(line_data, index); int line = compute_line(code, line_delta); return line; @@ -1310,11 +1307,11 @@ _Py_call_instrumentation_line(PyThreadState *tstate, _PyInterpreterFrame* frame, _PyCoMonitoringData *monitoring = code->_co_monitoring; _PyCoLineInstrumentationData *line_data = monitoring->lines; PyInterpreterState *interp = tstate->interp; - int line = _Py_Instrumentation_GetLine(code, i); + int line = _Py_Instrumentation_GetLine(code, line_data, i); assert(line >= 0); assert(prev != NULL); int prev_index = (int)(prev - bytecode); - int prev_line = _Py_Instrumentation_GetLine(code, prev_index); + int prev_line = _Py_Instrumentation_GetLine(code, line_data, prev_index); if (prev_line == line) { int prev_opcode = bytecode[prev_index].op.code; /* RESUME and INSTRUMENTED_RESUME are needed for the operation of @@ -1511,11 +1508,9 @@ initialize_tools(PyCodeObject *code) } static void -initialize_lines(PyCodeObject *code, int bytes_per_entry) +initialize_lines(_PyCoLineInstrumentationData *line_data, PyCodeObject *code, int bytes_per_entry) { ASSERT_WORLD_STOPPED_OR_LOCKED(code); - _PyCoLineInstrumentationData *line_data = code->_co_monitoring->lines; - assert(line_data != NULL); line_data->bytes_per_entry = bytes_per_entry; int code_len = (int)Py_SIZE(code); @@ -1656,18 +1651,19 @@ allocate_instrumentation_data(PyCodeObject *code) ASSERT_WORLD_STOPPED_OR_LOCKED(code); if (code->_co_monitoring == NULL) { - code->_co_monitoring = PyMem_Malloc(sizeof(_PyCoMonitoringData)); - if (code->_co_monitoring == NULL) { + _PyCoMonitoringData *monitoring = PyMem_Malloc(sizeof(_PyCoMonitoringData)); + if (monitoring == NULL) { PyErr_NoMemory(); return -1; } - code->_co_monitoring->local_monitors = (_Py_LocalMonitors){ 0 }; - code->_co_monitoring->active_monitors = (_Py_LocalMonitors){ 0 }; - code->_co_monitoring->tools = NULL; - code->_co_monitoring->lines = NULL; - code->_co_monitoring->line_tools = NULL; - code->_co_monitoring->per_instruction_opcodes = NULL; - code->_co_monitoring->per_instruction_tools = NULL; + monitoring->local_monitors = (_Py_LocalMonitors){ 0 }; + monitoring->active_monitors = (_Py_LocalMonitors){ 0 }; + monitoring->tools = NULL; + monitoring->lines = NULL; + monitoring->line_tools = NULL; + monitoring->per_instruction_opcodes = NULL; + monitoring->per_instruction_tools = NULL; + _Py_atomic_store_ptr_release(&code->_co_monitoring, monitoring); } return 0; } @@ -1732,12 +1728,13 @@ update_instrumentation_data(PyCodeObject *code, PyInterpreterState *interp) else { bytes_per_entry = 5; } - code->_co_monitoring->lines = PyMem_Malloc(1 + code_len * bytes_per_entry); - if (code->_co_monitoring->lines == NULL) { + _PyCoLineInstrumentationData *lines = PyMem_Malloc(1 + code_len * bytes_per_entry); + if (lines == NULL) { PyErr_NoMemory(); return -1; } - initialize_lines(code, bytes_per_entry); + initialize_lines(lines, code, bytes_per_entry); + _Py_atomic_store_ptr_release(&code->_co_monitoring->lines, lines); } if (multitools && code->_co_monitoring->line_tools == NULL) { code->_co_monitoring->line_tools = PyMem_Malloc(code_len); diff --git a/Python/legacy_tracing.c b/Python/legacy_tracing.c index 594d5c5ead5021..bf65a904de4d21 100644 --- a/Python/legacy_tracing.c +++ b/Python/legacy_tracing.c @@ -391,8 +391,8 @@ sys_trace_jump_func( assert(PyCode_Check(code)); /* We can call _Py_Instrumentation_GetLine because we always set * line events for tracing */ - int to_line = _Py_Instrumentation_GetLine(code, to); - int from_line = _Py_Instrumentation_GetLine(code, from); + int to_line = _Py_Instrumentation_GetLine(code, code->_co_monitoring->lines, to); + int from_line = _Py_Instrumentation_GetLine(code, code->_co_monitoring->lines, from); if (to_line != from_line) { /* Will be handled by target INSTRUMENTED_LINE */ return &_PyInstrumentation_DISABLE; From aea0b91d65305e034b222b040276a8e293536520 Mon Sep 17 00:00:00 2001 From: Neko Asakura Date: Fri, 10 Apr 2026 21:57:01 +0800 Subject: [PATCH 02/12] gh-148211: decompose `[_POP_CALL_X/_SHUFFLE_2]_LOAD_CONST_INLINE_BORROW` in JIT (GH-148313) --- Include/internal/pycore_uop_ids.h | 2057 ++++++++++++------------ Include/internal/pycore_uop_metadata.h | 66 - Lib/test/test_capi/test_opt.py | 24 +- Python/bytecodes.c | 30 - Python/executor_cases.c.h | 183 --- Python/optimizer_analysis.c | 10 +- Python/optimizer_bytecodes.c | 23 +- Python/optimizer_cases.c.h | 58 +- 8 files changed, 1040 insertions(+), 1411 deletions(-) diff --git a/Include/internal/pycore_uop_ids.h b/Include/internal/pycore_uop_ids.h index da29485cfd3604..e593748f8ddfd3 100644 --- a/Include/internal/pycore_uop_ids.h +++ b/Include/internal/pycore_uop_ids.h @@ -330,1058 +330,1047 @@ extern "C" { #define _MONITOR_RESUME 560 #define _NOP NOP #define _POP_CALL 561 -#define _POP_CALL_LOAD_CONST_INLINE_BORROW 562 -#define _POP_CALL_ONE 563 -#define _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW 564 -#define _POP_CALL_TWO 565 -#define _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW 566 +#define _POP_CALL_ONE 562 +#define _POP_CALL_TWO 563 #define _POP_EXCEPT POP_EXCEPT #define _POP_ITER POP_ITER -#define _POP_JUMP_IF_FALSE 567 -#define _POP_JUMP_IF_TRUE 568 +#define _POP_JUMP_IF_FALSE 564 +#define _POP_JUMP_IF_TRUE 565 #define _POP_TOP POP_TOP -#define _POP_TOP_FLOAT 569 -#define _POP_TOP_INT 570 -#define _POP_TOP_LOAD_CONST_INLINE 571 -#define _POP_TOP_LOAD_CONST_INLINE_BORROW 572 -#define _POP_TOP_NOP 573 -#define _POP_TOP_UNICODE 574 -#define _POP_TWO 575 -#define _POP_TWO_LOAD_CONST_INLINE_BORROW 576 +#define _POP_TOP_FLOAT 566 +#define _POP_TOP_INT 567 +#define _POP_TOP_LOAD_CONST_INLINE 568 +#define _POP_TOP_LOAD_CONST_INLINE_BORROW 569 +#define _POP_TOP_NOP 570 +#define _POP_TOP_UNICODE 571 +#define _POP_TWO 572 +#define _POP_TWO_LOAD_CONST_INLINE_BORROW 573 #define _PUSH_EXC_INFO PUSH_EXC_INFO -#define _PUSH_FRAME 577 +#define _PUSH_FRAME 574 #define _PUSH_NULL PUSH_NULL -#define _PUSH_NULL_CONDITIONAL 578 -#define _PY_FRAME_EX 579 -#define _PY_FRAME_GENERAL 580 -#define _PY_FRAME_KW 581 -#define _RECORD_3OS_GEN_FUNC 582 -#define _RECORD_4OS 583 -#define _RECORD_BOUND_METHOD 584 -#define _RECORD_CALLABLE 585 -#define _RECORD_CODE 586 -#define _RECORD_NOS 587 -#define _RECORD_NOS_GEN_FUNC 588 -#define _RECORD_TOS 589 -#define _RECORD_TOS_TYPE 590 -#define _REPLACE_WITH_TRUE 591 -#define _RESUME_CHECK 592 +#define _PUSH_NULL_CONDITIONAL 575 +#define _PY_FRAME_EX 576 +#define _PY_FRAME_GENERAL 577 +#define _PY_FRAME_KW 578 +#define _RECORD_3OS_GEN_FUNC 579 +#define _RECORD_4OS 580 +#define _RECORD_BOUND_METHOD 581 +#define _RECORD_CALLABLE 582 +#define _RECORD_CODE 583 +#define _RECORD_NOS 584 +#define _RECORD_NOS_GEN_FUNC 585 +#define _RECORD_TOS 586 +#define _RECORD_TOS_TYPE 587 +#define _REPLACE_WITH_TRUE 588 +#define _RESUME_CHECK 589 #define _RETURN_GENERATOR RETURN_GENERATOR -#define _RETURN_VALUE 593 -#define _SAVE_RETURN_OFFSET 594 -#define _SEND 595 -#define _SEND_GEN_FRAME 596 +#define _RETURN_VALUE 590 +#define _SAVE_RETURN_OFFSET 591 +#define _SEND 592 +#define _SEND_GEN_FRAME 593 #define _SETUP_ANNOTATIONS SETUP_ANNOTATIONS #define _SET_ADD SET_ADD #define _SET_FUNCTION_ATTRIBUTE SET_FUNCTION_ATTRIBUTE -#define _SET_UPDATE 597 -#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW 598 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW 599 -#define _SPILL_OR_RELOAD 600 -#define _START_EXECUTOR 601 -#define _STORE_ATTR 602 -#define _STORE_ATTR_INSTANCE_VALUE 603 -#define _STORE_ATTR_SLOT 604 -#define _STORE_ATTR_WITH_HINT 605 +#define _SET_UPDATE 594 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW 595 +#define _SPILL_OR_RELOAD 596 +#define _START_EXECUTOR 597 +#define _STORE_ATTR 598 +#define _STORE_ATTR_INSTANCE_VALUE 599 +#define _STORE_ATTR_SLOT 600 +#define _STORE_ATTR_WITH_HINT 601 #define _STORE_DEREF STORE_DEREF #define _STORE_GLOBAL STORE_GLOBAL #define _STORE_NAME STORE_NAME -#define _STORE_SLICE 606 -#define _STORE_SUBSCR 607 -#define _STORE_SUBSCR_DICT 608 -#define _STORE_SUBSCR_DICT_KNOWN_HASH 609 -#define _STORE_SUBSCR_LIST_INT 610 -#define _SWAP 611 -#define _SWAP_2 612 -#define _SWAP_3 613 -#define _SWAP_FAST 614 -#define _SWAP_FAST_0 615 -#define _SWAP_FAST_1 616 -#define _SWAP_FAST_2 617 -#define _SWAP_FAST_3 618 -#define _SWAP_FAST_4 619 -#define _SWAP_FAST_5 620 -#define _SWAP_FAST_6 621 -#define _SWAP_FAST_7 622 -#define _TIER2_RESUME_CHECK 623 -#define _TO_BOOL 624 +#define _STORE_SLICE 602 +#define _STORE_SUBSCR 603 +#define _STORE_SUBSCR_DICT 604 +#define _STORE_SUBSCR_DICT_KNOWN_HASH 605 +#define _STORE_SUBSCR_LIST_INT 606 +#define _SWAP 607 +#define _SWAP_2 608 +#define _SWAP_3 609 +#define _SWAP_FAST 610 +#define _SWAP_FAST_0 611 +#define _SWAP_FAST_1 612 +#define _SWAP_FAST_2 613 +#define _SWAP_FAST_3 614 +#define _SWAP_FAST_4 615 +#define _SWAP_FAST_5 616 +#define _SWAP_FAST_6 617 +#define _SWAP_FAST_7 618 +#define _TIER2_RESUME_CHECK 619 +#define _TO_BOOL 620 #define _TO_BOOL_BOOL TO_BOOL_BOOL -#define _TO_BOOL_INT 625 -#define _TO_BOOL_LIST 626 +#define _TO_BOOL_INT 621 +#define _TO_BOOL_LIST 622 #define _TO_BOOL_NONE TO_BOOL_NONE -#define _TO_BOOL_STR 627 +#define _TO_BOOL_STR 623 #define _TRACE_RECORD TRACE_RECORD -#define _UNARY_INVERT 628 -#define _UNARY_NEGATIVE 629 -#define _UNARY_NEGATIVE_FLOAT_INPLACE 630 +#define _UNARY_INVERT 624 +#define _UNARY_NEGATIVE 625 +#define _UNARY_NEGATIVE_FLOAT_INPLACE 626 #define _UNARY_NOT UNARY_NOT #define _UNPACK_EX UNPACK_EX -#define _UNPACK_SEQUENCE 631 -#define _UNPACK_SEQUENCE_LIST 632 -#define _UNPACK_SEQUENCE_TUPLE 633 -#define _UNPACK_SEQUENCE_TWO_TUPLE 634 -#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE 635 -#define _UNPACK_SEQUENCE_UNIQUE_TUPLE 636 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE 637 +#define _UNPACK_SEQUENCE 627 +#define _UNPACK_SEQUENCE_LIST 628 +#define _UNPACK_SEQUENCE_TUPLE 629 +#define _UNPACK_SEQUENCE_TWO_TUPLE 630 +#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE 631 +#define _UNPACK_SEQUENCE_UNIQUE_TUPLE 632 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE 633 #define _WITH_EXCEPT_START WITH_EXCEPT_START -#define _YIELD_VALUE 638 -#define MAX_UOP_ID 638 -#define _BINARY_OP_r23 639 -#define _BINARY_OP_ADD_FLOAT_r03 640 -#define _BINARY_OP_ADD_FLOAT_r13 641 -#define _BINARY_OP_ADD_FLOAT_r23 642 -#define _BINARY_OP_ADD_FLOAT_INPLACE_r03 643 -#define _BINARY_OP_ADD_FLOAT_INPLACE_r13 644 -#define _BINARY_OP_ADD_FLOAT_INPLACE_r23 645 -#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r03 646 -#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r13 647 -#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r23 648 -#define _BINARY_OP_ADD_INT_r03 649 -#define _BINARY_OP_ADD_INT_r13 650 -#define _BINARY_OP_ADD_INT_r23 651 -#define _BINARY_OP_ADD_INT_INPLACE_r03 652 -#define _BINARY_OP_ADD_INT_INPLACE_r13 653 -#define _BINARY_OP_ADD_INT_INPLACE_r23 654 -#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r03 655 -#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r13 656 -#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r23 657 -#define _BINARY_OP_ADD_UNICODE_r03 658 -#define _BINARY_OP_ADD_UNICODE_r13 659 -#define _BINARY_OP_ADD_UNICODE_r23 660 -#define _BINARY_OP_EXTEND_r23 661 -#define _BINARY_OP_INPLACE_ADD_UNICODE_r21 662 -#define _BINARY_OP_MULTIPLY_FLOAT_r03 663 -#define _BINARY_OP_MULTIPLY_FLOAT_r13 664 -#define _BINARY_OP_MULTIPLY_FLOAT_r23 665 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r03 666 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r13 667 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r23 668 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r03 669 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r13 670 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r23 671 -#define _BINARY_OP_MULTIPLY_INT_r03 672 -#define _BINARY_OP_MULTIPLY_INT_r13 673 -#define _BINARY_OP_MULTIPLY_INT_r23 674 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_r03 675 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_r13 676 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_r23 677 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r03 678 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r13 679 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r23 680 -#define _BINARY_OP_SUBSCR_CHECK_FUNC_r23 681 -#define _BINARY_OP_SUBSCR_DICT_r23 682 -#define _BINARY_OP_SUBSCR_DICT_KNOWN_HASH_r23 683 -#define _BINARY_OP_SUBSCR_INIT_CALL_r01 684 -#define _BINARY_OP_SUBSCR_INIT_CALL_r11 685 -#define _BINARY_OP_SUBSCR_INIT_CALL_r21 686 -#define _BINARY_OP_SUBSCR_INIT_CALL_r31 687 -#define _BINARY_OP_SUBSCR_LIST_INT_r23 688 -#define _BINARY_OP_SUBSCR_LIST_SLICE_r23 689 -#define _BINARY_OP_SUBSCR_STR_INT_r23 690 -#define _BINARY_OP_SUBSCR_TUPLE_INT_r03 691 -#define _BINARY_OP_SUBSCR_TUPLE_INT_r13 692 -#define _BINARY_OP_SUBSCR_TUPLE_INT_r23 693 -#define _BINARY_OP_SUBSCR_USTR_INT_r23 694 -#define _BINARY_OP_SUBTRACT_FLOAT_r03 695 -#define _BINARY_OP_SUBTRACT_FLOAT_r13 696 -#define _BINARY_OP_SUBTRACT_FLOAT_r23 697 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r03 698 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r13 699 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r23 700 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r03 701 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r13 702 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r23 703 -#define _BINARY_OP_SUBTRACT_INT_r03 704 -#define _BINARY_OP_SUBTRACT_INT_r13 705 -#define _BINARY_OP_SUBTRACT_INT_r23 706 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_r03 707 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_r13 708 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_r23 709 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r03 710 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r13 711 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r23 712 -#define _BINARY_SLICE_r31 713 -#define _BUILD_INTERPOLATION_r01 714 -#define _BUILD_LIST_r01 715 -#define _BUILD_MAP_r01 716 -#define _BUILD_SET_r01 717 -#define _BUILD_SLICE_r01 718 -#define _BUILD_STRING_r01 719 -#define _BUILD_TEMPLATE_r21 720 -#define _BUILD_TUPLE_r01 721 -#define _CALL_BUILTIN_CLASS_r01 722 -#define _CALL_BUILTIN_FAST_r01 723 -#define _CALL_BUILTIN_FAST_WITH_KEYWORDS_r01 724 -#define _CALL_BUILTIN_O_r03 725 -#define _CALL_FUNCTION_EX_NON_PY_GENERAL_r31 726 -#define _CALL_INTRINSIC_1_r12 727 -#define _CALL_INTRINSIC_2_r23 728 -#define _CALL_ISINSTANCE_r31 729 -#define _CALL_KW_NON_PY_r11 730 -#define _CALL_LEN_r33 731 -#define _CALL_LIST_APPEND_r03 732 -#define _CALL_LIST_APPEND_r13 733 -#define _CALL_LIST_APPEND_r23 734 -#define _CALL_LIST_APPEND_r33 735 -#define _CALL_METHOD_DESCRIPTOR_FAST_r01 736 -#define _CALL_METHOD_DESCRIPTOR_FAST_INLINE_r01 737 -#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r01 738 -#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_INLINE_r01 739 -#define _CALL_METHOD_DESCRIPTOR_NOARGS_r03 740 -#define _CALL_METHOD_DESCRIPTOR_NOARGS_INLINE_r03 741 -#define _CALL_METHOD_DESCRIPTOR_O_r03 742 -#define _CALL_METHOD_DESCRIPTOR_O_INLINE_r03 743 -#define _CALL_NON_PY_GENERAL_r01 744 -#define _CALL_STR_1_r32 745 -#define _CALL_TUPLE_1_r32 746 -#define _CALL_TYPE_1_r02 747 -#define _CALL_TYPE_1_r12 748 -#define _CALL_TYPE_1_r22 749 -#define _CALL_TYPE_1_r32 750 -#define _CHECK_AND_ALLOCATE_OBJECT_r00 751 -#define _CHECK_ATTR_CLASS_r01 752 -#define _CHECK_ATTR_CLASS_r11 753 -#define _CHECK_ATTR_CLASS_r22 754 -#define _CHECK_ATTR_CLASS_r33 755 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r01 756 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r11 757 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r22 758 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r33 759 -#define _CHECK_CALL_BOUND_METHOD_EXACT_ARGS_r00 760 -#define _CHECK_EG_MATCH_r22 761 -#define _CHECK_EXC_MATCH_r22 762 -#define _CHECK_FUNCTION_EXACT_ARGS_r00 763 -#define _CHECK_FUNCTION_VERSION_r00 764 -#define _CHECK_FUNCTION_VERSION_INLINE_r00 765 -#define _CHECK_FUNCTION_VERSION_INLINE_r11 766 -#define _CHECK_FUNCTION_VERSION_INLINE_r22 767 -#define _CHECK_FUNCTION_VERSION_INLINE_r33 768 -#define _CHECK_FUNCTION_VERSION_KW_r11 769 -#define _CHECK_IS_NOT_PY_CALLABLE_r00 770 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r03 771 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r13 772 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r23 773 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r33 774 -#define _CHECK_IS_NOT_PY_CALLABLE_KW_r11 775 -#define _CHECK_IS_PY_CALLABLE_EX_r03 776 -#define _CHECK_IS_PY_CALLABLE_EX_r13 777 -#define _CHECK_IS_PY_CALLABLE_EX_r23 778 -#define _CHECK_IS_PY_CALLABLE_EX_r33 779 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r01 780 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r11 781 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r22 782 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r33 783 -#define _CHECK_METHOD_VERSION_r00 784 -#define _CHECK_METHOD_VERSION_KW_r11 785 -#define _CHECK_PEP_523_r00 786 -#define _CHECK_PEP_523_r11 787 -#define _CHECK_PEP_523_r22 788 -#define _CHECK_PEP_523_r33 789 -#define _CHECK_PERIODIC_r00 790 -#define _CHECK_PERIODIC_AT_END_r00 791 -#define _CHECK_PERIODIC_IF_NOT_YIELD_FROM_r00 792 -#define _CHECK_RECURSION_LIMIT_r00 793 -#define _CHECK_RECURSION_LIMIT_r11 794 -#define _CHECK_RECURSION_LIMIT_r22 795 -#define _CHECK_RECURSION_LIMIT_r33 796 -#define _CHECK_RECURSION_REMAINING_r00 797 -#define _CHECK_RECURSION_REMAINING_r11 798 -#define _CHECK_RECURSION_REMAINING_r22 799 -#define _CHECK_RECURSION_REMAINING_r33 800 -#define _CHECK_STACK_SPACE_r00 801 -#define _CHECK_STACK_SPACE_OPERAND_r00 802 -#define _CHECK_STACK_SPACE_OPERAND_r11 803 -#define _CHECK_STACK_SPACE_OPERAND_r22 804 -#define _CHECK_STACK_SPACE_OPERAND_r33 805 -#define _CHECK_VALIDITY_r00 806 -#define _CHECK_VALIDITY_r11 807 -#define _CHECK_VALIDITY_r22 808 -#define _CHECK_VALIDITY_r33 809 -#define _COLD_DYNAMIC_EXIT_r00 810 -#define _COLD_EXIT_r00 811 -#define _COMPARE_OP_r21 812 -#define _COMPARE_OP_FLOAT_r03 813 -#define _COMPARE_OP_FLOAT_r13 814 -#define _COMPARE_OP_FLOAT_r23 815 -#define _COMPARE_OP_INT_r23 816 -#define _COMPARE_OP_STR_r23 817 -#define _CONTAINS_OP_r23 818 -#define _CONTAINS_OP_DICT_r23 819 -#define _CONTAINS_OP_SET_r23 820 -#define _CONVERT_VALUE_r11 821 -#define _COPY_r01 822 -#define _COPY_1_r02 823 -#define _COPY_1_r12 824 -#define _COPY_1_r23 825 -#define _COPY_2_r03 826 -#define _COPY_2_r13 827 -#define _COPY_2_r23 828 -#define _COPY_3_r03 829 -#define _COPY_3_r13 830 -#define _COPY_3_r23 831 -#define _COPY_3_r33 832 -#define _COPY_FREE_VARS_r00 833 -#define _COPY_FREE_VARS_r11 834 -#define _COPY_FREE_VARS_r22 835 -#define _COPY_FREE_VARS_r33 836 -#define _CREATE_INIT_FRAME_r01 837 -#define _DELETE_ATTR_r10 838 -#define _DELETE_DEREF_r00 839 -#define _DELETE_FAST_r00 840 -#define _DELETE_GLOBAL_r00 841 -#define _DELETE_NAME_r00 842 -#define _DELETE_SUBSCR_r20 843 -#define _DEOPT_r00 844 -#define _DEOPT_r10 845 -#define _DEOPT_r20 846 -#define _DEOPT_r30 847 -#define _DICT_MERGE_r11 848 -#define _DICT_UPDATE_r11 849 -#define _DO_CALL_r01 850 -#define _DO_CALL_FUNCTION_EX_r31 851 -#define _DO_CALL_KW_r11 852 -#define _DYNAMIC_EXIT_r00 853 -#define _DYNAMIC_EXIT_r10 854 -#define _DYNAMIC_EXIT_r20 855 -#define _DYNAMIC_EXIT_r30 856 -#define _END_FOR_r10 857 -#define _END_SEND_r31 858 -#define _ERROR_POP_N_r00 859 -#define _EXIT_INIT_CHECK_r10 860 -#define _EXIT_TRACE_r00 861 -#define _EXIT_TRACE_r10 862 -#define _EXIT_TRACE_r20 863 -#define _EXIT_TRACE_r30 864 -#define _EXPAND_METHOD_r00 865 -#define _EXPAND_METHOD_KW_r11 866 -#define _FATAL_ERROR_r00 867 -#define _FATAL_ERROR_r11 868 -#define _FATAL_ERROR_r22 869 -#define _FATAL_ERROR_r33 870 -#define _FORMAT_SIMPLE_r11 871 -#define _FORMAT_WITH_SPEC_r21 872 -#define _FOR_ITER_r23 873 -#define _FOR_ITER_GEN_FRAME_r03 874 -#define _FOR_ITER_GEN_FRAME_r13 875 -#define _FOR_ITER_GEN_FRAME_r23 876 -#define _FOR_ITER_TIER_TWO_r23 877 -#define _GET_AITER_r11 878 -#define _GET_ANEXT_r12 879 -#define _GET_AWAITABLE_r11 880 -#define _GET_ITER_r12 881 -#define _GET_LEN_r12 882 -#define _GUARD_BINARY_OP_EXTEND_r22 883 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r02 884 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r12 885 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r22 886 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r33 887 -#define _GUARD_BIT_IS_SET_POP_r00 888 -#define _GUARD_BIT_IS_SET_POP_r10 889 -#define _GUARD_BIT_IS_SET_POP_r21 890 -#define _GUARD_BIT_IS_SET_POP_r32 891 -#define _GUARD_BIT_IS_SET_POP_4_r00 892 -#define _GUARD_BIT_IS_SET_POP_4_r10 893 -#define _GUARD_BIT_IS_SET_POP_4_r21 894 -#define _GUARD_BIT_IS_SET_POP_4_r32 895 -#define _GUARD_BIT_IS_SET_POP_5_r00 896 -#define _GUARD_BIT_IS_SET_POP_5_r10 897 -#define _GUARD_BIT_IS_SET_POP_5_r21 898 -#define _GUARD_BIT_IS_SET_POP_5_r32 899 -#define _GUARD_BIT_IS_SET_POP_6_r00 900 -#define _GUARD_BIT_IS_SET_POP_6_r10 901 -#define _GUARD_BIT_IS_SET_POP_6_r21 902 -#define _GUARD_BIT_IS_SET_POP_6_r32 903 -#define _GUARD_BIT_IS_SET_POP_7_r00 904 -#define _GUARD_BIT_IS_SET_POP_7_r10 905 -#define _GUARD_BIT_IS_SET_POP_7_r21 906 -#define _GUARD_BIT_IS_SET_POP_7_r32 907 -#define _GUARD_BIT_IS_UNSET_POP_r00 908 -#define _GUARD_BIT_IS_UNSET_POP_r10 909 -#define _GUARD_BIT_IS_UNSET_POP_r21 910 -#define _GUARD_BIT_IS_UNSET_POP_r32 911 -#define _GUARD_BIT_IS_UNSET_POP_4_r00 912 -#define _GUARD_BIT_IS_UNSET_POP_4_r10 913 -#define _GUARD_BIT_IS_UNSET_POP_4_r21 914 -#define _GUARD_BIT_IS_UNSET_POP_4_r32 915 -#define _GUARD_BIT_IS_UNSET_POP_5_r00 916 -#define _GUARD_BIT_IS_UNSET_POP_5_r10 917 -#define _GUARD_BIT_IS_UNSET_POP_5_r21 918 -#define _GUARD_BIT_IS_UNSET_POP_5_r32 919 -#define _GUARD_BIT_IS_UNSET_POP_6_r00 920 -#define _GUARD_BIT_IS_UNSET_POP_6_r10 921 -#define _GUARD_BIT_IS_UNSET_POP_6_r21 922 -#define _GUARD_BIT_IS_UNSET_POP_6_r32 923 -#define _GUARD_BIT_IS_UNSET_POP_7_r00 924 -#define _GUARD_BIT_IS_UNSET_POP_7_r10 925 -#define _GUARD_BIT_IS_UNSET_POP_7_r21 926 -#define _GUARD_BIT_IS_UNSET_POP_7_r32 927 -#define _GUARD_CALLABLE_BUILTIN_FAST_r00 928 -#define _GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS_r00 929 -#define _GUARD_CALLABLE_BUILTIN_O_r00 930 -#define _GUARD_CALLABLE_ISINSTANCE_r03 931 -#define _GUARD_CALLABLE_ISINSTANCE_r13 932 -#define _GUARD_CALLABLE_ISINSTANCE_r23 933 -#define _GUARD_CALLABLE_ISINSTANCE_r33 934 -#define _GUARD_CALLABLE_LEN_r03 935 -#define _GUARD_CALLABLE_LEN_r13 936 -#define _GUARD_CALLABLE_LEN_r23 937 -#define _GUARD_CALLABLE_LEN_r33 938 -#define _GUARD_CALLABLE_LIST_APPEND_r03 939 -#define _GUARD_CALLABLE_LIST_APPEND_r13 940 -#define _GUARD_CALLABLE_LIST_APPEND_r23 941 -#define _GUARD_CALLABLE_LIST_APPEND_r33 942 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_r00 943 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r00 944 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_NOARGS_r00 945 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_O_r00 946 -#define _GUARD_CALLABLE_STR_1_r03 947 -#define _GUARD_CALLABLE_STR_1_r13 948 -#define _GUARD_CALLABLE_STR_1_r23 949 -#define _GUARD_CALLABLE_STR_1_r33 950 -#define _GUARD_CALLABLE_TUPLE_1_r03 951 -#define _GUARD_CALLABLE_TUPLE_1_r13 952 -#define _GUARD_CALLABLE_TUPLE_1_r23 953 -#define _GUARD_CALLABLE_TUPLE_1_r33 954 -#define _GUARD_CALLABLE_TYPE_1_r03 955 -#define _GUARD_CALLABLE_TYPE_1_r13 956 -#define _GUARD_CALLABLE_TYPE_1_r23 957 -#define _GUARD_CALLABLE_TYPE_1_r33 958 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r00 959 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r11 960 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r22 961 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r33 962 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r00 963 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r11 964 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r22 965 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r33 966 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r00 967 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r11 968 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r22 969 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r33 970 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r00 971 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r11 972 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r22 973 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r33 974 -#define _GUARD_DORV_NO_DICT_r01 975 -#define _GUARD_DORV_NO_DICT_r11 976 -#define _GUARD_DORV_NO_DICT_r22 977 -#define _GUARD_DORV_NO_DICT_r33 978 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r01 979 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r11 980 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r22 981 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r33 982 -#define _GUARD_GLOBALS_VERSION_r00 983 -#define _GUARD_GLOBALS_VERSION_r11 984 -#define _GUARD_GLOBALS_VERSION_r22 985 -#define _GUARD_GLOBALS_VERSION_r33 986 -#define _GUARD_IP_RETURN_GENERATOR_r00 987 -#define _GUARD_IP_RETURN_GENERATOR_r11 988 -#define _GUARD_IP_RETURN_GENERATOR_r22 989 -#define _GUARD_IP_RETURN_GENERATOR_r33 990 -#define _GUARD_IP_RETURN_VALUE_r00 991 -#define _GUARD_IP_RETURN_VALUE_r11 992 -#define _GUARD_IP_RETURN_VALUE_r22 993 -#define _GUARD_IP_RETURN_VALUE_r33 994 -#define _GUARD_IP_YIELD_VALUE_r00 995 -#define _GUARD_IP_YIELD_VALUE_r11 996 -#define _GUARD_IP_YIELD_VALUE_r22 997 -#define _GUARD_IP_YIELD_VALUE_r33 998 -#define _GUARD_IP__PUSH_FRAME_r00 999 -#define _GUARD_IP__PUSH_FRAME_r11 1000 -#define _GUARD_IP__PUSH_FRAME_r22 1001 -#define _GUARD_IP__PUSH_FRAME_r33 1002 -#define _GUARD_IS_FALSE_POP_r00 1003 -#define _GUARD_IS_FALSE_POP_r10 1004 -#define _GUARD_IS_FALSE_POP_r21 1005 -#define _GUARD_IS_FALSE_POP_r32 1006 -#define _GUARD_IS_NONE_POP_r00 1007 -#define _GUARD_IS_NONE_POP_r10 1008 -#define _GUARD_IS_NONE_POP_r21 1009 -#define _GUARD_IS_NONE_POP_r32 1010 -#define _GUARD_IS_NOT_NONE_POP_r10 1011 -#define _GUARD_IS_TRUE_POP_r00 1012 -#define _GUARD_IS_TRUE_POP_r10 1013 -#define _GUARD_IS_TRUE_POP_r21 1014 -#define _GUARD_IS_TRUE_POP_r32 1015 -#define _GUARD_KEYS_VERSION_r01 1016 -#define _GUARD_KEYS_VERSION_r11 1017 -#define _GUARD_KEYS_VERSION_r22 1018 -#define _GUARD_KEYS_VERSION_r33 1019 -#define _GUARD_LOAD_SUPER_ATTR_METHOD_r03 1020 -#define _GUARD_LOAD_SUPER_ATTR_METHOD_r13 1021 -#define _GUARD_LOAD_SUPER_ATTR_METHOD_r23 1022 -#define _GUARD_LOAD_SUPER_ATTR_METHOD_r33 1023 -#define _GUARD_NOS_ANY_DICT_r02 1024 -#define _GUARD_NOS_ANY_DICT_r12 1025 -#define _GUARD_NOS_ANY_DICT_r22 1026 -#define _GUARD_NOS_ANY_DICT_r33 1027 -#define _GUARD_NOS_COMPACT_ASCII_r02 1028 -#define _GUARD_NOS_COMPACT_ASCII_r12 1029 -#define _GUARD_NOS_COMPACT_ASCII_r22 1030 -#define _GUARD_NOS_COMPACT_ASCII_r33 1031 -#define _GUARD_NOS_DICT_r02 1032 -#define _GUARD_NOS_DICT_r12 1033 -#define _GUARD_NOS_DICT_r22 1034 -#define _GUARD_NOS_DICT_r33 1035 -#define _GUARD_NOS_FLOAT_r02 1036 -#define _GUARD_NOS_FLOAT_r12 1037 -#define _GUARD_NOS_FLOAT_r22 1038 -#define _GUARD_NOS_FLOAT_r33 1039 -#define _GUARD_NOS_INT_r02 1040 -#define _GUARD_NOS_INT_r12 1041 -#define _GUARD_NOS_INT_r22 1042 -#define _GUARD_NOS_INT_r33 1043 -#define _GUARD_NOS_LIST_r02 1044 -#define _GUARD_NOS_LIST_r12 1045 -#define _GUARD_NOS_LIST_r22 1046 -#define _GUARD_NOS_LIST_r33 1047 -#define _GUARD_NOS_NOT_NULL_r02 1048 -#define _GUARD_NOS_NOT_NULL_r12 1049 -#define _GUARD_NOS_NOT_NULL_r22 1050 -#define _GUARD_NOS_NOT_NULL_r33 1051 -#define _GUARD_NOS_NULL_r02 1052 -#define _GUARD_NOS_NULL_r12 1053 -#define _GUARD_NOS_NULL_r22 1054 -#define _GUARD_NOS_NULL_r33 1055 -#define _GUARD_NOS_OVERFLOWED_r02 1056 -#define _GUARD_NOS_OVERFLOWED_r12 1057 -#define _GUARD_NOS_OVERFLOWED_r22 1058 -#define _GUARD_NOS_OVERFLOWED_r33 1059 -#define _GUARD_NOS_TUPLE_r02 1060 -#define _GUARD_NOS_TUPLE_r12 1061 -#define _GUARD_NOS_TUPLE_r22 1062 -#define _GUARD_NOS_TUPLE_r33 1063 -#define _GUARD_NOS_TYPE_VERSION_r02 1064 -#define _GUARD_NOS_TYPE_VERSION_r12 1065 -#define _GUARD_NOS_TYPE_VERSION_r22 1066 -#define _GUARD_NOS_TYPE_VERSION_r33 1067 -#define _GUARD_NOS_UNICODE_r02 1068 -#define _GUARD_NOS_UNICODE_r12 1069 -#define _GUARD_NOS_UNICODE_r22 1070 -#define _GUARD_NOS_UNICODE_r33 1071 -#define _GUARD_NOT_EXHAUSTED_LIST_r02 1072 -#define _GUARD_NOT_EXHAUSTED_LIST_r12 1073 -#define _GUARD_NOT_EXHAUSTED_LIST_r22 1074 -#define _GUARD_NOT_EXHAUSTED_LIST_r33 1075 -#define _GUARD_NOT_EXHAUSTED_RANGE_r02 1076 -#define _GUARD_NOT_EXHAUSTED_RANGE_r12 1077 -#define _GUARD_NOT_EXHAUSTED_RANGE_r22 1078 -#define _GUARD_NOT_EXHAUSTED_RANGE_r33 1079 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r02 1080 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r12 1081 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r22 1082 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r33 1083 -#define _GUARD_THIRD_NULL_r03 1084 -#define _GUARD_THIRD_NULL_r13 1085 -#define _GUARD_THIRD_NULL_r23 1086 -#define _GUARD_THIRD_NULL_r33 1087 -#define _GUARD_TOS_ANY_DICT_r01 1088 -#define _GUARD_TOS_ANY_DICT_r11 1089 -#define _GUARD_TOS_ANY_DICT_r22 1090 -#define _GUARD_TOS_ANY_DICT_r33 1091 -#define _GUARD_TOS_ANY_SET_r01 1092 -#define _GUARD_TOS_ANY_SET_r11 1093 -#define _GUARD_TOS_ANY_SET_r22 1094 -#define _GUARD_TOS_ANY_SET_r33 1095 -#define _GUARD_TOS_DICT_r01 1096 -#define _GUARD_TOS_DICT_r11 1097 -#define _GUARD_TOS_DICT_r22 1098 -#define _GUARD_TOS_DICT_r33 1099 -#define _GUARD_TOS_FLOAT_r01 1100 -#define _GUARD_TOS_FLOAT_r11 1101 -#define _GUARD_TOS_FLOAT_r22 1102 -#define _GUARD_TOS_FLOAT_r33 1103 -#define _GUARD_TOS_FROZENDICT_r01 1104 -#define _GUARD_TOS_FROZENDICT_r11 1105 -#define _GUARD_TOS_FROZENDICT_r22 1106 -#define _GUARD_TOS_FROZENDICT_r33 1107 -#define _GUARD_TOS_FROZENSET_r01 1108 -#define _GUARD_TOS_FROZENSET_r11 1109 -#define _GUARD_TOS_FROZENSET_r22 1110 -#define _GUARD_TOS_FROZENSET_r33 1111 -#define _GUARD_TOS_INT_r01 1112 -#define _GUARD_TOS_INT_r11 1113 -#define _GUARD_TOS_INT_r22 1114 -#define _GUARD_TOS_INT_r33 1115 -#define _GUARD_TOS_LIST_r01 1116 -#define _GUARD_TOS_LIST_r11 1117 -#define _GUARD_TOS_LIST_r22 1118 -#define _GUARD_TOS_LIST_r33 1119 -#define _GUARD_TOS_OVERFLOWED_r01 1120 -#define _GUARD_TOS_OVERFLOWED_r11 1121 -#define _GUARD_TOS_OVERFLOWED_r22 1122 -#define _GUARD_TOS_OVERFLOWED_r33 1123 -#define _GUARD_TOS_SET_r01 1124 -#define _GUARD_TOS_SET_r11 1125 -#define _GUARD_TOS_SET_r22 1126 -#define _GUARD_TOS_SET_r33 1127 -#define _GUARD_TOS_SLICE_r01 1128 -#define _GUARD_TOS_SLICE_r11 1129 -#define _GUARD_TOS_SLICE_r22 1130 -#define _GUARD_TOS_SLICE_r33 1131 -#define _GUARD_TOS_TUPLE_r01 1132 -#define _GUARD_TOS_TUPLE_r11 1133 -#define _GUARD_TOS_TUPLE_r22 1134 -#define _GUARD_TOS_TUPLE_r33 1135 -#define _GUARD_TOS_UNICODE_r01 1136 -#define _GUARD_TOS_UNICODE_r11 1137 -#define _GUARD_TOS_UNICODE_r22 1138 -#define _GUARD_TOS_UNICODE_r33 1139 -#define _GUARD_TYPE_VERSION_r01 1140 -#define _GUARD_TYPE_VERSION_r11 1141 -#define _GUARD_TYPE_VERSION_r22 1142 -#define _GUARD_TYPE_VERSION_r33 1143 -#define _GUARD_TYPE_VERSION_LOCKED_r01 1144 -#define _GUARD_TYPE_VERSION_LOCKED_r11 1145 -#define _GUARD_TYPE_VERSION_LOCKED_r22 1146 -#define _GUARD_TYPE_VERSION_LOCKED_r33 1147 -#define _HANDLE_PENDING_AND_DEOPT_r00 1148 -#define _HANDLE_PENDING_AND_DEOPT_r10 1149 -#define _HANDLE_PENDING_AND_DEOPT_r20 1150 -#define _HANDLE_PENDING_AND_DEOPT_r30 1151 -#define _IMPORT_FROM_r12 1152 -#define _IMPORT_NAME_r21 1153 -#define _INIT_CALL_BOUND_METHOD_EXACT_ARGS_r00 1154 -#define _INIT_CALL_PY_EXACT_ARGS_r01 1155 -#define _INIT_CALL_PY_EXACT_ARGS_0_r01 1156 -#define _INIT_CALL_PY_EXACT_ARGS_1_r01 1157 -#define _INIT_CALL_PY_EXACT_ARGS_2_r01 1158 -#define _INIT_CALL_PY_EXACT_ARGS_3_r01 1159 -#define _INIT_CALL_PY_EXACT_ARGS_4_r01 1160 -#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r03 1161 -#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r13 1162 -#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r23 1163 -#define _INSERT_NULL_r10 1164 -#define _INSTRUMENTED_FOR_ITER_r23 1165 -#define _INSTRUMENTED_INSTRUCTION_r00 1166 -#define _INSTRUMENTED_JUMP_FORWARD_r00 1167 -#define _INSTRUMENTED_JUMP_FORWARD_r11 1168 -#define _INSTRUMENTED_JUMP_FORWARD_r22 1169 -#define _INSTRUMENTED_JUMP_FORWARD_r33 1170 -#define _INSTRUMENTED_LINE_r00 1171 -#define _INSTRUMENTED_NOT_TAKEN_r00 1172 -#define _INSTRUMENTED_NOT_TAKEN_r11 1173 -#define _INSTRUMENTED_NOT_TAKEN_r22 1174 -#define _INSTRUMENTED_NOT_TAKEN_r33 1175 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r00 1176 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r10 1177 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r21 1178 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r32 1179 -#define _INSTRUMENTED_POP_JUMP_IF_NONE_r10 1180 -#define _INSTRUMENTED_POP_JUMP_IF_NOT_NONE_r10 1181 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r00 1182 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r10 1183 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r21 1184 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r32 1185 -#define _IS_NONE_r11 1186 -#define _IS_OP_r03 1187 -#define _IS_OP_r13 1188 -#define _IS_OP_r23 1189 -#define _ITER_CHECK_LIST_r02 1190 -#define _ITER_CHECK_LIST_r12 1191 -#define _ITER_CHECK_LIST_r22 1192 -#define _ITER_CHECK_LIST_r33 1193 -#define _ITER_CHECK_RANGE_r02 1194 -#define _ITER_CHECK_RANGE_r12 1195 -#define _ITER_CHECK_RANGE_r22 1196 -#define _ITER_CHECK_RANGE_r33 1197 -#define _ITER_CHECK_TUPLE_r02 1198 -#define _ITER_CHECK_TUPLE_r12 1199 -#define _ITER_CHECK_TUPLE_r22 1200 -#define _ITER_CHECK_TUPLE_r33 1201 -#define _ITER_JUMP_LIST_r02 1202 -#define _ITER_JUMP_LIST_r12 1203 -#define _ITER_JUMP_LIST_r22 1204 -#define _ITER_JUMP_LIST_r33 1205 -#define _ITER_JUMP_RANGE_r02 1206 -#define _ITER_JUMP_RANGE_r12 1207 -#define _ITER_JUMP_RANGE_r22 1208 -#define _ITER_JUMP_RANGE_r33 1209 -#define _ITER_JUMP_TUPLE_r02 1210 -#define _ITER_JUMP_TUPLE_r12 1211 -#define _ITER_JUMP_TUPLE_r22 1212 -#define _ITER_JUMP_TUPLE_r33 1213 -#define _ITER_NEXT_LIST_r23 1214 -#define _ITER_NEXT_LIST_TIER_TWO_r23 1215 -#define _ITER_NEXT_RANGE_r03 1216 -#define _ITER_NEXT_RANGE_r13 1217 -#define _ITER_NEXT_RANGE_r23 1218 -#define _ITER_NEXT_TUPLE_r03 1219 -#define _ITER_NEXT_TUPLE_r13 1220 -#define _ITER_NEXT_TUPLE_r23 1221 -#define _JUMP_BACKWARD_NO_INTERRUPT_r00 1222 -#define _JUMP_BACKWARD_NO_INTERRUPT_r11 1223 -#define _JUMP_BACKWARD_NO_INTERRUPT_r22 1224 -#define _JUMP_BACKWARD_NO_INTERRUPT_r33 1225 -#define _JUMP_TO_TOP_r00 1226 -#define _LIST_APPEND_r10 1227 -#define _LIST_EXTEND_r11 1228 -#define _LOAD_ATTR_r10 1229 -#define _LOAD_ATTR_CLASS_r11 1230 -#define _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN_r11 1231 -#define _LOAD_ATTR_INSTANCE_VALUE_r02 1232 -#define _LOAD_ATTR_INSTANCE_VALUE_r12 1233 -#define _LOAD_ATTR_INSTANCE_VALUE_r23 1234 -#define _LOAD_ATTR_METHOD_LAZY_DICT_r02 1235 -#define _LOAD_ATTR_METHOD_LAZY_DICT_r12 1236 -#define _LOAD_ATTR_METHOD_LAZY_DICT_r23 1237 -#define _LOAD_ATTR_METHOD_NO_DICT_r02 1238 -#define _LOAD_ATTR_METHOD_NO_DICT_r12 1239 -#define _LOAD_ATTR_METHOD_NO_DICT_r23 1240 -#define _LOAD_ATTR_METHOD_WITH_VALUES_r02 1241 -#define _LOAD_ATTR_METHOD_WITH_VALUES_r12 1242 -#define _LOAD_ATTR_METHOD_WITH_VALUES_r23 1243 -#define _LOAD_ATTR_MODULE_r12 1244 -#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT_r11 1245 -#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES_r11 1246 -#define _LOAD_ATTR_PROPERTY_FRAME_r11 1247 -#define _LOAD_ATTR_SLOT_r02 1248 -#define _LOAD_ATTR_SLOT_r12 1249 -#define _LOAD_ATTR_SLOT_r23 1250 -#define _LOAD_ATTR_WITH_HINT_r12 1251 -#define _LOAD_BUILD_CLASS_r01 1252 -#define _LOAD_BYTECODE_r00 1253 -#define _LOAD_COMMON_CONSTANT_r01 1254 -#define _LOAD_COMMON_CONSTANT_r12 1255 -#define _LOAD_COMMON_CONSTANT_r23 1256 -#define _LOAD_CONST_r01 1257 -#define _LOAD_CONST_r12 1258 -#define _LOAD_CONST_r23 1259 -#define _LOAD_CONST_INLINE_r01 1260 -#define _LOAD_CONST_INLINE_r12 1261 -#define _LOAD_CONST_INLINE_r23 1262 -#define _LOAD_CONST_INLINE_BORROW_r01 1263 -#define _LOAD_CONST_INLINE_BORROW_r12 1264 -#define _LOAD_CONST_INLINE_BORROW_r23 1265 -#define _LOAD_DEREF_r01 1266 -#define _LOAD_FAST_r01 1267 -#define _LOAD_FAST_r12 1268 -#define _LOAD_FAST_r23 1269 -#define _LOAD_FAST_0_r01 1270 -#define _LOAD_FAST_0_r12 1271 -#define _LOAD_FAST_0_r23 1272 -#define _LOAD_FAST_1_r01 1273 -#define _LOAD_FAST_1_r12 1274 -#define _LOAD_FAST_1_r23 1275 -#define _LOAD_FAST_2_r01 1276 -#define _LOAD_FAST_2_r12 1277 -#define _LOAD_FAST_2_r23 1278 -#define _LOAD_FAST_3_r01 1279 -#define _LOAD_FAST_3_r12 1280 -#define _LOAD_FAST_3_r23 1281 -#define _LOAD_FAST_4_r01 1282 -#define _LOAD_FAST_4_r12 1283 -#define _LOAD_FAST_4_r23 1284 -#define _LOAD_FAST_5_r01 1285 -#define _LOAD_FAST_5_r12 1286 -#define _LOAD_FAST_5_r23 1287 -#define _LOAD_FAST_6_r01 1288 -#define _LOAD_FAST_6_r12 1289 -#define _LOAD_FAST_6_r23 1290 -#define _LOAD_FAST_7_r01 1291 -#define _LOAD_FAST_7_r12 1292 -#define _LOAD_FAST_7_r23 1293 -#define _LOAD_FAST_AND_CLEAR_r01 1294 -#define _LOAD_FAST_AND_CLEAR_r12 1295 -#define _LOAD_FAST_AND_CLEAR_r23 1296 -#define _LOAD_FAST_BORROW_r01 1297 -#define _LOAD_FAST_BORROW_r12 1298 -#define _LOAD_FAST_BORROW_r23 1299 -#define _LOAD_FAST_BORROW_0_r01 1300 -#define _LOAD_FAST_BORROW_0_r12 1301 -#define _LOAD_FAST_BORROW_0_r23 1302 -#define _LOAD_FAST_BORROW_1_r01 1303 -#define _LOAD_FAST_BORROW_1_r12 1304 -#define _LOAD_FAST_BORROW_1_r23 1305 -#define _LOAD_FAST_BORROW_2_r01 1306 -#define _LOAD_FAST_BORROW_2_r12 1307 -#define _LOAD_FAST_BORROW_2_r23 1308 -#define _LOAD_FAST_BORROW_3_r01 1309 -#define _LOAD_FAST_BORROW_3_r12 1310 -#define _LOAD_FAST_BORROW_3_r23 1311 -#define _LOAD_FAST_BORROW_4_r01 1312 -#define _LOAD_FAST_BORROW_4_r12 1313 -#define _LOAD_FAST_BORROW_4_r23 1314 -#define _LOAD_FAST_BORROW_5_r01 1315 -#define _LOAD_FAST_BORROW_5_r12 1316 -#define _LOAD_FAST_BORROW_5_r23 1317 -#define _LOAD_FAST_BORROW_6_r01 1318 -#define _LOAD_FAST_BORROW_6_r12 1319 -#define _LOAD_FAST_BORROW_6_r23 1320 -#define _LOAD_FAST_BORROW_7_r01 1321 -#define _LOAD_FAST_BORROW_7_r12 1322 -#define _LOAD_FAST_BORROW_7_r23 1323 -#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r02 1324 -#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r13 1325 -#define _LOAD_FAST_CHECK_r01 1326 -#define _LOAD_FAST_CHECK_r12 1327 -#define _LOAD_FAST_CHECK_r23 1328 -#define _LOAD_FAST_LOAD_FAST_r02 1329 -#define _LOAD_FAST_LOAD_FAST_r13 1330 -#define _LOAD_FROM_DICT_OR_DEREF_r11 1331 -#define _LOAD_FROM_DICT_OR_GLOBALS_r11 1332 -#define _LOAD_GLOBAL_r00 1333 -#define _LOAD_GLOBAL_BUILTINS_r01 1334 -#define _LOAD_GLOBAL_MODULE_r01 1335 -#define _LOAD_LOCALS_r01 1336 -#define _LOAD_LOCALS_r12 1337 -#define _LOAD_LOCALS_r23 1338 -#define _LOAD_NAME_r01 1339 -#define _LOAD_SMALL_INT_r01 1340 -#define _LOAD_SMALL_INT_r12 1341 -#define _LOAD_SMALL_INT_r23 1342 -#define _LOAD_SMALL_INT_0_r01 1343 -#define _LOAD_SMALL_INT_0_r12 1344 -#define _LOAD_SMALL_INT_0_r23 1345 -#define _LOAD_SMALL_INT_1_r01 1346 -#define _LOAD_SMALL_INT_1_r12 1347 -#define _LOAD_SMALL_INT_1_r23 1348 -#define _LOAD_SMALL_INT_2_r01 1349 -#define _LOAD_SMALL_INT_2_r12 1350 -#define _LOAD_SMALL_INT_2_r23 1351 -#define _LOAD_SMALL_INT_3_r01 1352 -#define _LOAD_SMALL_INT_3_r12 1353 -#define _LOAD_SMALL_INT_3_r23 1354 -#define _LOAD_SPECIAL_r00 1355 -#define _LOAD_SUPER_ATTR_ATTR_r31 1356 -#define _LOAD_SUPER_ATTR_METHOD_r32 1357 -#define _LOCK_OBJECT_r01 1358 -#define _LOCK_OBJECT_r11 1359 -#define _LOCK_OBJECT_r22 1360 -#define _LOCK_OBJECT_r33 1361 -#define _MAKE_CALLARGS_A_TUPLE_r33 1362 -#define _MAKE_CELL_r00 1363 -#define _MAKE_FUNCTION_r12 1364 -#define _MAKE_HEAP_SAFE_r01 1365 -#define _MAKE_HEAP_SAFE_r11 1366 -#define _MAKE_HEAP_SAFE_r22 1367 -#define _MAKE_HEAP_SAFE_r33 1368 -#define _MAKE_WARM_r00 1369 -#define _MAKE_WARM_r11 1370 -#define _MAKE_WARM_r22 1371 -#define _MAKE_WARM_r33 1372 -#define _MAP_ADD_r20 1373 -#define _MATCH_CLASS_r33 1374 -#define _MATCH_KEYS_r23 1375 -#define _MATCH_MAPPING_r02 1376 -#define _MATCH_MAPPING_r12 1377 -#define _MATCH_MAPPING_r23 1378 -#define _MATCH_SEQUENCE_r02 1379 -#define _MATCH_SEQUENCE_r12 1380 -#define _MATCH_SEQUENCE_r23 1381 -#define _MAYBE_EXPAND_METHOD_r00 1382 -#define _MAYBE_EXPAND_METHOD_KW_r11 1383 -#define _MONITOR_CALL_r00 1384 -#define _MONITOR_CALL_KW_r11 1385 -#define _MONITOR_JUMP_BACKWARD_r00 1386 -#define _MONITOR_JUMP_BACKWARD_r11 1387 -#define _MONITOR_JUMP_BACKWARD_r22 1388 -#define _MONITOR_JUMP_BACKWARD_r33 1389 -#define _MONITOR_RESUME_r00 1390 -#define _NOP_r00 1391 -#define _NOP_r11 1392 -#define _NOP_r22 1393 -#define _NOP_r33 1394 -#define _POP_CALL_r20 1395 -#define _POP_CALL_LOAD_CONST_INLINE_BORROW_r21 1396 -#define _POP_CALL_ONE_r30 1397 -#define _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW_r31 1398 -#define _POP_CALL_TWO_r30 1399 -#define _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW_r31 1400 -#define _POP_EXCEPT_r10 1401 -#define _POP_ITER_r20 1402 -#define _POP_JUMP_IF_FALSE_r00 1403 -#define _POP_JUMP_IF_FALSE_r10 1404 -#define _POP_JUMP_IF_FALSE_r21 1405 -#define _POP_JUMP_IF_FALSE_r32 1406 -#define _POP_JUMP_IF_TRUE_r00 1407 -#define _POP_JUMP_IF_TRUE_r10 1408 -#define _POP_JUMP_IF_TRUE_r21 1409 -#define _POP_JUMP_IF_TRUE_r32 1410 -#define _POP_TOP_r10 1411 -#define _POP_TOP_FLOAT_r00 1412 -#define _POP_TOP_FLOAT_r10 1413 -#define _POP_TOP_FLOAT_r21 1414 -#define _POP_TOP_FLOAT_r32 1415 -#define _POP_TOP_INT_r00 1416 -#define _POP_TOP_INT_r10 1417 -#define _POP_TOP_INT_r21 1418 -#define _POP_TOP_INT_r32 1419 -#define _POP_TOP_LOAD_CONST_INLINE_r11 1420 -#define _POP_TOP_LOAD_CONST_INLINE_BORROW_r11 1421 -#define _POP_TOP_NOP_r00 1422 -#define _POP_TOP_NOP_r10 1423 -#define _POP_TOP_NOP_r21 1424 -#define _POP_TOP_NOP_r32 1425 -#define _POP_TOP_UNICODE_r00 1426 -#define _POP_TOP_UNICODE_r10 1427 -#define _POP_TOP_UNICODE_r21 1428 -#define _POP_TOP_UNICODE_r32 1429 -#define _POP_TWO_r20 1430 -#define _POP_TWO_LOAD_CONST_INLINE_BORROW_r21 1431 -#define _PUSH_EXC_INFO_r02 1432 -#define _PUSH_EXC_INFO_r12 1433 -#define _PUSH_EXC_INFO_r23 1434 -#define _PUSH_FRAME_r10 1435 -#define _PUSH_NULL_r01 1436 -#define _PUSH_NULL_r12 1437 -#define _PUSH_NULL_r23 1438 -#define _PUSH_NULL_CONDITIONAL_r00 1439 -#define _PY_FRAME_EX_r31 1440 -#define _PY_FRAME_GENERAL_r01 1441 -#define _PY_FRAME_KW_r11 1442 -#define _REPLACE_WITH_TRUE_r02 1443 -#define _REPLACE_WITH_TRUE_r12 1444 -#define _REPLACE_WITH_TRUE_r23 1445 -#define _RESUME_CHECK_r00 1446 -#define _RESUME_CHECK_r11 1447 -#define _RESUME_CHECK_r22 1448 -#define _RESUME_CHECK_r33 1449 -#define _RETURN_GENERATOR_r01 1450 -#define _RETURN_VALUE_r11 1451 -#define _SAVE_RETURN_OFFSET_r00 1452 -#define _SAVE_RETURN_OFFSET_r11 1453 -#define _SAVE_RETURN_OFFSET_r22 1454 -#define _SAVE_RETURN_OFFSET_r33 1455 -#define _SEND_r33 1456 -#define _SEND_GEN_FRAME_r33 1457 -#define _SETUP_ANNOTATIONS_r00 1458 -#define _SET_ADD_r10 1459 -#define _SET_FUNCTION_ATTRIBUTE_r01 1460 -#define _SET_FUNCTION_ATTRIBUTE_r11 1461 -#define _SET_FUNCTION_ATTRIBUTE_r21 1462 -#define _SET_FUNCTION_ATTRIBUTE_r32 1463 -#define _SET_IP_r00 1464 -#define _SET_IP_r11 1465 -#define _SET_IP_r22 1466 -#define _SET_IP_r33 1467 -#define _SET_UPDATE_r11 1468 -#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r02 1469 -#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r12 1470 -#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r22 1471 -#define _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r32 1472 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03 1473 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13 1474 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r23 1475 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33 1476 -#define _SPILL_OR_RELOAD_r01 1477 -#define _SPILL_OR_RELOAD_r02 1478 -#define _SPILL_OR_RELOAD_r03 1479 -#define _SPILL_OR_RELOAD_r10 1480 -#define _SPILL_OR_RELOAD_r12 1481 -#define _SPILL_OR_RELOAD_r13 1482 -#define _SPILL_OR_RELOAD_r20 1483 -#define _SPILL_OR_RELOAD_r21 1484 -#define _SPILL_OR_RELOAD_r23 1485 -#define _SPILL_OR_RELOAD_r30 1486 -#define _SPILL_OR_RELOAD_r31 1487 -#define _SPILL_OR_RELOAD_r32 1488 -#define _START_EXECUTOR_r00 1489 -#define _STORE_ATTR_r20 1490 -#define _STORE_ATTR_INSTANCE_VALUE_r21 1491 -#define _STORE_ATTR_SLOT_r21 1492 -#define _STORE_ATTR_WITH_HINT_r21 1493 -#define _STORE_DEREF_r10 1494 -#define _STORE_FAST_LOAD_FAST_r11 1495 -#define _STORE_FAST_STORE_FAST_r20 1496 -#define _STORE_GLOBAL_r10 1497 -#define _STORE_NAME_r10 1498 -#define _STORE_SLICE_r30 1499 -#define _STORE_SUBSCR_r30 1500 -#define _STORE_SUBSCR_DICT_r31 1501 -#define _STORE_SUBSCR_DICT_KNOWN_HASH_r31 1502 -#define _STORE_SUBSCR_LIST_INT_r32 1503 -#define _SWAP_r11 1504 -#define _SWAP_2_r02 1505 -#define _SWAP_2_r12 1506 -#define _SWAP_2_r22 1507 -#define _SWAP_2_r33 1508 -#define _SWAP_3_r03 1509 -#define _SWAP_3_r13 1510 -#define _SWAP_3_r23 1511 -#define _SWAP_3_r33 1512 -#define _SWAP_FAST_r01 1513 -#define _SWAP_FAST_r11 1514 -#define _SWAP_FAST_r22 1515 -#define _SWAP_FAST_r33 1516 -#define _SWAP_FAST_0_r01 1517 -#define _SWAP_FAST_0_r11 1518 -#define _SWAP_FAST_0_r22 1519 -#define _SWAP_FAST_0_r33 1520 -#define _SWAP_FAST_1_r01 1521 -#define _SWAP_FAST_1_r11 1522 -#define _SWAP_FAST_1_r22 1523 -#define _SWAP_FAST_1_r33 1524 -#define _SWAP_FAST_2_r01 1525 -#define _SWAP_FAST_2_r11 1526 -#define _SWAP_FAST_2_r22 1527 -#define _SWAP_FAST_2_r33 1528 -#define _SWAP_FAST_3_r01 1529 -#define _SWAP_FAST_3_r11 1530 -#define _SWAP_FAST_3_r22 1531 -#define _SWAP_FAST_3_r33 1532 -#define _SWAP_FAST_4_r01 1533 -#define _SWAP_FAST_4_r11 1534 -#define _SWAP_FAST_4_r22 1535 -#define _SWAP_FAST_4_r33 1536 -#define _SWAP_FAST_5_r01 1537 -#define _SWAP_FAST_5_r11 1538 -#define _SWAP_FAST_5_r22 1539 -#define _SWAP_FAST_5_r33 1540 -#define _SWAP_FAST_6_r01 1541 -#define _SWAP_FAST_6_r11 1542 -#define _SWAP_FAST_6_r22 1543 -#define _SWAP_FAST_6_r33 1544 -#define _SWAP_FAST_7_r01 1545 -#define _SWAP_FAST_7_r11 1546 -#define _SWAP_FAST_7_r22 1547 -#define _SWAP_FAST_7_r33 1548 -#define _TIER2_RESUME_CHECK_r00 1549 -#define _TIER2_RESUME_CHECK_r11 1550 -#define _TIER2_RESUME_CHECK_r22 1551 -#define _TIER2_RESUME_CHECK_r33 1552 -#define _TO_BOOL_r11 1553 -#define _TO_BOOL_BOOL_r01 1554 -#define _TO_BOOL_BOOL_r11 1555 -#define _TO_BOOL_BOOL_r22 1556 -#define _TO_BOOL_BOOL_r33 1557 -#define _TO_BOOL_INT_r02 1558 -#define _TO_BOOL_INT_r12 1559 -#define _TO_BOOL_INT_r23 1560 -#define _TO_BOOL_LIST_r02 1561 -#define _TO_BOOL_LIST_r12 1562 -#define _TO_BOOL_LIST_r23 1563 -#define _TO_BOOL_NONE_r01 1564 -#define _TO_BOOL_NONE_r11 1565 -#define _TO_BOOL_NONE_r22 1566 -#define _TO_BOOL_NONE_r33 1567 -#define _TO_BOOL_STR_r02 1568 -#define _TO_BOOL_STR_r12 1569 -#define _TO_BOOL_STR_r23 1570 -#define _TRACE_RECORD_r00 1571 -#define _UNARY_INVERT_r12 1572 -#define _UNARY_NEGATIVE_r12 1573 -#define _UNARY_NEGATIVE_FLOAT_INPLACE_r02 1574 -#define _UNARY_NEGATIVE_FLOAT_INPLACE_r12 1575 -#define _UNARY_NEGATIVE_FLOAT_INPLACE_r23 1576 -#define _UNARY_NOT_r01 1577 -#define _UNARY_NOT_r11 1578 -#define _UNARY_NOT_r22 1579 -#define _UNARY_NOT_r33 1580 -#define _UNPACK_EX_r10 1581 -#define _UNPACK_SEQUENCE_r10 1582 -#define _UNPACK_SEQUENCE_LIST_r10 1583 -#define _UNPACK_SEQUENCE_TUPLE_r10 1584 -#define _UNPACK_SEQUENCE_TWO_TUPLE_r12 1585 -#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r03 1586 -#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r13 1587 -#define _UNPACK_SEQUENCE_UNIQUE_TUPLE_r10 1588 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r02 1589 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r12 1590 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r23 1591 -#define _WITH_EXCEPT_START_r33 1592 -#define _YIELD_VALUE_r11 1593 -#define MAX_UOP_REGS_ID 1593 +#define _YIELD_VALUE 634 +#define MAX_UOP_ID 634 +#define _BINARY_OP_r23 635 +#define _BINARY_OP_ADD_FLOAT_r03 636 +#define _BINARY_OP_ADD_FLOAT_r13 637 +#define _BINARY_OP_ADD_FLOAT_r23 638 +#define _BINARY_OP_ADD_FLOAT_INPLACE_r03 639 +#define _BINARY_OP_ADD_FLOAT_INPLACE_r13 640 +#define _BINARY_OP_ADD_FLOAT_INPLACE_r23 641 +#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r03 642 +#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r13 643 +#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r23 644 +#define _BINARY_OP_ADD_INT_r03 645 +#define _BINARY_OP_ADD_INT_r13 646 +#define _BINARY_OP_ADD_INT_r23 647 +#define _BINARY_OP_ADD_INT_INPLACE_r03 648 +#define _BINARY_OP_ADD_INT_INPLACE_r13 649 +#define _BINARY_OP_ADD_INT_INPLACE_r23 650 +#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r03 651 +#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r13 652 +#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r23 653 +#define _BINARY_OP_ADD_UNICODE_r03 654 +#define _BINARY_OP_ADD_UNICODE_r13 655 +#define _BINARY_OP_ADD_UNICODE_r23 656 +#define _BINARY_OP_EXTEND_r23 657 +#define _BINARY_OP_INPLACE_ADD_UNICODE_r21 658 +#define _BINARY_OP_MULTIPLY_FLOAT_r03 659 +#define _BINARY_OP_MULTIPLY_FLOAT_r13 660 +#define _BINARY_OP_MULTIPLY_FLOAT_r23 661 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r03 662 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r13 663 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r23 664 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r03 665 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r13 666 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r23 667 +#define _BINARY_OP_MULTIPLY_INT_r03 668 +#define _BINARY_OP_MULTIPLY_INT_r13 669 +#define _BINARY_OP_MULTIPLY_INT_r23 670 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_r03 671 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_r13 672 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_r23 673 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r03 674 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r13 675 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r23 676 +#define _BINARY_OP_SUBSCR_CHECK_FUNC_r23 677 +#define _BINARY_OP_SUBSCR_DICT_r23 678 +#define _BINARY_OP_SUBSCR_DICT_KNOWN_HASH_r23 679 +#define _BINARY_OP_SUBSCR_INIT_CALL_r01 680 +#define _BINARY_OP_SUBSCR_INIT_CALL_r11 681 +#define _BINARY_OP_SUBSCR_INIT_CALL_r21 682 +#define _BINARY_OP_SUBSCR_INIT_CALL_r31 683 +#define _BINARY_OP_SUBSCR_LIST_INT_r23 684 +#define _BINARY_OP_SUBSCR_LIST_SLICE_r23 685 +#define _BINARY_OP_SUBSCR_STR_INT_r23 686 +#define _BINARY_OP_SUBSCR_TUPLE_INT_r03 687 +#define _BINARY_OP_SUBSCR_TUPLE_INT_r13 688 +#define _BINARY_OP_SUBSCR_TUPLE_INT_r23 689 +#define _BINARY_OP_SUBSCR_USTR_INT_r23 690 +#define _BINARY_OP_SUBTRACT_FLOAT_r03 691 +#define _BINARY_OP_SUBTRACT_FLOAT_r13 692 +#define _BINARY_OP_SUBTRACT_FLOAT_r23 693 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r03 694 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r13 695 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r23 696 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r03 697 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r13 698 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r23 699 +#define _BINARY_OP_SUBTRACT_INT_r03 700 +#define _BINARY_OP_SUBTRACT_INT_r13 701 +#define _BINARY_OP_SUBTRACT_INT_r23 702 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_r03 703 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_r13 704 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_r23 705 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r03 706 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r13 707 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r23 708 +#define _BINARY_SLICE_r31 709 +#define _BUILD_INTERPOLATION_r01 710 +#define _BUILD_LIST_r01 711 +#define _BUILD_MAP_r01 712 +#define _BUILD_SET_r01 713 +#define _BUILD_SLICE_r01 714 +#define _BUILD_STRING_r01 715 +#define _BUILD_TEMPLATE_r21 716 +#define _BUILD_TUPLE_r01 717 +#define _CALL_BUILTIN_CLASS_r01 718 +#define _CALL_BUILTIN_FAST_r01 719 +#define _CALL_BUILTIN_FAST_WITH_KEYWORDS_r01 720 +#define _CALL_BUILTIN_O_r03 721 +#define _CALL_FUNCTION_EX_NON_PY_GENERAL_r31 722 +#define _CALL_INTRINSIC_1_r12 723 +#define _CALL_INTRINSIC_2_r23 724 +#define _CALL_ISINSTANCE_r31 725 +#define _CALL_KW_NON_PY_r11 726 +#define _CALL_LEN_r33 727 +#define _CALL_LIST_APPEND_r03 728 +#define _CALL_LIST_APPEND_r13 729 +#define _CALL_LIST_APPEND_r23 730 +#define _CALL_LIST_APPEND_r33 731 +#define _CALL_METHOD_DESCRIPTOR_FAST_r01 732 +#define _CALL_METHOD_DESCRIPTOR_FAST_INLINE_r01 733 +#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r01 734 +#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_INLINE_r01 735 +#define _CALL_METHOD_DESCRIPTOR_NOARGS_r03 736 +#define _CALL_METHOD_DESCRIPTOR_NOARGS_INLINE_r03 737 +#define _CALL_METHOD_DESCRIPTOR_O_r03 738 +#define _CALL_METHOD_DESCRIPTOR_O_INLINE_r03 739 +#define _CALL_NON_PY_GENERAL_r01 740 +#define _CALL_STR_1_r32 741 +#define _CALL_TUPLE_1_r32 742 +#define _CALL_TYPE_1_r02 743 +#define _CALL_TYPE_1_r12 744 +#define _CALL_TYPE_1_r22 745 +#define _CALL_TYPE_1_r32 746 +#define _CHECK_AND_ALLOCATE_OBJECT_r00 747 +#define _CHECK_ATTR_CLASS_r01 748 +#define _CHECK_ATTR_CLASS_r11 749 +#define _CHECK_ATTR_CLASS_r22 750 +#define _CHECK_ATTR_CLASS_r33 751 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r01 752 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r11 753 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r22 754 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r33 755 +#define _CHECK_CALL_BOUND_METHOD_EXACT_ARGS_r00 756 +#define _CHECK_EG_MATCH_r22 757 +#define _CHECK_EXC_MATCH_r22 758 +#define _CHECK_FUNCTION_EXACT_ARGS_r00 759 +#define _CHECK_FUNCTION_VERSION_r00 760 +#define _CHECK_FUNCTION_VERSION_INLINE_r00 761 +#define _CHECK_FUNCTION_VERSION_INLINE_r11 762 +#define _CHECK_FUNCTION_VERSION_INLINE_r22 763 +#define _CHECK_FUNCTION_VERSION_INLINE_r33 764 +#define _CHECK_FUNCTION_VERSION_KW_r11 765 +#define _CHECK_IS_NOT_PY_CALLABLE_r00 766 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r03 767 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r13 768 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r23 769 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r33 770 +#define _CHECK_IS_NOT_PY_CALLABLE_KW_r11 771 +#define _CHECK_IS_PY_CALLABLE_EX_r03 772 +#define _CHECK_IS_PY_CALLABLE_EX_r13 773 +#define _CHECK_IS_PY_CALLABLE_EX_r23 774 +#define _CHECK_IS_PY_CALLABLE_EX_r33 775 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r01 776 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r11 777 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r22 778 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r33 779 +#define _CHECK_METHOD_VERSION_r00 780 +#define _CHECK_METHOD_VERSION_KW_r11 781 +#define _CHECK_PEP_523_r00 782 +#define _CHECK_PEP_523_r11 783 +#define _CHECK_PEP_523_r22 784 +#define _CHECK_PEP_523_r33 785 +#define _CHECK_PERIODIC_r00 786 +#define _CHECK_PERIODIC_AT_END_r00 787 +#define _CHECK_PERIODIC_IF_NOT_YIELD_FROM_r00 788 +#define _CHECK_RECURSION_LIMIT_r00 789 +#define _CHECK_RECURSION_LIMIT_r11 790 +#define _CHECK_RECURSION_LIMIT_r22 791 +#define _CHECK_RECURSION_LIMIT_r33 792 +#define _CHECK_RECURSION_REMAINING_r00 793 +#define _CHECK_RECURSION_REMAINING_r11 794 +#define _CHECK_RECURSION_REMAINING_r22 795 +#define _CHECK_RECURSION_REMAINING_r33 796 +#define _CHECK_STACK_SPACE_r00 797 +#define _CHECK_STACK_SPACE_OPERAND_r00 798 +#define _CHECK_STACK_SPACE_OPERAND_r11 799 +#define _CHECK_STACK_SPACE_OPERAND_r22 800 +#define _CHECK_STACK_SPACE_OPERAND_r33 801 +#define _CHECK_VALIDITY_r00 802 +#define _CHECK_VALIDITY_r11 803 +#define _CHECK_VALIDITY_r22 804 +#define _CHECK_VALIDITY_r33 805 +#define _COLD_DYNAMIC_EXIT_r00 806 +#define _COLD_EXIT_r00 807 +#define _COMPARE_OP_r21 808 +#define _COMPARE_OP_FLOAT_r03 809 +#define _COMPARE_OP_FLOAT_r13 810 +#define _COMPARE_OP_FLOAT_r23 811 +#define _COMPARE_OP_INT_r23 812 +#define _COMPARE_OP_STR_r23 813 +#define _CONTAINS_OP_r23 814 +#define _CONTAINS_OP_DICT_r23 815 +#define _CONTAINS_OP_SET_r23 816 +#define _CONVERT_VALUE_r11 817 +#define _COPY_r01 818 +#define _COPY_1_r02 819 +#define _COPY_1_r12 820 +#define _COPY_1_r23 821 +#define _COPY_2_r03 822 +#define _COPY_2_r13 823 +#define _COPY_2_r23 824 +#define _COPY_3_r03 825 +#define _COPY_3_r13 826 +#define _COPY_3_r23 827 +#define _COPY_3_r33 828 +#define _COPY_FREE_VARS_r00 829 +#define _COPY_FREE_VARS_r11 830 +#define _COPY_FREE_VARS_r22 831 +#define _COPY_FREE_VARS_r33 832 +#define _CREATE_INIT_FRAME_r01 833 +#define _DELETE_ATTR_r10 834 +#define _DELETE_DEREF_r00 835 +#define _DELETE_FAST_r00 836 +#define _DELETE_GLOBAL_r00 837 +#define _DELETE_NAME_r00 838 +#define _DELETE_SUBSCR_r20 839 +#define _DEOPT_r00 840 +#define _DEOPT_r10 841 +#define _DEOPT_r20 842 +#define _DEOPT_r30 843 +#define _DICT_MERGE_r11 844 +#define _DICT_UPDATE_r11 845 +#define _DO_CALL_r01 846 +#define _DO_CALL_FUNCTION_EX_r31 847 +#define _DO_CALL_KW_r11 848 +#define _DYNAMIC_EXIT_r00 849 +#define _DYNAMIC_EXIT_r10 850 +#define _DYNAMIC_EXIT_r20 851 +#define _DYNAMIC_EXIT_r30 852 +#define _END_FOR_r10 853 +#define _END_SEND_r31 854 +#define _ERROR_POP_N_r00 855 +#define _EXIT_INIT_CHECK_r10 856 +#define _EXIT_TRACE_r00 857 +#define _EXIT_TRACE_r10 858 +#define _EXIT_TRACE_r20 859 +#define _EXIT_TRACE_r30 860 +#define _EXPAND_METHOD_r00 861 +#define _EXPAND_METHOD_KW_r11 862 +#define _FATAL_ERROR_r00 863 +#define _FATAL_ERROR_r11 864 +#define _FATAL_ERROR_r22 865 +#define _FATAL_ERROR_r33 866 +#define _FORMAT_SIMPLE_r11 867 +#define _FORMAT_WITH_SPEC_r21 868 +#define _FOR_ITER_r23 869 +#define _FOR_ITER_GEN_FRAME_r03 870 +#define _FOR_ITER_GEN_FRAME_r13 871 +#define _FOR_ITER_GEN_FRAME_r23 872 +#define _FOR_ITER_TIER_TWO_r23 873 +#define _GET_AITER_r11 874 +#define _GET_ANEXT_r12 875 +#define _GET_AWAITABLE_r11 876 +#define _GET_ITER_r12 877 +#define _GET_LEN_r12 878 +#define _GUARD_BINARY_OP_EXTEND_r22 879 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r02 880 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r12 881 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r22 882 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r33 883 +#define _GUARD_BIT_IS_SET_POP_r00 884 +#define _GUARD_BIT_IS_SET_POP_r10 885 +#define _GUARD_BIT_IS_SET_POP_r21 886 +#define _GUARD_BIT_IS_SET_POP_r32 887 +#define _GUARD_BIT_IS_SET_POP_4_r00 888 +#define _GUARD_BIT_IS_SET_POP_4_r10 889 +#define _GUARD_BIT_IS_SET_POP_4_r21 890 +#define _GUARD_BIT_IS_SET_POP_4_r32 891 +#define _GUARD_BIT_IS_SET_POP_5_r00 892 +#define _GUARD_BIT_IS_SET_POP_5_r10 893 +#define _GUARD_BIT_IS_SET_POP_5_r21 894 +#define _GUARD_BIT_IS_SET_POP_5_r32 895 +#define _GUARD_BIT_IS_SET_POP_6_r00 896 +#define _GUARD_BIT_IS_SET_POP_6_r10 897 +#define _GUARD_BIT_IS_SET_POP_6_r21 898 +#define _GUARD_BIT_IS_SET_POP_6_r32 899 +#define _GUARD_BIT_IS_SET_POP_7_r00 900 +#define _GUARD_BIT_IS_SET_POP_7_r10 901 +#define _GUARD_BIT_IS_SET_POP_7_r21 902 +#define _GUARD_BIT_IS_SET_POP_7_r32 903 +#define _GUARD_BIT_IS_UNSET_POP_r00 904 +#define _GUARD_BIT_IS_UNSET_POP_r10 905 +#define _GUARD_BIT_IS_UNSET_POP_r21 906 +#define _GUARD_BIT_IS_UNSET_POP_r32 907 +#define _GUARD_BIT_IS_UNSET_POP_4_r00 908 +#define _GUARD_BIT_IS_UNSET_POP_4_r10 909 +#define _GUARD_BIT_IS_UNSET_POP_4_r21 910 +#define _GUARD_BIT_IS_UNSET_POP_4_r32 911 +#define _GUARD_BIT_IS_UNSET_POP_5_r00 912 +#define _GUARD_BIT_IS_UNSET_POP_5_r10 913 +#define _GUARD_BIT_IS_UNSET_POP_5_r21 914 +#define _GUARD_BIT_IS_UNSET_POP_5_r32 915 +#define _GUARD_BIT_IS_UNSET_POP_6_r00 916 +#define _GUARD_BIT_IS_UNSET_POP_6_r10 917 +#define _GUARD_BIT_IS_UNSET_POP_6_r21 918 +#define _GUARD_BIT_IS_UNSET_POP_6_r32 919 +#define _GUARD_BIT_IS_UNSET_POP_7_r00 920 +#define _GUARD_BIT_IS_UNSET_POP_7_r10 921 +#define _GUARD_BIT_IS_UNSET_POP_7_r21 922 +#define _GUARD_BIT_IS_UNSET_POP_7_r32 923 +#define _GUARD_CALLABLE_BUILTIN_FAST_r00 924 +#define _GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS_r00 925 +#define _GUARD_CALLABLE_BUILTIN_O_r00 926 +#define _GUARD_CALLABLE_ISINSTANCE_r03 927 +#define _GUARD_CALLABLE_ISINSTANCE_r13 928 +#define _GUARD_CALLABLE_ISINSTANCE_r23 929 +#define _GUARD_CALLABLE_ISINSTANCE_r33 930 +#define _GUARD_CALLABLE_LEN_r03 931 +#define _GUARD_CALLABLE_LEN_r13 932 +#define _GUARD_CALLABLE_LEN_r23 933 +#define _GUARD_CALLABLE_LEN_r33 934 +#define _GUARD_CALLABLE_LIST_APPEND_r03 935 +#define _GUARD_CALLABLE_LIST_APPEND_r13 936 +#define _GUARD_CALLABLE_LIST_APPEND_r23 937 +#define _GUARD_CALLABLE_LIST_APPEND_r33 938 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_r00 939 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r00 940 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_NOARGS_r00 941 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_O_r00 942 +#define _GUARD_CALLABLE_STR_1_r03 943 +#define _GUARD_CALLABLE_STR_1_r13 944 +#define _GUARD_CALLABLE_STR_1_r23 945 +#define _GUARD_CALLABLE_STR_1_r33 946 +#define _GUARD_CALLABLE_TUPLE_1_r03 947 +#define _GUARD_CALLABLE_TUPLE_1_r13 948 +#define _GUARD_CALLABLE_TUPLE_1_r23 949 +#define _GUARD_CALLABLE_TUPLE_1_r33 950 +#define _GUARD_CALLABLE_TYPE_1_r03 951 +#define _GUARD_CALLABLE_TYPE_1_r13 952 +#define _GUARD_CALLABLE_TYPE_1_r23 953 +#define _GUARD_CALLABLE_TYPE_1_r33 954 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r00 955 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r11 956 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r22 957 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r33 958 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r00 959 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r11 960 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r22 961 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r33 962 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r00 963 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r11 964 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r22 965 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r33 966 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r00 967 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r11 968 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r22 969 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r33 970 +#define _GUARD_DORV_NO_DICT_r01 971 +#define _GUARD_DORV_NO_DICT_r11 972 +#define _GUARD_DORV_NO_DICT_r22 973 +#define _GUARD_DORV_NO_DICT_r33 974 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r01 975 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r11 976 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r22 977 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r33 978 +#define _GUARD_GLOBALS_VERSION_r00 979 +#define _GUARD_GLOBALS_VERSION_r11 980 +#define _GUARD_GLOBALS_VERSION_r22 981 +#define _GUARD_GLOBALS_VERSION_r33 982 +#define _GUARD_IP_RETURN_GENERATOR_r00 983 +#define _GUARD_IP_RETURN_GENERATOR_r11 984 +#define _GUARD_IP_RETURN_GENERATOR_r22 985 +#define _GUARD_IP_RETURN_GENERATOR_r33 986 +#define _GUARD_IP_RETURN_VALUE_r00 987 +#define _GUARD_IP_RETURN_VALUE_r11 988 +#define _GUARD_IP_RETURN_VALUE_r22 989 +#define _GUARD_IP_RETURN_VALUE_r33 990 +#define _GUARD_IP_YIELD_VALUE_r00 991 +#define _GUARD_IP_YIELD_VALUE_r11 992 +#define _GUARD_IP_YIELD_VALUE_r22 993 +#define _GUARD_IP_YIELD_VALUE_r33 994 +#define _GUARD_IP__PUSH_FRAME_r00 995 +#define _GUARD_IP__PUSH_FRAME_r11 996 +#define _GUARD_IP__PUSH_FRAME_r22 997 +#define _GUARD_IP__PUSH_FRAME_r33 998 +#define _GUARD_IS_FALSE_POP_r00 999 +#define _GUARD_IS_FALSE_POP_r10 1000 +#define _GUARD_IS_FALSE_POP_r21 1001 +#define _GUARD_IS_FALSE_POP_r32 1002 +#define _GUARD_IS_NONE_POP_r00 1003 +#define _GUARD_IS_NONE_POP_r10 1004 +#define _GUARD_IS_NONE_POP_r21 1005 +#define _GUARD_IS_NONE_POP_r32 1006 +#define _GUARD_IS_NOT_NONE_POP_r10 1007 +#define _GUARD_IS_TRUE_POP_r00 1008 +#define _GUARD_IS_TRUE_POP_r10 1009 +#define _GUARD_IS_TRUE_POP_r21 1010 +#define _GUARD_IS_TRUE_POP_r32 1011 +#define _GUARD_KEYS_VERSION_r01 1012 +#define _GUARD_KEYS_VERSION_r11 1013 +#define _GUARD_KEYS_VERSION_r22 1014 +#define _GUARD_KEYS_VERSION_r33 1015 +#define _GUARD_LOAD_SUPER_ATTR_METHOD_r03 1016 +#define _GUARD_LOAD_SUPER_ATTR_METHOD_r13 1017 +#define _GUARD_LOAD_SUPER_ATTR_METHOD_r23 1018 +#define _GUARD_LOAD_SUPER_ATTR_METHOD_r33 1019 +#define _GUARD_NOS_ANY_DICT_r02 1020 +#define _GUARD_NOS_ANY_DICT_r12 1021 +#define _GUARD_NOS_ANY_DICT_r22 1022 +#define _GUARD_NOS_ANY_DICT_r33 1023 +#define _GUARD_NOS_COMPACT_ASCII_r02 1024 +#define _GUARD_NOS_COMPACT_ASCII_r12 1025 +#define _GUARD_NOS_COMPACT_ASCII_r22 1026 +#define _GUARD_NOS_COMPACT_ASCII_r33 1027 +#define _GUARD_NOS_DICT_r02 1028 +#define _GUARD_NOS_DICT_r12 1029 +#define _GUARD_NOS_DICT_r22 1030 +#define _GUARD_NOS_DICT_r33 1031 +#define _GUARD_NOS_FLOAT_r02 1032 +#define _GUARD_NOS_FLOAT_r12 1033 +#define _GUARD_NOS_FLOAT_r22 1034 +#define _GUARD_NOS_FLOAT_r33 1035 +#define _GUARD_NOS_INT_r02 1036 +#define _GUARD_NOS_INT_r12 1037 +#define _GUARD_NOS_INT_r22 1038 +#define _GUARD_NOS_INT_r33 1039 +#define _GUARD_NOS_LIST_r02 1040 +#define _GUARD_NOS_LIST_r12 1041 +#define _GUARD_NOS_LIST_r22 1042 +#define _GUARD_NOS_LIST_r33 1043 +#define _GUARD_NOS_NOT_NULL_r02 1044 +#define _GUARD_NOS_NOT_NULL_r12 1045 +#define _GUARD_NOS_NOT_NULL_r22 1046 +#define _GUARD_NOS_NOT_NULL_r33 1047 +#define _GUARD_NOS_NULL_r02 1048 +#define _GUARD_NOS_NULL_r12 1049 +#define _GUARD_NOS_NULL_r22 1050 +#define _GUARD_NOS_NULL_r33 1051 +#define _GUARD_NOS_OVERFLOWED_r02 1052 +#define _GUARD_NOS_OVERFLOWED_r12 1053 +#define _GUARD_NOS_OVERFLOWED_r22 1054 +#define _GUARD_NOS_OVERFLOWED_r33 1055 +#define _GUARD_NOS_TUPLE_r02 1056 +#define _GUARD_NOS_TUPLE_r12 1057 +#define _GUARD_NOS_TUPLE_r22 1058 +#define _GUARD_NOS_TUPLE_r33 1059 +#define _GUARD_NOS_TYPE_VERSION_r02 1060 +#define _GUARD_NOS_TYPE_VERSION_r12 1061 +#define _GUARD_NOS_TYPE_VERSION_r22 1062 +#define _GUARD_NOS_TYPE_VERSION_r33 1063 +#define _GUARD_NOS_UNICODE_r02 1064 +#define _GUARD_NOS_UNICODE_r12 1065 +#define _GUARD_NOS_UNICODE_r22 1066 +#define _GUARD_NOS_UNICODE_r33 1067 +#define _GUARD_NOT_EXHAUSTED_LIST_r02 1068 +#define _GUARD_NOT_EXHAUSTED_LIST_r12 1069 +#define _GUARD_NOT_EXHAUSTED_LIST_r22 1070 +#define _GUARD_NOT_EXHAUSTED_LIST_r33 1071 +#define _GUARD_NOT_EXHAUSTED_RANGE_r02 1072 +#define _GUARD_NOT_EXHAUSTED_RANGE_r12 1073 +#define _GUARD_NOT_EXHAUSTED_RANGE_r22 1074 +#define _GUARD_NOT_EXHAUSTED_RANGE_r33 1075 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r02 1076 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r12 1077 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r22 1078 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r33 1079 +#define _GUARD_THIRD_NULL_r03 1080 +#define _GUARD_THIRD_NULL_r13 1081 +#define _GUARD_THIRD_NULL_r23 1082 +#define _GUARD_THIRD_NULL_r33 1083 +#define _GUARD_TOS_ANY_DICT_r01 1084 +#define _GUARD_TOS_ANY_DICT_r11 1085 +#define _GUARD_TOS_ANY_DICT_r22 1086 +#define _GUARD_TOS_ANY_DICT_r33 1087 +#define _GUARD_TOS_ANY_SET_r01 1088 +#define _GUARD_TOS_ANY_SET_r11 1089 +#define _GUARD_TOS_ANY_SET_r22 1090 +#define _GUARD_TOS_ANY_SET_r33 1091 +#define _GUARD_TOS_DICT_r01 1092 +#define _GUARD_TOS_DICT_r11 1093 +#define _GUARD_TOS_DICT_r22 1094 +#define _GUARD_TOS_DICT_r33 1095 +#define _GUARD_TOS_FLOAT_r01 1096 +#define _GUARD_TOS_FLOAT_r11 1097 +#define _GUARD_TOS_FLOAT_r22 1098 +#define _GUARD_TOS_FLOAT_r33 1099 +#define _GUARD_TOS_FROZENDICT_r01 1100 +#define _GUARD_TOS_FROZENDICT_r11 1101 +#define _GUARD_TOS_FROZENDICT_r22 1102 +#define _GUARD_TOS_FROZENDICT_r33 1103 +#define _GUARD_TOS_FROZENSET_r01 1104 +#define _GUARD_TOS_FROZENSET_r11 1105 +#define _GUARD_TOS_FROZENSET_r22 1106 +#define _GUARD_TOS_FROZENSET_r33 1107 +#define _GUARD_TOS_INT_r01 1108 +#define _GUARD_TOS_INT_r11 1109 +#define _GUARD_TOS_INT_r22 1110 +#define _GUARD_TOS_INT_r33 1111 +#define _GUARD_TOS_LIST_r01 1112 +#define _GUARD_TOS_LIST_r11 1113 +#define _GUARD_TOS_LIST_r22 1114 +#define _GUARD_TOS_LIST_r33 1115 +#define _GUARD_TOS_OVERFLOWED_r01 1116 +#define _GUARD_TOS_OVERFLOWED_r11 1117 +#define _GUARD_TOS_OVERFLOWED_r22 1118 +#define _GUARD_TOS_OVERFLOWED_r33 1119 +#define _GUARD_TOS_SET_r01 1120 +#define _GUARD_TOS_SET_r11 1121 +#define _GUARD_TOS_SET_r22 1122 +#define _GUARD_TOS_SET_r33 1123 +#define _GUARD_TOS_SLICE_r01 1124 +#define _GUARD_TOS_SLICE_r11 1125 +#define _GUARD_TOS_SLICE_r22 1126 +#define _GUARD_TOS_SLICE_r33 1127 +#define _GUARD_TOS_TUPLE_r01 1128 +#define _GUARD_TOS_TUPLE_r11 1129 +#define _GUARD_TOS_TUPLE_r22 1130 +#define _GUARD_TOS_TUPLE_r33 1131 +#define _GUARD_TOS_UNICODE_r01 1132 +#define _GUARD_TOS_UNICODE_r11 1133 +#define _GUARD_TOS_UNICODE_r22 1134 +#define _GUARD_TOS_UNICODE_r33 1135 +#define _GUARD_TYPE_VERSION_r01 1136 +#define _GUARD_TYPE_VERSION_r11 1137 +#define _GUARD_TYPE_VERSION_r22 1138 +#define _GUARD_TYPE_VERSION_r33 1139 +#define _GUARD_TYPE_VERSION_LOCKED_r01 1140 +#define _GUARD_TYPE_VERSION_LOCKED_r11 1141 +#define _GUARD_TYPE_VERSION_LOCKED_r22 1142 +#define _GUARD_TYPE_VERSION_LOCKED_r33 1143 +#define _HANDLE_PENDING_AND_DEOPT_r00 1144 +#define _HANDLE_PENDING_AND_DEOPT_r10 1145 +#define _HANDLE_PENDING_AND_DEOPT_r20 1146 +#define _HANDLE_PENDING_AND_DEOPT_r30 1147 +#define _IMPORT_FROM_r12 1148 +#define _IMPORT_NAME_r21 1149 +#define _INIT_CALL_BOUND_METHOD_EXACT_ARGS_r00 1150 +#define _INIT_CALL_PY_EXACT_ARGS_r01 1151 +#define _INIT_CALL_PY_EXACT_ARGS_0_r01 1152 +#define _INIT_CALL_PY_EXACT_ARGS_1_r01 1153 +#define _INIT_CALL_PY_EXACT_ARGS_2_r01 1154 +#define _INIT_CALL_PY_EXACT_ARGS_3_r01 1155 +#define _INIT_CALL_PY_EXACT_ARGS_4_r01 1156 +#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r03 1157 +#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r13 1158 +#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r23 1159 +#define _INSERT_NULL_r10 1160 +#define _INSTRUMENTED_FOR_ITER_r23 1161 +#define _INSTRUMENTED_INSTRUCTION_r00 1162 +#define _INSTRUMENTED_JUMP_FORWARD_r00 1163 +#define _INSTRUMENTED_JUMP_FORWARD_r11 1164 +#define _INSTRUMENTED_JUMP_FORWARD_r22 1165 +#define _INSTRUMENTED_JUMP_FORWARD_r33 1166 +#define _INSTRUMENTED_LINE_r00 1167 +#define _INSTRUMENTED_NOT_TAKEN_r00 1168 +#define _INSTRUMENTED_NOT_TAKEN_r11 1169 +#define _INSTRUMENTED_NOT_TAKEN_r22 1170 +#define _INSTRUMENTED_NOT_TAKEN_r33 1171 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r00 1172 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r10 1173 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r21 1174 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r32 1175 +#define _INSTRUMENTED_POP_JUMP_IF_NONE_r10 1176 +#define _INSTRUMENTED_POP_JUMP_IF_NOT_NONE_r10 1177 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r00 1178 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r10 1179 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r21 1180 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r32 1181 +#define _IS_NONE_r11 1182 +#define _IS_OP_r03 1183 +#define _IS_OP_r13 1184 +#define _IS_OP_r23 1185 +#define _ITER_CHECK_LIST_r02 1186 +#define _ITER_CHECK_LIST_r12 1187 +#define _ITER_CHECK_LIST_r22 1188 +#define _ITER_CHECK_LIST_r33 1189 +#define _ITER_CHECK_RANGE_r02 1190 +#define _ITER_CHECK_RANGE_r12 1191 +#define _ITER_CHECK_RANGE_r22 1192 +#define _ITER_CHECK_RANGE_r33 1193 +#define _ITER_CHECK_TUPLE_r02 1194 +#define _ITER_CHECK_TUPLE_r12 1195 +#define _ITER_CHECK_TUPLE_r22 1196 +#define _ITER_CHECK_TUPLE_r33 1197 +#define _ITER_JUMP_LIST_r02 1198 +#define _ITER_JUMP_LIST_r12 1199 +#define _ITER_JUMP_LIST_r22 1200 +#define _ITER_JUMP_LIST_r33 1201 +#define _ITER_JUMP_RANGE_r02 1202 +#define _ITER_JUMP_RANGE_r12 1203 +#define _ITER_JUMP_RANGE_r22 1204 +#define _ITER_JUMP_RANGE_r33 1205 +#define _ITER_JUMP_TUPLE_r02 1206 +#define _ITER_JUMP_TUPLE_r12 1207 +#define _ITER_JUMP_TUPLE_r22 1208 +#define _ITER_JUMP_TUPLE_r33 1209 +#define _ITER_NEXT_LIST_r23 1210 +#define _ITER_NEXT_LIST_TIER_TWO_r23 1211 +#define _ITER_NEXT_RANGE_r03 1212 +#define _ITER_NEXT_RANGE_r13 1213 +#define _ITER_NEXT_RANGE_r23 1214 +#define _ITER_NEXT_TUPLE_r03 1215 +#define _ITER_NEXT_TUPLE_r13 1216 +#define _ITER_NEXT_TUPLE_r23 1217 +#define _JUMP_BACKWARD_NO_INTERRUPT_r00 1218 +#define _JUMP_BACKWARD_NO_INTERRUPT_r11 1219 +#define _JUMP_BACKWARD_NO_INTERRUPT_r22 1220 +#define _JUMP_BACKWARD_NO_INTERRUPT_r33 1221 +#define _JUMP_TO_TOP_r00 1222 +#define _LIST_APPEND_r10 1223 +#define _LIST_EXTEND_r11 1224 +#define _LOAD_ATTR_r10 1225 +#define _LOAD_ATTR_CLASS_r11 1226 +#define _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN_r11 1227 +#define _LOAD_ATTR_INSTANCE_VALUE_r02 1228 +#define _LOAD_ATTR_INSTANCE_VALUE_r12 1229 +#define _LOAD_ATTR_INSTANCE_VALUE_r23 1230 +#define _LOAD_ATTR_METHOD_LAZY_DICT_r02 1231 +#define _LOAD_ATTR_METHOD_LAZY_DICT_r12 1232 +#define _LOAD_ATTR_METHOD_LAZY_DICT_r23 1233 +#define _LOAD_ATTR_METHOD_NO_DICT_r02 1234 +#define _LOAD_ATTR_METHOD_NO_DICT_r12 1235 +#define _LOAD_ATTR_METHOD_NO_DICT_r23 1236 +#define _LOAD_ATTR_METHOD_WITH_VALUES_r02 1237 +#define _LOAD_ATTR_METHOD_WITH_VALUES_r12 1238 +#define _LOAD_ATTR_METHOD_WITH_VALUES_r23 1239 +#define _LOAD_ATTR_MODULE_r12 1240 +#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT_r11 1241 +#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES_r11 1242 +#define _LOAD_ATTR_PROPERTY_FRAME_r11 1243 +#define _LOAD_ATTR_SLOT_r02 1244 +#define _LOAD_ATTR_SLOT_r12 1245 +#define _LOAD_ATTR_SLOT_r23 1246 +#define _LOAD_ATTR_WITH_HINT_r12 1247 +#define _LOAD_BUILD_CLASS_r01 1248 +#define _LOAD_BYTECODE_r00 1249 +#define _LOAD_COMMON_CONSTANT_r01 1250 +#define _LOAD_COMMON_CONSTANT_r12 1251 +#define _LOAD_COMMON_CONSTANT_r23 1252 +#define _LOAD_CONST_r01 1253 +#define _LOAD_CONST_r12 1254 +#define _LOAD_CONST_r23 1255 +#define _LOAD_CONST_INLINE_r01 1256 +#define _LOAD_CONST_INLINE_r12 1257 +#define _LOAD_CONST_INLINE_r23 1258 +#define _LOAD_CONST_INLINE_BORROW_r01 1259 +#define _LOAD_CONST_INLINE_BORROW_r12 1260 +#define _LOAD_CONST_INLINE_BORROW_r23 1261 +#define _LOAD_DEREF_r01 1262 +#define _LOAD_FAST_r01 1263 +#define _LOAD_FAST_r12 1264 +#define _LOAD_FAST_r23 1265 +#define _LOAD_FAST_0_r01 1266 +#define _LOAD_FAST_0_r12 1267 +#define _LOAD_FAST_0_r23 1268 +#define _LOAD_FAST_1_r01 1269 +#define _LOAD_FAST_1_r12 1270 +#define _LOAD_FAST_1_r23 1271 +#define _LOAD_FAST_2_r01 1272 +#define _LOAD_FAST_2_r12 1273 +#define _LOAD_FAST_2_r23 1274 +#define _LOAD_FAST_3_r01 1275 +#define _LOAD_FAST_3_r12 1276 +#define _LOAD_FAST_3_r23 1277 +#define _LOAD_FAST_4_r01 1278 +#define _LOAD_FAST_4_r12 1279 +#define _LOAD_FAST_4_r23 1280 +#define _LOAD_FAST_5_r01 1281 +#define _LOAD_FAST_5_r12 1282 +#define _LOAD_FAST_5_r23 1283 +#define _LOAD_FAST_6_r01 1284 +#define _LOAD_FAST_6_r12 1285 +#define _LOAD_FAST_6_r23 1286 +#define _LOAD_FAST_7_r01 1287 +#define _LOAD_FAST_7_r12 1288 +#define _LOAD_FAST_7_r23 1289 +#define _LOAD_FAST_AND_CLEAR_r01 1290 +#define _LOAD_FAST_AND_CLEAR_r12 1291 +#define _LOAD_FAST_AND_CLEAR_r23 1292 +#define _LOAD_FAST_BORROW_r01 1293 +#define _LOAD_FAST_BORROW_r12 1294 +#define _LOAD_FAST_BORROW_r23 1295 +#define _LOAD_FAST_BORROW_0_r01 1296 +#define _LOAD_FAST_BORROW_0_r12 1297 +#define _LOAD_FAST_BORROW_0_r23 1298 +#define _LOAD_FAST_BORROW_1_r01 1299 +#define _LOAD_FAST_BORROW_1_r12 1300 +#define _LOAD_FAST_BORROW_1_r23 1301 +#define _LOAD_FAST_BORROW_2_r01 1302 +#define _LOAD_FAST_BORROW_2_r12 1303 +#define _LOAD_FAST_BORROW_2_r23 1304 +#define _LOAD_FAST_BORROW_3_r01 1305 +#define _LOAD_FAST_BORROW_3_r12 1306 +#define _LOAD_FAST_BORROW_3_r23 1307 +#define _LOAD_FAST_BORROW_4_r01 1308 +#define _LOAD_FAST_BORROW_4_r12 1309 +#define _LOAD_FAST_BORROW_4_r23 1310 +#define _LOAD_FAST_BORROW_5_r01 1311 +#define _LOAD_FAST_BORROW_5_r12 1312 +#define _LOAD_FAST_BORROW_5_r23 1313 +#define _LOAD_FAST_BORROW_6_r01 1314 +#define _LOAD_FAST_BORROW_6_r12 1315 +#define _LOAD_FAST_BORROW_6_r23 1316 +#define _LOAD_FAST_BORROW_7_r01 1317 +#define _LOAD_FAST_BORROW_7_r12 1318 +#define _LOAD_FAST_BORROW_7_r23 1319 +#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r02 1320 +#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r13 1321 +#define _LOAD_FAST_CHECK_r01 1322 +#define _LOAD_FAST_CHECK_r12 1323 +#define _LOAD_FAST_CHECK_r23 1324 +#define _LOAD_FAST_LOAD_FAST_r02 1325 +#define _LOAD_FAST_LOAD_FAST_r13 1326 +#define _LOAD_FROM_DICT_OR_DEREF_r11 1327 +#define _LOAD_FROM_DICT_OR_GLOBALS_r11 1328 +#define _LOAD_GLOBAL_r00 1329 +#define _LOAD_GLOBAL_BUILTINS_r01 1330 +#define _LOAD_GLOBAL_MODULE_r01 1331 +#define _LOAD_LOCALS_r01 1332 +#define _LOAD_LOCALS_r12 1333 +#define _LOAD_LOCALS_r23 1334 +#define _LOAD_NAME_r01 1335 +#define _LOAD_SMALL_INT_r01 1336 +#define _LOAD_SMALL_INT_r12 1337 +#define _LOAD_SMALL_INT_r23 1338 +#define _LOAD_SMALL_INT_0_r01 1339 +#define _LOAD_SMALL_INT_0_r12 1340 +#define _LOAD_SMALL_INT_0_r23 1341 +#define _LOAD_SMALL_INT_1_r01 1342 +#define _LOAD_SMALL_INT_1_r12 1343 +#define _LOAD_SMALL_INT_1_r23 1344 +#define _LOAD_SMALL_INT_2_r01 1345 +#define _LOAD_SMALL_INT_2_r12 1346 +#define _LOAD_SMALL_INT_2_r23 1347 +#define _LOAD_SMALL_INT_3_r01 1348 +#define _LOAD_SMALL_INT_3_r12 1349 +#define _LOAD_SMALL_INT_3_r23 1350 +#define _LOAD_SPECIAL_r00 1351 +#define _LOAD_SUPER_ATTR_ATTR_r31 1352 +#define _LOAD_SUPER_ATTR_METHOD_r32 1353 +#define _LOCK_OBJECT_r01 1354 +#define _LOCK_OBJECT_r11 1355 +#define _LOCK_OBJECT_r22 1356 +#define _LOCK_OBJECT_r33 1357 +#define _MAKE_CALLARGS_A_TUPLE_r33 1358 +#define _MAKE_CELL_r00 1359 +#define _MAKE_FUNCTION_r12 1360 +#define _MAKE_HEAP_SAFE_r01 1361 +#define _MAKE_HEAP_SAFE_r11 1362 +#define _MAKE_HEAP_SAFE_r22 1363 +#define _MAKE_HEAP_SAFE_r33 1364 +#define _MAKE_WARM_r00 1365 +#define _MAKE_WARM_r11 1366 +#define _MAKE_WARM_r22 1367 +#define _MAKE_WARM_r33 1368 +#define _MAP_ADD_r20 1369 +#define _MATCH_CLASS_r33 1370 +#define _MATCH_KEYS_r23 1371 +#define _MATCH_MAPPING_r02 1372 +#define _MATCH_MAPPING_r12 1373 +#define _MATCH_MAPPING_r23 1374 +#define _MATCH_SEQUENCE_r02 1375 +#define _MATCH_SEQUENCE_r12 1376 +#define _MATCH_SEQUENCE_r23 1377 +#define _MAYBE_EXPAND_METHOD_r00 1378 +#define _MAYBE_EXPAND_METHOD_KW_r11 1379 +#define _MONITOR_CALL_r00 1380 +#define _MONITOR_CALL_KW_r11 1381 +#define _MONITOR_JUMP_BACKWARD_r00 1382 +#define _MONITOR_JUMP_BACKWARD_r11 1383 +#define _MONITOR_JUMP_BACKWARD_r22 1384 +#define _MONITOR_JUMP_BACKWARD_r33 1385 +#define _MONITOR_RESUME_r00 1386 +#define _NOP_r00 1387 +#define _NOP_r11 1388 +#define _NOP_r22 1389 +#define _NOP_r33 1390 +#define _POP_CALL_r20 1391 +#define _POP_CALL_ONE_r30 1392 +#define _POP_CALL_TWO_r30 1393 +#define _POP_EXCEPT_r10 1394 +#define _POP_ITER_r20 1395 +#define _POP_JUMP_IF_FALSE_r00 1396 +#define _POP_JUMP_IF_FALSE_r10 1397 +#define _POP_JUMP_IF_FALSE_r21 1398 +#define _POP_JUMP_IF_FALSE_r32 1399 +#define _POP_JUMP_IF_TRUE_r00 1400 +#define _POP_JUMP_IF_TRUE_r10 1401 +#define _POP_JUMP_IF_TRUE_r21 1402 +#define _POP_JUMP_IF_TRUE_r32 1403 +#define _POP_TOP_r10 1404 +#define _POP_TOP_FLOAT_r00 1405 +#define _POP_TOP_FLOAT_r10 1406 +#define _POP_TOP_FLOAT_r21 1407 +#define _POP_TOP_FLOAT_r32 1408 +#define _POP_TOP_INT_r00 1409 +#define _POP_TOP_INT_r10 1410 +#define _POP_TOP_INT_r21 1411 +#define _POP_TOP_INT_r32 1412 +#define _POP_TOP_LOAD_CONST_INLINE_r11 1413 +#define _POP_TOP_LOAD_CONST_INLINE_BORROW_r11 1414 +#define _POP_TOP_NOP_r00 1415 +#define _POP_TOP_NOP_r10 1416 +#define _POP_TOP_NOP_r21 1417 +#define _POP_TOP_NOP_r32 1418 +#define _POP_TOP_UNICODE_r00 1419 +#define _POP_TOP_UNICODE_r10 1420 +#define _POP_TOP_UNICODE_r21 1421 +#define _POP_TOP_UNICODE_r32 1422 +#define _POP_TWO_r20 1423 +#define _POP_TWO_LOAD_CONST_INLINE_BORROW_r21 1424 +#define _PUSH_EXC_INFO_r02 1425 +#define _PUSH_EXC_INFO_r12 1426 +#define _PUSH_EXC_INFO_r23 1427 +#define _PUSH_FRAME_r10 1428 +#define _PUSH_NULL_r01 1429 +#define _PUSH_NULL_r12 1430 +#define _PUSH_NULL_r23 1431 +#define _PUSH_NULL_CONDITIONAL_r00 1432 +#define _PY_FRAME_EX_r31 1433 +#define _PY_FRAME_GENERAL_r01 1434 +#define _PY_FRAME_KW_r11 1435 +#define _REPLACE_WITH_TRUE_r02 1436 +#define _REPLACE_WITH_TRUE_r12 1437 +#define _REPLACE_WITH_TRUE_r23 1438 +#define _RESUME_CHECK_r00 1439 +#define _RESUME_CHECK_r11 1440 +#define _RESUME_CHECK_r22 1441 +#define _RESUME_CHECK_r33 1442 +#define _RETURN_GENERATOR_r01 1443 +#define _RETURN_VALUE_r11 1444 +#define _SAVE_RETURN_OFFSET_r00 1445 +#define _SAVE_RETURN_OFFSET_r11 1446 +#define _SAVE_RETURN_OFFSET_r22 1447 +#define _SAVE_RETURN_OFFSET_r33 1448 +#define _SEND_r33 1449 +#define _SEND_GEN_FRAME_r33 1450 +#define _SETUP_ANNOTATIONS_r00 1451 +#define _SET_ADD_r10 1452 +#define _SET_FUNCTION_ATTRIBUTE_r01 1453 +#define _SET_FUNCTION_ATTRIBUTE_r11 1454 +#define _SET_FUNCTION_ATTRIBUTE_r21 1455 +#define _SET_FUNCTION_ATTRIBUTE_r32 1456 +#define _SET_IP_r00 1457 +#define _SET_IP_r11 1458 +#define _SET_IP_r22 1459 +#define _SET_IP_r33 1460 +#define _SET_UPDATE_r11 1461 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03 1462 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13 1463 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r23 1464 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33 1465 +#define _SPILL_OR_RELOAD_r01 1466 +#define _SPILL_OR_RELOAD_r02 1467 +#define _SPILL_OR_RELOAD_r03 1468 +#define _SPILL_OR_RELOAD_r10 1469 +#define _SPILL_OR_RELOAD_r12 1470 +#define _SPILL_OR_RELOAD_r13 1471 +#define _SPILL_OR_RELOAD_r20 1472 +#define _SPILL_OR_RELOAD_r21 1473 +#define _SPILL_OR_RELOAD_r23 1474 +#define _SPILL_OR_RELOAD_r30 1475 +#define _SPILL_OR_RELOAD_r31 1476 +#define _SPILL_OR_RELOAD_r32 1477 +#define _START_EXECUTOR_r00 1478 +#define _STORE_ATTR_r20 1479 +#define _STORE_ATTR_INSTANCE_VALUE_r21 1480 +#define _STORE_ATTR_SLOT_r21 1481 +#define _STORE_ATTR_WITH_HINT_r21 1482 +#define _STORE_DEREF_r10 1483 +#define _STORE_FAST_LOAD_FAST_r11 1484 +#define _STORE_FAST_STORE_FAST_r20 1485 +#define _STORE_GLOBAL_r10 1486 +#define _STORE_NAME_r10 1487 +#define _STORE_SLICE_r30 1488 +#define _STORE_SUBSCR_r30 1489 +#define _STORE_SUBSCR_DICT_r31 1490 +#define _STORE_SUBSCR_DICT_KNOWN_HASH_r31 1491 +#define _STORE_SUBSCR_LIST_INT_r32 1492 +#define _SWAP_r11 1493 +#define _SWAP_2_r02 1494 +#define _SWAP_2_r12 1495 +#define _SWAP_2_r22 1496 +#define _SWAP_2_r33 1497 +#define _SWAP_3_r03 1498 +#define _SWAP_3_r13 1499 +#define _SWAP_3_r23 1500 +#define _SWAP_3_r33 1501 +#define _SWAP_FAST_r01 1502 +#define _SWAP_FAST_r11 1503 +#define _SWAP_FAST_r22 1504 +#define _SWAP_FAST_r33 1505 +#define _SWAP_FAST_0_r01 1506 +#define _SWAP_FAST_0_r11 1507 +#define _SWAP_FAST_0_r22 1508 +#define _SWAP_FAST_0_r33 1509 +#define _SWAP_FAST_1_r01 1510 +#define _SWAP_FAST_1_r11 1511 +#define _SWAP_FAST_1_r22 1512 +#define _SWAP_FAST_1_r33 1513 +#define _SWAP_FAST_2_r01 1514 +#define _SWAP_FAST_2_r11 1515 +#define _SWAP_FAST_2_r22 1516 +#define _SWAP_FAST_2_r33 1517 +#define _SWAP_FAST_3_r01 1518 +#define _SWAP_FAST_3_r11 1519 +#define _SWAP_FAST_3_r22 1520 +#define _SWAP_FAST_3_r33 1521 +#define _SWAP_FAST_4_r01 1522 +#define _SWAP_FAST_4_r11 1523 +#define _SWAP_FAST_4_r22 1524 +#define _SWAP_FAST_4_r33 1525 +#define _SWAP_FAST_5_r01 1526 +#define _SWAP_FAST_5_r11 1527 +#define _SWAP_FAST_5_r22 1528 +#define _SWAP_FAST_5_r33 1529 +#define _SWAP_FAST_6_r01 1530 +#define _SWAP_FAST_6_r11 1531 +#define _SWAP_FAST_6_r22 1532 +#define _SWAP_FAST_6_r33 1533 +#define _SWAP_FAST_7_r01 1534 +#define _SWAP_FAST_7_r11 1535 +#define _SWAP_FAST_7_r22 1536 +#define _SWAP_FAST_7_r33 1537 +#define _TIER2_RESUME_CHECK_r00 1538 +#define _TIER2_RESUME_CHECK_r11 1539 +#define _TIER2_RESUME_CHECK_r22 1540 +#define _TIER2_RESUME_CHECK_r33 1541 +#define _TO_BOOL_r11 1542 +#define _TO_BOOL_BOOL_r01 1543 +#define _TO_BOOL_BOOL_r11 1544 +#define _TO_BOOL_BOOL_r22 1545 +#define _TO_BOOL_BOOL_r33 1546 +#define _TO_BOOL_INT_r02 1547 +#define _TO_BOOL_INT_r12 1548 +#define _TO_BOOL_INT_r23 1549 +#define _TO_BOOL_LIST_r02 1550 +#define _TO_BOOL_LIST_r12 1551 +#define _TO_BOOL_LIST_r23 1552 +#define _TO_BOOL_NONE_r01 1553 +#define _TO_BOOL_NONE_r11 1554 +#define _TO_BOOL_NONE_r22 1555 +#define _TO_BOOL_NONE_r33 1556 +#define _TO_BOOL_STR_r02 1557 +#define _TO_BOOL_STR_r12 1558 +#define _TO_BOOL_STR_r23 1559 +#define _TRACE_RECORD_r00 1560 +#define _UNARY_INVERT_r12 1561 +#define _UNARY_NEGATIVE_r12 1562 +#define _UNARY_NEGATIVE_FLOAT_INPLACE_r02 1563 +#define _UNARY_NEGATIVE_FLOAT_INPLACE_r12 1564 +#define _UNARY_NEGATIVE_FLOAT_INPLACE_r23 1565 +#define _UNARY_NOT_r01 1566 +#define _UNARY_NOT_r11 1567 +#define _UNARY_NOT_r22 1568 +#define _UNARY_NOT_r33 1569 +#define _UNPACK_EX_r10 1570 +#define _UNPACK_SEQUENCE_r10 1571 +#define _UNPACK_SEQUENCE_LIST_r10 1572 +#define _UNPACK_SEQUENCE_TUPLE_r10 1573 +#define _UNPACK_SEQUENCE_TWO_TUPLE_r12 1574 +#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r03 1575 +#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r13 1576 +#define _UNPACK_SEQUENCE_UNIQUE_TUPLE_r10 1577 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r02 1578 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r12 1579 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r23 1580 +#define _WITH_EXCEPT_START_r33 1581 +#define _YIELD_VALUE_r11 1582 +#define MAX_UOP_REGS_ID 1582 #ifdef __cplusplus } diff --git a/Include/internal/pycore_uop_metadata.h b/Include/internal/pycore_uop_metadata.h index 9aff501d70b1b7..d341213381c76c 100644 --- a/Include/internal/pycore_uop_metadata.h +++ b/Include/internal/pycore_uop_metadata.h @@ -388,12 +388,8 @@ const uint32_t _PyUop_Flags[MAX_UOP_ID+1] = { [_POP_CALL_TWO] = HAS_ESCAPES_FLAG, [_POP_TOP_LOAD_CONST_INLINE_BORROW] = HAS_ESCAPES_FLAG, [_POP_TWO_LOAD_CONST_INLINE_BORROW] = HAS_ESCAPES_FLAG, - [_POP_CALL_LOAD_CONST_INLINE_BORROW] = HAS_ESCAPES_FLAG, - [_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW] = HAS_ESCAPES_FLAG, [_INSERT_2_LOAD_CONST_INLINE_BORROW] = 0, - [_SHUFFLE_2_LOAD_CONST_INLINE_BORROW] = 0, [_SHUFFLE_3_LOAD_CONST_INLINE_BORROW] = 0, - [_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW] = HAS_ESCAPES_FLAG, [_START_EXECUTOR] = HAS_DEOPT_FLAG, [_MAKE_WARM] = 0, [_FATAL_ERROR] = 0, @@ -3613,24 +3609,6 @@ const _PyUopCachingInfo _PyUop_Caching[MAX_UOP_ID+1] = { { -1, -1, -1 }, }, }, - [_POP_CALL_LOAD_CONST_INLINE_BORROW] = { - .best = { 2, 2, 2, 2 }, - .entries = { - { -1, -1, -1 }, - { -1, -1, -1 }, - { 1, 2, _POP_CALL_LOAD_CONST_INLINE_BORROW_r21 }, - { -1, -1, -1 }, - }, - }, - [_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW] = { - .best = { 3, 3, 3, 3 }, - .entries = { - { -1, -1, -1 }, - { -1, -1, -1 }, - { -1, -1, -1 }, - { 1, 3, _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW_r31 }, - }, - }, [_INSERT_2_LOAD_CONST_INLINE_BORROW] = { .best = { 0, 1, 2, 2 }, .entries = { @@ -3640,15 +3618,6 @@ const _PyUopCachingInfo _PyUop_Caching[MAX_UOP_ID+1] = { { -1, -1, -1 }, }, }, - [_SHUFFLE_2_LOAD_CONST_INLINE_BORROW] = { - .best = { 0, 1, 2, 3 }, - .entries = { - { 2, 0, _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r02 }, - { 2, 1, _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r12 }, - { 2, 2, _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r22 }, - { 2, 3, _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r32 }, - }, - }, [_SHUFFLE_3_LOAD_CONST_INLINE_BORROW] = { .best = { 0, 1, 2, 3 }, .entries = { @@ -3658,15 +3627,6 @@ const _PyUopCachingInfo _PyUop_Caching[MAX_UOP_ID+1] = { { 3, 3, _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33 }, }, }, - [_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW] = { - .best = { 3, 3, 3, 3 }, - .entries = { - { -1, -1, -1 }, - { -1, -1, -1 }, - { -1, -1, -1 }, - { 1, 3, _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW_r31 }, - }, - }, [_START_EXECUTOR] = { .best = { 0, 0, 0, 0 }, .entries = { @@ -4627,20 +4587,13 @@ const uint16_t _PyUop_Uncached[MAX_UOP_REGS_ID+1] = { [_POP_CALL_TWO_r30] = _POP_CALL_TWO, [_POP_TOP_LOAD_CONST_INLINE_BORROW_r11] = _POP_TOP_LOAD_CONST_INLINE_BORROW, [_POP_TWO_LOAD_CONST_INLINE_BORROW_r21] = _POP_TWO_LOAD_CONST_INLINE_BORROW, - [_POP_CALL_LOAD_CONST_INLINE_BORROW_r21] = _POP_CALL_LOAD_CONST_INLINE_BORROW, - [_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW_r31] = _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW, [_INSERT_2_LOAD_CONST_INLINE_BORROW_r03] = _INSERT_2_LOAD_CONST_INLINE_BORROW, [_INSERT_2_LOAD_CONST_INLINE_BORROW_r13] = _INSERT_2_LOAD_CONST_INLINE_BORROW, [_INSERT_2_LOAD_CONST_INLINE_BORROW_r23] = _INSERT_2_LOAD_CONST_INLINE_BORROW, - [_SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r02] = _SHUFFLE_2_LOAD_CONST_INLINE_BORROW, - [_SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r12] = _SHUFFLE_2_LOAD_CONST_INLINE_BORROW, - [_SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r22] = _SHUFFLE_2_LOAD_CONST_INLINE_BORROW, - [_SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r32] = _SHUFFLE_2_LOAD_CONST_INLINE_BORROW, [_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03] = _SHUFFLE_3_LOAD_CONST_INLINE_BORROW, [_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13] = _SHUFFLE_3_LOAD_CONST_INLINE_BORROW, [_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r23] = _SHUFFLE_3_LOAD_CONST_INLINE_BORROW, [_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33] = _SHUFFLE_3_LOAD_CONST_INLINE_BORROW, - [_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW_r31] = _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW, [_START_EXECUTOR_r00] = _START_EXECUTOR, [_MAKE_WARM_r00] = _MAKE_WARM, [_MAKE_WARM_r11] = _MAKE_WARM, @@ -5721,16 +5674,10 @@ const char *const _PyOpcode_uop_name[MAX_UOP_REGS_ID+1] = { [_NOP_r33] = "_NOP_r33", [_POP_CALL] = "_POP_CALL", [_POP_CALL_r20] = "_POP_CALL_r20", - [_POP_CALL_LOAD_CONST_INLINE_BORROW] = "_POP_CALL_LOAD_CONST_INLINE_BORROW", - [_POP_CALL_LOAD_CONST_INLINE_BORROW_r21] = "_POP_CALL_LOAD_CONST_INLINE_BORROW_r21", [_POP_CALL_ONE] = "_POP_CALL_ONE", [_POP_CALL_ONE_r30] = "_POP_CALL_ONE_r30", - [_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW] = "_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW", - [_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW_r31] = "_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW_r31", [_POP_CALL_TWO] = "_POP_CALL_TWO", [_POP_CALL_TWO_r30] = "_POP_CALL_TWO_r30", - [_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW] = "_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW", - [_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW_r31] = "_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW_r31", [_POP_EXCEPT] = "_POP_EXCEPT", [_POP_EXCEPT_r10] = "_POP_EXCEPT_r10", [_POP_ITER] = "_POP_ITER", @@ -5828,11 +5775,6 @@ const char *const _PyOpcode_uop_name[MAX_UOP_REGS_ID+1] = { [_SET_IP_r33] = "_SET_IP_r33", [_SET_UPDATE] = "_SET_UPDATE", [_SET_UPDATE_r11] = "_SET_UPDATE_r11", - [_SHUFFLE_2_LOAD_CONST_INLINE_BORROW] = "_SHUFFLE_2_LOAD_CONST_INLINE_BORROW", - [_SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r02] = "_SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r02", - [_SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r12] = "_SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r12", - [_SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r22] = "_SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r22", - [_SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r32] = "_SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r32", [_SHUFFLE_3_LOAD_CONST_INLINE_BORROW] = "_SHUFFLE_3_LOAD_CONST_INLINE_BORROW", [_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03] = "_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03", [_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13] = "_SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13", @@ -6709,18 +6651,10 @@ int _PyUop_num_popped(int opcode, int oparg) return 1; case _POP_TWO_LOAD_CONST_INLINE_BORROW: return 2; - case _POP_CALL_LOAD_CONST_INLINE_BORROW: - return 2; - case _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW: - return 3; case _INSERT_2_LOAD_CONST_INLINE_BORROW: return 2; - case _SHUFFLE_2_LOAD_CONST_INLINE_BORROW: - return 3; case _SHUFFLE_3_LOAD_CONST_INLINE_BORROW: return 3; - case _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW: - return 4; case _START_EXECUTOR: return 0; case _MAKE_WARM: diff --git a/Lib/test/test_capi/test_opt.py b/Lib/test/test_capi/test_opt.py index 8acc5eedad58f8..bc84e6f0b63843 100644 --- a/Lib/test/test_capi/test_opt.py +++ b/Lib/test/test_capi/test_opt.py @@ -2454,14 +2454,8 @@ def testfunc(n): self.assertEqual(res, TIER2_THRESHOLD) self.assertIsNotNone(ex) uops = get_opnames(ex) - # When the result of type(...) is known, _CALL_TYPE_1 is replaced with - # _SHUFFLE_2_LOAD_CONST_INLINE_BORROW which is optimized away in - # remove_unneeded_uops. + # When the result of type(...) is known, _CALL_TYPE_1 is decomposed. self.assertNotIn("_CALL_TYPE_1", uops) - self.assertNotIn("_SHUFFLE_2_LOAD_CONST_INLINE_BORROW", uops) - self.assertNotIn("_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW", uops) - self.assertNotIn("_POP_CALL_LOAD_CONST_INLINE_BORROW", uops) - self.assertNotIn("_POP_TOP_LOAD_CONST_INLINE_BORROW", uops) def test_call_type_1_result_is_const(self): def testfunc(n): @@ -2685,9 +2679,6 @@ def testfunc(n): # When the length is < _PY_NSMALLPOSINTS, the len() call is replaced # with just an inline load. self.assertNotIn("_CALL_LEN", uops) - self.assertNotIn("_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW", uops) - self.assertNotIn("_POP_CALL_LOAD_CONST_INLINE_BORROW", uops) - self.assertNotIn("_POP_TOP_LOAD_CONST_INLINE_BORROW", uops) def test_call_len_known_length(self): # Make sure that len(t) is not optimized for a tuple of length 2048. @@ -2960,10 +2951,6 @@ def testfunc(n): self.assertNotIn("_CALL_ISINSTANCE", uops) self.assertNotIn("_GUARD_THIRD_NULL", uops) self.assertNotIn("_GUARD_CALLABLE_ISINSTANCE", 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) - self.assertNotIn("_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW", uops) def test_call_list_append(self): def testfunc(n): @@ -3006,9 +2993,6 @@ def testfunc(n): self.assertNotIn("_TO_BOOL_BOOL", 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) - self.assertNotIn("_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW", uops) def test_call_isinstance_is_false(self): def testfunc(n): @@ -3027,9 +3011,6 @@ def testfunc(n): self.assertNotIn("_TO_BOOL_BOOL", 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) - self.assertNotIn("_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW", uops) def test_call_isinstance_subclass(self): def testfunc(n): @@ -3048,9 +3029,6 @@ def testfunc(n): self.assertNotIn("_TO_BOOL_BOOL", 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) - self.assertNotIn("_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW", uops) def test_call_isinstance_unknown_object(self): def testfunc(n): diff --git a/Python/bytecodes.c b/Python/bytecodes.c index 2c10e265590ab2..4950c849e5bca5 100644 --- a/Python/bytecodes.c +++ b/Python/bytecodes.c @@ -5936,21 +5936,6 @@ dummy_func( value = PyStackRef_FromPyObjectBorrow(ptr); } - tier2 op(_POP_CALL_LOAD_CONST_INLINE_BORROW, (ptr/4, callable, null -- value)) { - (void)null; // Silence compiler warnings about unused variables - DEAD(null); - PyStackRef_CLOSE(callable); - value = PyStackRef_FromPyObjectBorrow(ptr); - } - - tier2 op(_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW, (ptr/4, callable, null, pop -- value)) { - PyStackRef_CLOSE(pop); - (void)null; // Silence compiler warnings about unused variables - DEAD(null); - PyStackRef_CLOSE(callable); - value = PyStackRef_FromPyObjectBorrow(ptr); - } - tier2 op(_INSERT_2_LOAD_CONST_INLINE_BORROW, (ptr/4, left, right -- res, l, r)) { res = PyStackRef_FromPyObjectBorrow(ptr); l = left; @@ -5958,12 +5943,6 @@ dummy_func( INPUTS_DEAD(); } - tier2 op(_SHUFFLE_2_LOAD_CONST_INLINE_BORROW, (ptr/4, callable, null, arg -- res, a)) { - res = PyStackRef_FromPyObjectBorrow(ptr); - a = arg; - INPUTS_DEAD(); - } - tier2 op(_SHUFFLE_3_LOAD_CONST_INLINE_BORROW, (ptr/4, callable, null, arg -- res, a, c)) { res = PyStackRef_FromPyObjectBorrow(ptr); a = arg; @@ -5971,15 +5950,6 @@ dummy_func( INPUTS_DEAD(); } - tier2 op(_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW, (ptr/4, callable, null, pop1, pop2 -- value)) { - PyStackRef_CLOSE(pop2); - PyStackRef_CLOSE(pop1); - (void)null; // Silence compiler warnings about unused variables - DEAD(null); - PyStackRef_CLOSE(callable); - value = PyStackRef_FromPyObjectBorrow(ptr); - } - tier2 op(_START_EXECUTOR, (executor/4 --)) { #ifndef _Py_JIT assert(current_executor == (_PyExecutorObject*)executor); diff --git a/Python/executor_cases.c.h b/Python/executor_cases.c.h index 8dd1a512bbfd57..7209ed0dd922f9 100644 --- a/Python/executor_cases.c.h +++ b/Python/executor_cases.c.h @@ -21413,66 +21413,6 @@ break; } - case _POP_CALL_LOAD_CONST_INLINE_BORROW_r21: { - CHECK_CURRENT_CACHED_VALUES(2); - assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); - _PyStackRef null; - _PyStackRef callable; - _PyStackRef value; - _PyStackRef _stack_item_0 = _tos_cache0; - _PyStackRef _stack_item_1 = _tos_cache1; - null = _stack_item_1; - callable = _stack_item_0; - PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64(); - (void)null; - _PyFrame_SetStackPointer(frame, stack_pointer); - PyStackRef_CLOSE(callable); - stack_pointer = _PyFrame_GetStackPointer(frame); - value = PyStackRef_FromPyObjectBorrow(ptr); - _tos_cache0 = value; - _tos_cache1 = PyStackRef_ZERO_BITS; - _tos_cache2 = PyStackRef_ZERO_BITS; - SET_CURRENT_CACHED_VALUES(1); - assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); - break; - } - - case _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW_r31: { - CHECK_CURRENT_CACHED_VALUES(3); - assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); - _PyStackRef pop; - _PyStackRef null; - _PyStackRef callable; - _PyStackRef value; - _PyStackRef _stack_item_0 = _tos_cache0; - _PyStackRef _stack_item_1 = _tos_cache1; - _PyStackRef _stack_item_2 = _tos_cache2; - pop = _stack_item_2; - null = _stack_item_1; - callable = _stack_item_0; - PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64(); - stack_pointer[0] = callable; - stack_pointer[1] = null; - stack_pointer += 2; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); - _PyFrame_SetStackPointer(frame, stack_pointer); - PyStackRef_CLOSE(pop); - stack_pointer = _PyFrame_GetStackPointer(frame); - (void)null; - stack_pointer += -2; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); - _PyFrame_SetStackPointer(frame, stack_pointer); - PyStackRef_CLOSE(callable); - stack_pointer = _PyFrame_GetStackPointer(frame); - value = PyStackRef_FromPyObjectBorrow(ptr); - _tos_cache0 = value; - _tos_cache1 = PyStackRef_ZERO_BITS; - _tos_cache2 = PyStackRef_ZERO_BITS; - SET_CURRENT_CACHED_VALUES(1); - assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); - break; - } - case _INSERT_2_LOAD_CONST_INLINE_BORROW_r03: { CHECK_CURRENT_CACHED_VALUES(0); assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); @@ -21546,86 +21486,6 @@ break; } - case _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r02: { - CHECK_CURRENT_CACHED_VALUES(0); - assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); - _PyStackRef arg; - _PyStackRef res; - _PyStackRef a; - arg = stack_pointer[-1]; - PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64(); - res = PyStackRef_FromPyObjectBorrow(ptr); - a = arg; - _tos_cache1 = a; - _tos_cache0 = res; - SET_CURRENT_CACHED_VALUES(2); - stack_pointer += -3; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); - assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); - break; - } - - case _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r12: { - CHECK_CURRENT_CACHED_VALUES(1); - assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); - _PyStackRef arg; - _PyStackRef res; - _PyStackRef a; - _PyStackRef _stack_item_0 = _tos_cache0; - arg = _stack_item_0; - PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64(); - res = PyStackRef_FromPyObjectBorrow(ptr); - a = arg; - _tos_cache1 = a; - _tos_cache0 = res; - SET_CURRENT_CACHED_VALUES(2); - stack_pointer += -2; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); - assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); - break; - } - - case _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r22: { - CHECK_CURRENT_CACHED_VALUES(2); - assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); - _PyStackRef arg; - _PyStackRef res; - _PyStackRef a; - _PyStackRef _stack_item_0 = _tos_cache0; - _PyStackRef _stack_item_1 = _tos_cache1; - arg = _stack_item_1; - PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64(); - res = PyStackRef_FromPyObjectBorrow(ptr); - a = arg; - _tos_cache1 = a; - _tos_cache0 = res; - SET_CURRENT_CACHED_VALUES(2); - stack_pointer += -1; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); - assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); - break; - } - - case _SHUFFLE_2_LOAD_CONST_INLINE_BORROW_r32: { - CHECK_CURRENT_CACHED_VALUES(3); - assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); - _PyStackRef arg; - _PyStackRef res; - _PyStackRef a; - _PyStackRef _stack_item_0 = _tos_cache0; - _PyStackRef _stack_item_1 = _tos_cache1; - _PyStackRef _stack_item_2 = _tos_cache2; - arg = _stack_item_2; - PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64(); - res = PyStackRef_FromPyObjectBorrow(ptr); - a = arg; - _tos_cache1 = a; - _tos_cache0 = res; - SET_CURRENT_CACHED_VALUES(2); - assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); - break; - } - case _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03: { CHECK_CURRENT_CACHED_VALUES(0); assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); @@ -21726,49 +21586,6 @@ break; } - case _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW_r31: { - CHECK_CURRENT_CACHED_VALUES(3); - assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); - _PyStackRef pop2; - _PyStackRef pop1; - _PyStackRef null; - _PyStackRef callable; - _PyStackRef value; - _PyStackRef _stack_item_0 = _tos_cache0; - _PyStackRef _stack_item_1 = _tos_cache1; - _PyStackRef _stack_item_2 = _tos_cache2; - pop2 = _stack_item_2; - pop1 = _stack_item_1; - null = _stack_item_0; - callable = stack_pointer[-1]; - PyObject *ptr = (PyObject *)CURRENT_OPERAND0_64(); - stack_pointer[0] = null; - stack_pointer[1] = pop1; - stack_pointer += 2; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); - _PyFrame_SetStackPointer(frame, stack_pointer); - PyStackRef_CLOSE(pop2); - stack_pointer = _PyFrame_GetStackPointer(frame); - stack_pointer += -1; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); - _PyFrame_SetStackPointer(frame, stack_pointer); - PyStackRef_CLOSE(pop1); - stack_pointer = _PyFrame_GetStackPointer(frame); - (void)null; - stack_pointer += -2; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); - _PyFrame_SetStackPointer(frame, stack_pointer); - PyStackRef_CLOSE(callable); - stack_pointer = _PyFrame_GetStackPointer(frame); - value = PyStackRef_FromPyObjectBorrow(ptr); - _tos_cache0 = value; - _tos_cache1 = PyStackRef_ZERO_BITS; - _tos_cache2 = PyStackRef_ZERO_BITS; - SET_CURRENT_CACHED_VALUES(1); - assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); - break; - } - case _START_EXECUTOR_r00: { CHECK_CURRENT_CACHED_VALUES(0); assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); diff --git a/Python/optimizer_analysis.c b/Python/optimizer_analysis.c index 2afd7764896106..6d75894bb0d7d7 100644 --- a/Python/optimizer_analysis.c +++ b/Python/optimizer_analysis.c @@ -657,9 +657,6 @@ const uint16_t op_without_push[MAX_UOP_ID + 1] = { [_POP_TOP_LOAD_CONST_INLINE] = _POP_TOP, [_POP_TOP_LOAD_CONST_INLINE_BORROW] = _POP_TOP, [_POP_TWO_LOAD_CONST_INLINE_BORROW] = _POP_TWO, - [_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW] = _POP_CALL_ONE, - [_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW] = _POP_CALL_TWO, - [_SHUFFLE_2_LOAD_CONST_INLINE_BORROW] = _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW, }; const bool op_skip[MAX_UOP_ID + 1] = { @@ -679,15 +676,12 @@ const uint16_t op_without_pop[MAX_UOP_ID + 1] = { [_POP_TOP_LOAD_CONST_INLINE_BORROW] = _LOAD_CONST_INLINE_BORROW, [_POP_TWO] = _POP_TOP, [_POP_TWO_LOAD_CONST_INLINE_BORROW] = _POP_TOP_LOAD_CONST_INLINE_BORROW, - [_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW] = _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW, - [_POP_CALL_ONE_LOAD_CONST_INLINE_BORROW] = _POP_CALL_LOAD_CONST_INLINE_BORROW, [_POP_CALL_TWO] = _POP_CALL_ONE, [_POP_CALL_ONE] = _POP_CALL, }; const uint16_t op_without_pop_null[MAX_UOP_ID + 1] = { [_POP_CALL] = _POP_TOP, - [_POP_CALL_LOAD_CONST_INLINE_BORROW] = _POP_TOP_LOAD_CONST_INLINE_BORROW, }; @@ -739,9 +733,9 @@ remove_unneeded_uops(_PyUOpInstruction *buffer, int buffer_size) } } else if (last->opcode == _PUSH_NULL) { - // Handle _POP_CALL and _POP_CALL_LOAD_CONST_INLINE_BORROW separately. + // Handle _POP_CALL separately. // This looks for a preceding _PUSH_NULL instruction and - // simplifies to _POP_TOP(_LOAD_CONST_INLINE_BORROW). + // simplifies to _POP_TOP. last->opcode = _NOP; opcode = buffer[pc].opcode = op_without_pop_null[opcode]; assert(opcode); diff --git a/Python/optimizer_bytecodes.c b/Python/optimizer_bytecodes.c index 305238302b8d01..9f5a4768582354 100644 --- a/Python/optimizer_bytecodes.c +++ b/Python/optimizer_bytecodes.c @@ -763,19 +763,6 @@ dummy_func(void) { value = PyJitRef_Borrow(sym_new_const(ctx, ptr)); } - op(_POP_CALL_LOAD_CONST_INLINE_BORROW, (ptr/4, unused, unused -- value)) { - value = PyJitRef_Borrow(sym_new_const(ctx, ptr)); - } - - op(_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW, (ptr/4, unused, unused, unused, unused -- value)) { - value = PyJitRef_Borrow(sym_new_const(ctx, ptr)); - } - - op(_SHUFFLE_2_LOAD_CONST_INLINE_BORROW, (ptr/4, unused, unused, arg -- res, a)) { - res = PyJitRef_Borrow(sym_new_const(ctx, ptr)); - a = arg; - } - op(_POP_TOP, (value -- )) { PyTypeObject *typ = sym_get_type(value); if (PyJitRef_IsBorrowed(value) || @@ -1252,8 +1239,11 @@ dummy_func(void) { PyObject* type = (PyObject *)sym_get_type(arg); if (type) { res = sym_new_const(ctx, type); - ADD_OP(_SHUFFLE_2_LOAD_CONST_INLINE_BORROW, 0, - (uintptr_t)type); + ADD_OP(_SWAP, 3, 0); + ADD_OP(_POP_TOP, 0, 0); + ADD_OP(_POP_TOP, 0, 0); + ADD_OP(_LOAD_CONST_INLINE_BORROW, 0, (uintptr_t)type); + ADD_OP(_SWAP, 2, 0); } else { res = sym_new_not_null(ctx); @@ -1290,7 +1280,8 @@ dummy_func(void) { out = Py_True; } sym_set_const(res, out); - ADD_OP(_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW, 0, (uintptr_t)out); + ADD_OP(_POP_CALL_TWO, 0, 0); + ADD_OP(_LOAD_CONST_INLINE_BORROW, 0, (uintptr_t)out); } } diff --git a/Python/optimizer_cases.c.h b/Python/optimizer_cases.c.h index 04e9a6098c4c73..2458cbb99aeb40 100644 --- a/Python/optimizer_cases.c.h +++ b/Python/optimizer_cases.c.h @@ -3789,8 +3789,11 @@ PyObject* type = (PyObject *)sym_get_type(arg); if (type) { res = sym_new_const(ctx, type); - ADD_OP(_SHUFFLE_2_LOAD_CONST_INLINE_BORROW, 0, - (uintptr_t)type); + ADD_OP(_SWAP, 3, 0); + ADD_OP(_POP_TOP, 0, 0); + ADD_OP(_POP_TOP, 0, 0); + ADD_OP(_LOAD_CONST_INLINE_BORROW, 0, (uintptr_t)type); + ADD_OP(_SWAP, 2, 0); } else { res = sym_new_not_null(ctx); @@ -4123,7 +4126,8 @@ out = Py_True; } sym_set_const(res, out); - ADD_OP(_POP_CALL_TWO_LOAD_CONST_INLINE_BORROW, 0, (uintptr_t)out); + ADD_OP(_POP_CALL_TWO, 0, 0); + ADD_OP(_LOAD_CONST_INLINE_BORROW, 0, (uintptr_t)out); } CHECK_STACK_BOUNDS(-3); stack_pointer[-4] = res; @@ -4988,27 +4992,6 @@ break; } - case _POP_CALL_LOAD_CONST_INLINE_BORROW: { - JitOptRef value; - PyObject *ptr = (PyObject *)this_instr->operand0; - value = PyJitRef_Borrow(sym_new_const(ctx, ptr)); - CHECK_STACK_BOUNDS(-1); - stack_pointer[-2] = value; - stack_pointer += -1; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); - break; - } - - case _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW: { - JitOptRef value; - value = sym_new_not_null(ctx); - CHECK_STACK_BOUNDS(-2); - stack_pointer[-3] = value; - stack_pointer += -2; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); - break; - } - case _INSERT_2_LOAD_CONST_INLINE_BORROW: { JitOptRef res; JitOptRef l; @@ -5025,22 +5008,6 @@ break; } - case _SHUFFLE_2_LOAD_CONST_INLINE_BORROW: { - JitOptRef arg; - JitOptRef res; - JitOptRef a; - arg = stack_pointer[-1]; - PyObject *ptr = (PyObject *)this_instr->operand0; - res = PyJitRef_Borrow(sym_new_const(ctx, ptr)); - a = arg; - CHECK_STACK_BOUNDS(-1); - stack_pointer[-3] = res; - stack_pointer[-2] = a; - stack_pointer += -1; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); - break; - } - case _SHUFFLE_3_LOAD_CONST_INLINE_BORROW: { JitOptRef res; JitOptRef a; @@ -5054,17 +5021,6 @@ break; } - case _POP_CALL_TWO_LOAD_CONST_INLINE_BORROW: { - JitOptRef value; - PyObject *ptr = (PyObject *)this_instr->operand0; - value = PyJitRef_Borrow(sym_new_const(ctx, ptr)); - CHECK_STACK_BOUNDS(-3); - stack_pointer[-4] = value; - stack_pointer += -3; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); - break; - } - case _START_EXECUTOR: { break; } From 266247c9a609f148a1e6abdec94ff5ad807b8557 Mon Sep 17 00:00:00 2001 From: Ken Jin Date: Fri, 10 Apr 2026 23:11:18 +0800 Subject: [PATCH 03/12] gh-148171: Convert CALL_BUILTIN_FAST to leave inputs on the stack for refcount elimination in JIT (GH-148172) --- Include/internal/pycore_ceval.h | 2 +- Include/internal/pycore_opcode_metadata.h | 4 +- Include/internal/pycore_stackref.h | 12 + Include/internal/pycore_uop_ids.h | 2030 +++++++++++---------- Include/internal/pycore_uop_metadata.h | 25 +- Lib/test/test_capi/test_opt.py | 3 + Modules/_testinternalcapi/test_cases.c.h | 30 +- Python/bytecodes.c | 22 +- Python/ceval.c | 14 +- Python/executor_cases.c.h | 39 +- Python/generated_cases.c.h | 30 +- Python/optimizer_analysis.c | 23 + Python/optimizer_bytecodes.c | 26 +- Python/optimizer_cases.c.h | 38 +- 14 files changed, 1197 insertions(+), 1101 deletions(-) diff --git a/Include/internal/pycore_ceval.h b/Include/internal/pycore_ceval.h index 2479630021bfe3..c12f72216b313f 100644 --- a/Include/internal/pycore_ceval.h +++ b/Include/internal/pycore_ceval.h @@ -433,7 +433,7 @@ _Py_VectorCallInstrumentation_StackRefSteal( PyThreadState* tstate); PyAPI_FUNC(PyObject *) -_Py_BuiltinCallFast_StackRefSteal( +_Py_BuiltinCallFast_StackRef( _PyStackRef callable, _PyStackRef *arguments, int total_args); diff --git a/Include/internal/pycore_opcode_metadata.h b/Include/internal/pycore_opcode_metadata.h index a6418a7a381b4d..5b50b58fc83b00 100644 --- a/Include/internal/pycore_opcode_metadata.h +++ b/Include/internal/pycore_opcode_metadata.h @@ -1124,7 +1124,7 @@ const struct opcode_metadata _PyOpcode_opcode_metadata[267] = { [CALL_BOUND_METHOD_EXACT_ARGS] = { true, INSTR_FMT_IBC00, HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_EXIT_FLAG | HAS_ESCAPES_FLAG | HAS_SYNC_SP_FLAG | HAS_NEEDS_GUARD_IP_FLAG | HAS_RECORDS_VALUE_FLAG }, [CALL_BOUND_METHOD_GENERAL] = { true, INSTR_FMT_IBC00, HAS_ARG_FLAG | HAS_DEOPT_FLAG | HAS_EXIT_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG | HAS_SYNC_SP_FLAG | HAS_NEEDS_GUARD_IP_FLAG | HAS_RECORDS_VALUE_FLAG }, [CALL_BUILTIN_CLASS] = { true, INSTR_FMT_IBC00, HAS_ARG_FLAG | HAS_EVAL_BREAK_FLAG | HAS_EXIT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG | HAS_RECORDS_VALUE_FLAG }, - [CALL_BUILTIN_FAST] = { true, INSTR_FMT_IBC00, HAS_ARG_FLAG | HAS_EVAL_BREAK_FLAG | HAS_EXIT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG | HAS_RECORDS_VALUE_FLAG }, + [CALL_BUILTIN_FAST] = { true, INSTR_FMT_IBC00, HAS_ARG_FLAG | HAS_EVAL_BREAK_FLAG | HAS_EXIT_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG | HAS_RECORDS_VALUE_FLAG }, [CALL_BUILTIN_FAST_WITH_KEYWORDS] = { true, INSTR_FMT_IBC00, HAS_ARG_FLAG | HAS_EVAL_BREAK_FLAG | HAS_EXIT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG | HAS_RECORDS_VALUE_FLAG }, [CALL_BUILTIN_O] = { true, INSTR_FMT_IBC00, HAS_ARG_FLAG | HAS_EVAL_BREAK_FLAG | HAS_EXIT_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG | HAS_RECORDS_VALUE_FLAG }, [CALL_EX_NON_PY_GENERAL] = { true, INSTR_FMT_IXC, HAS_EVAL_BREAK_FLAG | HAS_EXIT_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG }, @@ -1375,7 +1375,7 @@ _PyOpcode_macro_expansion[256] = { [CALL_BOUND_METHOD_EXACT_ARGS] = { .nuops = 11, .uops = { { _RECORD_BOUND_METHOD, OPARG_SIMPLE, 0 }, { _CHECK_PEP_523, OPARG_SIMPLE, 1 }, { _CHECK_CALL_BOUND_METHOD_EXACT_ARGS, OPARG_SIMPLE, 1 }, { _INIT_CALL_BOUND_METHOD_EXACT_ARGS, OPARG_SIMPLE, 1 }, { _CHECK_FUNCTION_VERSION, 2, 1 }, { _CHECK_FUNCTION_EXACT_ARGS, OPARG_SIMPLE, 3 }, { _CHECK_STACK_SPACE, OPARG_SIMPLE, 3 }, { _CHECK_RECURSION_REMAINING, OPARG_SIMPLE, 3 }, { _INIT_CALL_PY_EXACT_ARGS, OPARG_SIMPLE, 3 }, { _SAVE_RETURN_OFFSET, OPARG_SAVE_RETURN_OFFSET, 3 }, { _PUSH_FRAME, OPARG_SIMPLE, 3 } } }, [CALL_BOUND_METHOD_GENERAL] = { .nuops = 8, .uops = { { _RECORD_BOUND_METHOD, OPARG_SIMPLE, 0 }, { _CHECK_PEP_523, OPARG_SIMPLE, 1 }, { _CHECK_METHOD_VERSION, 2, 1 }, { _EXPAND_METHOD, OPARG_SIMPLE, 3 }, { _CHECK_RECURSION_REMAINING, OPARG_SIMPLE, 3 }, { _PY_FRAME_GENERAL, OPARG_SIMPLE, 3 }, { _SAVE_RETURN_OFFSET, OPARG_SAVE_RETURN_OFFSET, 3 }, { _PUSH_FRAME, OPARG_SIMPLE, 3 } } }, [CALL_BUILTIN_CLASS] = { .nuops = 3, .uops = { { _RECORD_CALLABLE, OPARG_SIMPLE, 0 }, { _CALL_BUILTIN_CLASS, OPARG_SIMPLE, 3 }, { _CHECK_PERIODIC_AT_END, OPARG_REPLACED, 3 } } }, - [CALL_BUILTIN_FAST] = { .nuops = 4, .uops = { { _RECORD_CALLABLE, OPARG_SIMPLE, 0 }, { _GUARD_CALLABLE_BUILTIN_FAST, OPARG_SIMPLE, 3 }, { _CALL_BUILTIN_FAST, OPARG_SIMPLE, 3 }, { _CHECK_PERIODIC_AT_END, OPARG_REPLACED, 3 } } }, + [CALL_BUILTIN_FAST] = { .nuops = 6, .uops = { { _RECORD_CALLABLE, OPARG_SIMPLE, 0 }, { _GUARD_CALLABLE_BUILTIN_FAST, OPARG_SIMPLE, 3 }, { _CALL_BUILTIN_FAST, OPARG_SIMPLE, 3 }, { _POP_TOP_OPARG, OPARG_SIMPLE, 3 }, { _POP_TOP, OPARG_SIMPLE, 3 }, { _CHECK_PERIODIC_AT_END, OPARG_REPLACED, 3 } } }, [CALL_BUILTIN_FAST_WITH_KEYWORDS] = { .nuops = 4, .uops = { { _RECORD_CALLABLE, OPARG_SIMPLE, 0 }, { _GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS, OPARG_SIMPLE, 3 }, { _CALL_BUILTIN_FAST_WITH_KEYWORDS, OPARG_SIMPLE, 3 }, { _CHECK_PERIODIC_AT_END, OPARG_REPLACED, 3 } } }, [CALL_BUILTIN_O] = { .nuops = 6, .uops = { { _RECORD_CALLABLE, OPARG_SIMPLE, 0 }, { _GUARD_CALLABLE_BUILTIN_O, OPARG_SIMPLE, 3 }, { _CALL_BUILTIN_O, OPARG_SIMPLE, 3 }, { _POP_TOP, OPARG_SIMPLE, 3 }, { _POP_TOP, OPARG_SIMPLE, 3 }, { _CHECK_PERIODIC_AT_END, OPARG_REPLACED, 3 } } }, [CALL_EX_NON_PY_GENERAL] = { .nuops = 4, .uops = { { _CHECK_IS_NOT_PY_CALLABLE_EX, OPARG_SIMPLE, 1 }, { _MAKE_CALLARGS_A_TUPLE, OPARG_SIMPLE, 1 }, { _CALL_FUNCTION_EX_NON_PY_GENERAL, OPARG_SIMPLE, 1 }, { _CHECK_PERIODIC_AT_END, OPARG_REPLACED, 1 } } }, diff --git a/Include/internal/pycore_stackref.h b/Include/internal/pycore_stackref.h index 188da775eb1cc7..329045b5faaa22 100644 --- a/Include/internal/pycore_stackref.h +++ b/Include/internal/pycore_stackref.h @@ -845,6 +845,18 @@ _Py_TryXGetStackRef(PyObject **src, _PyStackRef *out) } \ } while (0) +static inline void +_PyStackRef_CloseStack(_PyStackRef *arguments, int total_args) +{ + // arguments is a pointer into the GC visible stack, + // so we must NULL out values as we clear them. + for (int i = total_args-1; i >= 0; i--) { + _PyStackRef tmp = arguments[i]; + arguments[i] = PyStackRef_NULL; + PyStackRef_CLOSE(tmp); + } +} + #ifdef __cplusplus } #endif diff --git a/Include/internal/pycore_uop_ids.h b/Include/internal/pycore_uop_ids.h index e593748f8ddfd3..50abb537d692a0 100644 --- a/Include/internal/pycore_uop_ids.h +++ b/Include/internal/pycore_uop_ids.h @@ -342,1035 +342,1037 @@ extern "C" { #define _POP_TOP_LOAD_CONST_INLINE 568 #define _POP_TOP_LOAD_CONST_INLINE_BORROW 569 #define _POP_TOP_NOP 570 -#define _POP_TOP_UNICODE 571 -#define _POP_TWO 572 -#define _POP_TWO_LOAD_CONST_INLINE_BORROW 573 +#define _POP_TOP_OPARG 571 +#define _POP_TOP_UNICODE 572 +#define _POP_TWO 573 +#define _POP_TWO_LOAD_CONST_INLINE_BORROW 574 #define _PUSH_EXC_INFO PUSH_EXC_INFO -#define _PUSH_FRAME 574 +#define _PUSH_FRAME 575 #define _PUSH_NULL PUSH_NULL -#define _PUSH_NULL_CONDITIONAL 575 -#define _PY_FRAME_EX 576 -#define _PY_FRAME_GENERAL 577 -#define _PY_FRAME_KW 578 -#define _RECORD_3OS_GEN_FUNC 579 -#define _RECORD_4OS 580 -#define _RECORD_BOUND_METHOD 581 -#define _RECORD_CALLABLE 582 -#define _RECORD_CODE 583 -#define _RECORD_NOS 584 -#define _RECORD_NOS_GEN_FUNC 585 -#define _RECORD_TOS 586 -#define _RECORD_TOS_TYPE 587 -#define _REPLACE_WITH_TRUE 588 -#define _RESUME_CHECK 589 +#define _PUSH_NULL_CONDITIONAL 576 +#define _PY_FRAME_EX 577 +#define _PY_FRAME_GENERAL 578 +#define _PY_FRAME_KW 579 +#define _RECORD_3OS_GEN_FUNC 580 +#define _RECORD_4OS 581 +#define _RECORD_BOUND_METHOD 582 +#define _RECORD_CALLABLE 583 +#define _RECORD_CODE 584 +#define _RECORD_NOS 585 +#define _RECORD_NOS_GEN_FUNC 586 +#define _RECORD_TOS 587 +#define _RECORD_TOS_TYPE 588 +#define _REPLACE_WITH_TRUE 589 +#define _RESUME_CHECK 590 #define _RETURN_GENERATOR RETURN_GENERATOR -#define _RETURN_VALUE 590 -#define _SAVE_RETURN_OFFSET 591 -#define _SEND 592 -#define _SEND_GEN_FRAME 593 +#define _RETURN_VALUE 591 +#define _SAVE_RETURN_OFFSET 592 +#define _SEND 593 +#define _SEND_GEN_FRAME 594 #define _SETUP_ANNOTATIONS SETUP_ANNOTATIONS #define _SET_ADD SET_ADD #define _SET_FUNCTION_ATTRIBUTE SET_FUNCTION_ATTRIBUTE -#define _SET_UPDATE 594 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW 595 -#define _SPILL_OR_RELOAD 596 -#define _START_EXECUTOR 597 -#define _STORE_ATTR 598 -#define _STORE_ATTR_INSTANCE_VALUE 599 -#define _STORE_ATTR_SLOT 600 -#define _STORE_ATTR_WITH_HINT 601 +#define _SET_UPDATE 595 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW 596 +#define _SPILL_OR_RELOAD 597 +#define _START_EXECUTOR 598 +#define _STORE_ATTR 599 +#define _STORE_ATTR_INSTANCE_VALUE 600 +#define _STORE_ATTR_SLOT 601 +#define _STORE_ATTR_WITH_HINT 602 #define _STORE_DEREF STORE_DEREF #define _STORE_GLOBAL STORE_GLOBAL #define _STORE_NAME STORE_NAME -#define _STORE_SLICE 602 -#define _STORE_SUBSCR 603 -#define _STORE_SUBSCR_DICT 604 -#define _STORE_SUBSCR_DICT_KNOWN_HASH 605 -#define _STORE_SUBSCR_LIST_INT 606 -#define _SWAP 607 -#define _SWAP_2 608 -#define _SWAP_3 609 -#define _SWAP_FAST 610 -#define _SWAP_FAST_0 611 -#define _SWAP_FAST_1 612 -#define _SWAP_FAST_2 613 -#define _SWAP_FAST_3 614 -#define _SWAP_FAST_4 615 -#define _SWAP_FAST_5 616 -#define _SWAP_FAST_6 617 -#define _SWAP_FAST_7 618 -#define _TIER2_RESUME_CHECK 619 -#define _TO_BOOL 620 +#define _STORE_SLICE 603 +#define _STORE_SUBSCR 604 +#define _STORE_SUBSCR_DICT 605 +#define _STORE_SUBSCR_DICT_KNOWN_HASH 606 +#define _STORE_SUBSCR_LIST_INT 607 +#define _SWAP 608 +#define _SWAP_2 609 +#define _SWAP_3 610 +#define _SWAP_FAST 611 +#define _SWAP_FAST_0 612 +#define _SWAP_FAST_1 613 +#define _SWAP_FAST_2 614 +#define _SWAP_FAST_3 615 +#define _SWAP_FAST_4 616 +#define _SWAP_FAST_5 617 +#define _SWAP_FAST_6 618 +#define _SWAP_FAST_7 619 +#define _TIER2_RESUME_CHECK 620 +#define _TO_BOOL 621 #define _TO_BOOL_BOOL TO_BOOL_BOOL -#define _TO_BOOL_INT 621 -#define _TO_BOOL_LIST 622 +#define _TO_BOOL_INT 622 +#define _TO_BOOL_LIST 623 #define _TO_BOOL_NONE TO_BOOL_NONE -#define _TO_BOOL_STR 623 +#define _TO_BOOL_STR 624 #define _TRACE_RECORD TRACE_RECORD -#define _UNARY_INVERT 624 -#define _UNARY_NEGATIVE 625 -#define _UNARY_NEGATIVE_FLOAT_INPLACE 626 +#define _UNARY_INVERT 625 +#define _UNARY_NEGATIVE 626 +#define _UNARY_NEGATIVE_FLOAT_INPLACE 627 #define _UNARY_NOT UNARY_NOT #define _UNPACK_EX UNPACK_EX -#define _UNPACK_SEQUENCE 627 -#define _UNPACK_SEQUENCE_LIST 628 -#define _UNPACK_SEQUENCE_TUPLE 629 -#define _UNPACK_SEQUENCE_TWO_TUPLE 630 -#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE 631 -#define _UNPACK_SEQUENCE_UNIQUE_TUPLE 632 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE 633 +#define _UNPACK_SEQUENCE 628 +#define _UNPACK_SEQUENCE_LIST 629 +#define _UNPACK_SEQUENCE_TUPLE 630 +#define _UNPACK_SEQUENCE_TWO_TUPLE 631 +#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE 632 +#define _UNPACK_SEQUENCE_UNIQUE_TUPLE 633 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE 634 #define _WITH_EXCEPT_START WITH_EXCEPT_START -#define _YIELD_VALUE 634 -#define MAX_UOP_ID 634 -#define _BINARY_OP_r23 635 -#define _BINARY_OP_ADD_FLOAT_r03 636 -#define _BINARY_OP_ADD_FLOAT_r13 637 -#define _BINARY_OP_ADD_FLOAT_r23 638 -#define _BINARY_OP_ADD_FLOAT_INPLACE_r03 639 -#define _BINARY_OP_ADD_FLOAT_INPLACE_r13 640 -#define _BINARY_OP_ADD_FLOAT_INPLACE_r23 641 -#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r03 642 -#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r13 643 -#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r23 644 -#define _BINARY_OP_ADD_INT_r03 645 -#define _BINARY_OP_ADD_INT_r13 646 -#define _BINARY_OP_ADD_INT_r23 647 -#define _BINARY_OP_ADD_INT_INPLACE_r03 648 -#define _BINARY_OP_ADD_INT_INPLACE_r13 649 -#define _BINARY_OP_ADD_INT_INPLACE_r23 650 -#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r03 651 -#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r13 652 -#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r23 653 -#define _BINARY_OP_ADD_UNICODE_r03 654 -#define _BINARY_OP_ADD_UNICODE_r13 655 -#define _BINARY_OP_ADD_UNICODE_r23 656 -#define _BINARY_OP_EXTEND_r23 657 -#define _BINARY_OP_INPLACE_ADD_UNICODE_r21 658 -#define _BINARY_OP_MULTIPLY_FLOAT_r03 659 -#define _BINARY_OP_MULTIPLY_FLOAT_r13 660 -#define _BINARY_OP_MULTIPLY_FLOAT_r23 661 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r03 662 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r13 663 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r23 664 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r03 665 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r13 666 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r23 667 -#define _BINARY_OP_MULTIPLY_INT_r03 668 -#define _BINARY_OP_MULTIPLY_INT_r13 669 -#define _BINARY_OP_MULTIPLY_INT_r23 670 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_r03 671 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_r13 672 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_r23 673 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r03 674 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r13 675 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r23 676 -#define _BINARY_OP_SUBSCR_CHECK_FUNC_r23 677 -#define _BINARY_OP_SUBSCR_DICT_r23 678 -#define _BINARY_OP_SUBSCR_DICT_KNOWN_HASH_r23 679 -#define _BINARY_OP_SUBSCR_INIT_CALL_r01 680 -#define _BINARY_OP_SUBSCR_INIT_CALL_r11 681 -#define _BINARY_OP_SUBSCR_INIT_CALL_r21 682 -#define _BINARY_OP_SUBSCR_INIT_CALL_r31 683 -#define _BINARY_OP_SUBSCR_LIST_INT_r23 684 -#define _BINARY_OP_SUBSCR_LIST_SLICE_r23 685 -#define _BINARY_OP_SUBSCR_STR_INT_r23 686 -#define _BINARY_OP_SUBSCR_TUPLE_INT_r03 687 -#define _BINARY_OP_SUBSCR_TUPLE_INT_r13 688 -#define _BINARY_OP_SUBSCR_TUPLE_INT_r23 689 -#define _BINARY_OP_SUBSCR_USTR_INT_r23 690 -#define _BINARY_OP_SUBTRACT_FLOAT_r03 691 -#define _BINARY_OP_SUBTRACT_FLOAT_r13 692 -#define _BINARY_OP_SUBTRACT_FLOAT_r23 693 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r03 694 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r13 695 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r23 696 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r03 697 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r13 698 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r23 699 -#define _BINARY_OP_SUBTRACT_INT_r03 700 -#define _BINARY_OP_SUBTRACT_INT_r13 701 -#define _BINARY_OP_SUBTRACT_INT_r23 702 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_r03 703 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_r13 704 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_r23 705 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r03 706 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r13 707 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r23 708 -#define _BINARY_SLICE_r31 709 -#define _BUILD_INTERPOLATION_r01 710 -#define _BUILD_LIST_r01 711 -#define _BUILD_MAP_r01 712 -#define _BUILD_SET_r01 713 -#define _BUILD_SLICE_r01 714 -#define _BUILD_STRING_r01 715 -#define _BUILD_TEMPLATE_r21 716 -#define _BUILD_TUPLE_r01 717 -#define _CALL_BUILTIN_CLASS_r01 718 -#define _CALL_BUILTIN_FAST_r01 719 -#define _CALL_BUILTIN_FAST_WITH_KEYWORDS_r01 720 -#define _CALL_BUILTIN_O_r03 721 -#define _CALL_FUNCTION_EX_NON_PY_GENERAL_r31 722 -#define _CALL_INTRINSIC_1_r12 723 -#define _CALL_INTRINSIC_2_r23 724 -#define _CALL_ISINSTANCE_r31 725 -#define _CALL_KW_NON_PY_r11 726 -#define _CALL_LEN_r33 727 -#define _CALL_LIST_APPEND_r03 728 -#define _CALL_LIST_APPEND_r13 729 -#define _CALL_LIST_APPEND_r23 730 -#define _CALL_LIST_APPEND_r33 731 -#define _CALL_METHOD_DESCRIPTOR_FAST_r01 732 -#define _CALL_METHOD_DESCRIPTOR_FAST_INLINE_r01 733 -#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r01 734 -#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_INLINE_r01 735 -#define _CALL_METHOD_DESCRIPTOR_NOARGS_r03 736 -#define _CALL_METHOD_DESCRIPTOR_NOARGS_INLINE_r03 737 -#define _CALL_METHOD_DESCRIPTOR_O_r03 738 -#define _CALL_METHOD_DESCRIPTOR_O_INLINE_r03 739 -#define _CALL_NON_PY_GENERAL_r01 740 -#define _CALL_STR_1_r32 741 -#define _CALL_TUPLE_1_r32 742 -#define _CALL_TYPE_1_r02 743 -#define _CALL_TYPE_1_r12 744 -#define _CALL_TYPE_1_r22 745 -#define _CALL_TYPE_1_r32 746 -#define _CHECK_AND_ALLOCATE_OBJECT_r00 747 -#define _CHECK_ATTR_CLASS_r01 748 -#define _CHECK_ATTR_CLASS_r11 749 -#define _CHECK_ATTR_CLASS_r22 750 -#define _CHECK_ATTR_CLASS_r33 751 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r01 752 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r11 753 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r22 754 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r33 755 -#define _CHECK_CALL_BOUND_METHOD_EXACT_ARGS_r00 756 -#define _CHECK_EG_MATCH_r22 757 -#define _CHECK_EXC_MATCH_r22 758 -#define _CHECK_FUNCTION_EXACT_ARGS_r00 759 -#define _CHECK_FUNCTION_VERSION_r00 760 -#define _CHECK_FUNCTION_VERSION_INLINE_r00 761 -#define _CHECK_FUNCTION_VERSION_INLINE_r11 762 -#define _CHECK_FUNCTION_VERSION_INLINE_r22 763 -#define _CHECK_FUNCTION_VERSION_INLINE_r33 764 -#define _CHECK_FUNCTION_VERSION_KW_r11 765 -#define _CHECK_IS_NOT_PY_CALLABLE_r00 766 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r03 767 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r13 768 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r23 769 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r33 770 -#define _CHECK_IS_NOT_PY_CALLABLE_KW_r11 771 -#define _CHECK_IS_PY_CALLABLE_EX_r03 772 -#define _CHECK_IS_PY_CALLABLE_EX_r13 773 -#define _CHECK_IS_PY_CALLABLE_EX_r23 774 -#define _CHECK_IS_PY_CALLABLE_EX_r33 775 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r01 776 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r11 777 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r22 778 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r33 779 -#define _CHECK_METHOD_VERSION_r00 780 -#define _CHECK_METHOD_VERSION_KW_r11 781 -#define _CHECK_PEP_523_r00 782 -#define _CHECK_PEP_523_r11 783 -#define _CHECK_PEP_523_r22 784 -#define _CHECK_PEP_523_r33 785 -#define _CHECK_PERIODIC_r00 786 -#define _CHECK_PERIODIC_AT_END_r00 787 -#define _CHECK_PERIODIC_IF_NOT_YIELD_FROM_r00 788 -#define _CHECK_RECURSION_LIMIT_r00 789 -#define _CHECK_RECURSION_LIMIT_r11 790 -#define _CHECK_RECURSION_LIMIT_r22 791 -#define _CHECK_RECURSION_LIMIT_r33 792 -#define _CHECK_RECURSION_REMAINING_r00 793 -#define _CHECK_RECURSION_REMAINING_r11 794 -#define _CHECK_RECURSION_REMAINING_r22 795 -#define _CHECK_RECURSION_REMAINING_r33 796 -#define _CHECK_STACK_SPACE_r00 797 -#define _CHECK_STACK_SPACE_OPERAND_r00 798 -#define _CHECK_STACK_SPACE_OPERAND_r11 799 -#define _CHECK_STACK_SPACE_OPERAND_r22 800 -#define _CHECK_STACK_SPACE_OPERAND_r33 801 -#define _CHECK_VALIDITY_r00 802 -#define _CHECK_VALIDITY_r11 803 -#define _CHECK_VALIDITY_r22 804 -#define _CHECK_VALIDITY_r33 805 -#define _COLD_DYNAMIC_EXIT_r00 806 -#define _COLD_EXIT_r00 807 -#define _COMPARE_OP_r21 808 -#define _COMPARE_OP_FLOAT_r03 809 -#define _COMPARE_OP_FLOAT_r13 810 -#define _COMPARE_OP_FLOAT_r23 811 -#define _COMPARE_OP_INT_r23 812 -#define _COMPARE_OP_STR_r23 813 -#define _CONTAINS_OP_r23 814 -#define _CONTAINS_OP_DICT_r23 815 -#define _CONTAINS_OP_SET_r23 816 -#define _CONVERT_VALUE_r11 817 -#define _COPY_r01 818 -#define _COPY_1_r02 819 -#define _COPY_1_r12 820 -#define _COPY_1_r23 821 -#define _COPY_2_r03 822 -#define _COPY_2_r13 823 -#define _COPY_2_r23 824 -#define _COPY_3_r03 825 -#define _COPY_3_r13 826 -#define _COPY_3_r23 827 -#define _COPY_3_r33 828 -#define _COPY_FREE_VARS_r00 829 -#define _COPY_FREE_VARS_r11 830 -#define _COPY_FREE_VARS_r22 831 -#define _COPY_FREE_VARS_r33 832 -#define _CREATE_INIT_FRAME_r01 833 -#define _DELETE_ATTR_r10 834 -#define _DELETE_DEREF_r00 835 -#define _DELETE_FAST_r00 836 -#define _DELETE_GLOBAL_r00 837 -#define _DELETE_NAME_r00 838 -#define _DELETE_SUBSCR_r20 839 -#define _DEOPT_r00 840 -#define _DEOPT_r10 841 -#define _DEOPT_r20 842 -#define _DEOPT_r30 843 -#define _DICT_MERGE_r11 844 -#define _DICT_UPDATE_r11 845 -#define _DO_CALL_r01 846 -#define _DO_CALL_FUNCTION_EX_r31 847 -#define _DO_CALL_KW_r11 848 -#define _DYNAMIC_EXIT_r00 849 -#define _DYNAMIC_EXIT_r10 850 -#define _DYNAMIC_EXIT_r20 851 -#define _DYNAMIC_EXIT_r30 852 -#define _END_FOR_r10 853 -#define _END_SEND_r31 854 -#define _ERROR_POP_N_r00 855 -#define _EXIT_INIT_CHECK_r10 856 -#define _EXIT_TRACE_r00 857 -#define _EXIT_TRACE_r10 858 -#define _EXIT_TRACE_r20 859 -#define _EXIT_TRACE_r30 860 -#define _EXPAND_METHOD_r00 861 -#define _EXPAND_METHOD_KW_r11 862 -#define _FATAL_ERROR_r00 863 -#define _FATAL_ERROR_r11 864 -#define _FATAL_ERROR_r22 865 -#define _FATAL_ERROR_r33 866 -#define _FORMAT_SIMPLE_r11 867 -#define _FORMAT_WITH_SPEC_r21 868 -#define _FOR_ITER_r23 869 -#define _FOR_ITER_GEN_FRAME_r03 870 -#define _FOR_ITER_GEN_FRAME_r13 871 -#define _FOR_ITER_GEN_FRAME_r23 872 -#define _FOR_ITER_TIER_TWO_r23 873 -#define _GET_AITER_r11 874 -#define _GET_ANEXT_r12 875 -#define _GET_AWAITABLE_r11 876 -#define _GET_ITER_r12 877 -#define _GET_LEN_r12 878 -#define _GUARD_BINARY_OP_EXTEND_r22 879 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r02 880 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r12 881 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r22 882 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r33 883 -#define _GUARD_BIT_IS_SET_POP_r00 884 -#define _GUARD_BIT_IS_SET_POP_r10 885 -#define _GUARD_BIT_IS_SET_POP_r21 886 -#define _GUARD_BIT_IS_SET_POP_r32 887 -#define _GUARD_BIT_IS_SET_POP_4_r00 888 -#define _GUARD_BIT_IS_SET_POP_4_r10 889 -#define _GUARD_BIT_IS_SET_POP_4_r21 890 -#define _GUARD_BIT_IS_SET_POP_4_r32 891 -#define _GUARD_BIT_IS_SET_POP_5_r00 892 -#define _GUARD_BIT_IS_SET_POP_5_r10 893 -#define _GUARD_BIT_IS_SET_POP_5_r21 894 -#define _GUARD_BIT_IS_SET_POP_5_r32 895 -#define _GUARD_BIT_IS_SET_POP_6_r00 896 -#define _GUARD_BIT_IS_SET_POP_6_r10 897 -#define _GUARD_BIT_IS_SET_POP_6_r21 898 -#define _GUARD_BIT_IS_SET_POP_6_r32 899 -#define _GUARD_BIT_IS_SET_POP_7_r00 900 -#define _GUARD_BIT_IS_SET_POP_7_r10 901 -#define _GUARD_BIT_IS_SET_POP_7_r21 902 -#define _GUARD_BIT_IS_SET_POP_7_r32 903 -#define _GUARD_BIT_IS_UNSET_POP_r00 904 -#define _GUARD_BIT_IS_UNSET_POP_r10 905 -#define _GUARD_BIT_IS_UNSET_POP_r21 906 -#define _GUARD_BIT_IS_UNSET_POP_r32 907 -#define _GUARD_BIT_IS_UNSET_POP_4_r00 908 -#define _GUARD_BIT_IS_UNSET_POP_4_r10 909 -#define _GUARD_BIT_IS_UNSET_POP_4_r21 910 -#define _GUARD_BIT_IS_UNSET_POP_4_r32 911 -#define _GUARD_BIT_IS_UNSET_POP_5_r00 912 -#define _GUARD_BIT_IS_UNSET_POP_5_r10 913 -#define _GUARD_BIT_IS_UNSET_POP_5_r21 914 -#define _GUARD_BIT_IS_UNSET_POP_5_r32 915 -#define _GUARD_BIT_IS_UNSET_POP_6_r00 916 -#define _GUARD_BIT_IS_UNSET_POP_6_r10 917 -#define _GUARD_BIT_IS_UNSET_POP_6_r21 918 -#define _GUARD_BIT_IS_UNSET_POP_6_r32 919 -#define _GUARD_BIT_IS_UNSET_POP_7_r00 920 -#define _GUARD_BIT_IS_UNSET_POP_7_r10 921 -#define _GUARD_BIT_IS_UNSET_POP_7_r21 922 -#define _GUARD_BIT_IS_UNSET_POP_7_r32 923 -#define _GUARD_CALLABLE_BUILTIN_FAST_r00 924 -#define _GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS_r00 925 -#define _GUARD_CALLABLE_BUILTIN_O_r00 926 -#define _GUARD_CALLABLE_ISINSTANCE_r03 927 -#define _GUARD_CALLABLE_ISINSTANCE_r13 928 -#define _GUARD_CALLABLE_ISINSTANCE_r23 929 -#define _GUARD_CALLABLE_ISINSTANCE_r33 930 -#define _GUARD_CALLABLE_LEN_r03 931 -#define _GUARD_CALLABLE_LEN_r13 932 -#define _GUARD_CALLABLE_LEN_r23 933 -#define _GUARD_CALLABLE_LEN_r33 934 -#define _GUARD_CALLABLE_LIST_APPEND_r03 935 -#define _GUARD_CALLABLE_LIST_APPEND_r13 936 -#define _GUARD_CALLABLE_LIST_APPEND_r23 937 -#define _GUARD_CALLABLE_LIST_APPEND_r33 938 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_r00 939 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r00 940 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_NOARGS_r00 941 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_O_r00 942 -#define _GUARD_CALLABLE_STR_1_r03 943 -#define _GUARD_CALLABLE_STR_1_r13 944 -#define _GUARD_CALLABLE_STR_1_r23 945 -#define _GUARD_CALLABLE_STR_1_r33 946 -#define _GUARD_CALLABLE_TUPLE_1_r03 947 -#define _GUARD_CALLABLE_TUPLE_1_r13 948 -#define _GUARD_CALLABLE_TUPLE_1_r23 949 -#define _GUARD_CALLABLE_TUPLE_1_r33 950 -#define _GUARD_CALLABLE_TYPE_1_r03 951 -#define _GUARD_CALLABLE_TYPE_1_r13 952 -#define _GUARD_CALLABLE_TYPE_1_r23 953 -#define _GUARD_CALLABLE_TYPE_1_r33 954 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r00 955 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r11 956 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r22 957 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r33 958 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r00 959 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r11 960 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r22 961 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r33 962 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r00 963 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r11 964 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r22 965 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r33 966 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r00 967 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r11 968 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r22 969 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r33 970 -#define _GUARD_DORV_NO_DICT_r01 971 -#define _GUARD_DORV_NO_DICT_r11 972 -#define _GUARD_DORV_NO_DICT_r22 973 -#define _GUARD_DORV_NO_DICT_r33 974 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r01 975 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r11 976 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r22 977 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r33 978 -#define _GUARD_GLOBALS_VERSION_r00 979 -#define _GUARD_GLOBALS_VERSION_r11 980 -#define _GUARD_GLOBALS_VERSION_r22 981 -#define _GUARD_GLOBALS_VERSION_r33 982 -#define _GUARD_IP_RETURN_GENERATOR_r00 983 -#define _GUARD_IP_RETURN_GENERATOR_r11 984 -#define _GUARD_IP_RETURN_GENERATOR_r22 985 -#define _GUARD_IP_RETURN_GENERATOR_r33 986 -#define _GUARD_IP_RETURN_VALUE_r00 987 -#define _GUARD_IP_RETURN_VALUE_r11 988 -#define _GUARD_IP_RETURN_VALUE_r22 989 -#define _GUARD_IP_RETURN_VALUE_r33 990 -#define _GUARD_IP_YIELD_VALUE_r00 991 -#define _GUARD_IP_YIELD_VALUE_r11 992 -#define _GUARD_IP_YIELD_VALUE_r22 993 -#define _GUARD_IP_YIELD_VALUE_r33 994 -#define _GUARD_IP__PUSH_FRAME_r00 995 -#define _GUARD_IP__PUSH_FRAME_r11 996 -#define _GUARD_IP__PUSH_FRAME_r22 997 -#define _GUARD_IP__PUSH_FRAME_r33 998 -#define _GUARD_IS_FALSE_POP_r00 999 -#define _GUARD_IS_FALSE_POP_r10 1000 -#define _GUARD_IS_FALSE_POP_r21 1001 -#define _GUARD_IS_FALSE_POP_r32 1002 -#define _GUARD_IS_NONE_POP_r00 1003 -#define _GUARD_IS_NONE_POP_r10 1004 -#define _GUARD_IS_NONE_POP_r21 1005 -#define _GUARD_IS_NONE_POP_r32 1006 -#define _GUARD_IS_NOT_NONE_POP_r10 1007 -#define _GUARD_IS_TRUE_POP_r00 1008 -#define _GUARD_IS_TRUE_POP_r10 1009 -#define _GUARD_IS_TRUE_POP_r21 1010 -#define _GUARD_IS_TRUE_POP_r32 1011 -#define _GUARD_KEYS_VERSION_r01 1012 -#define _GUARD_KEYS_VERSION_r11 1013 -#define _GUARD_KEYS_VERSION_r22 1014 -#define _GUARD_KEYS_VERSION_r33 1015 -#define _GUARD_LOAD_SUPER_ATTR_METHOD_r03 1016 -#define _GUARD_LOAD_SUPER_ATTR_METHOD_r13 1017 -#define _GUARD_LOAD_SUPER_ATTR_METHOD_r23 1018 -#define _GUARD_LOAD_SUPER_ATTR_METHOD_r33 1019 -#define _GUARD_NOS_ANY_DICT_r02 1020 -#define _GUARD_NOS_ANY_DICT_r12 1021 -#define _GUARD_NOS_ANY_DICT_r22 1022 -#define _GUARD_NOS_ANY_DICT_r33 1023 -#define _GUARD_NOS_COMPACT_ASCII_r02 1024 -#define _GUARD_NOS_COMPACT_ASCII_r12 1025 -#define _GUARD_NOS_COMPACT_ASCII_r22 1026 -#define _GUARD_NOS_COMPACT_ASCII_r33 1027 -#define _GUARD_NOS_DICT_r02 1028 -#define _GUARD_NOS_DICT_r12 1029 -#define _GUARD_NOS_DICT_r22 1030 -#define _GUARD_NOS_DICT_r33 1031 -#define _GUARD_NOS_FLOAT_r02 1032 -#define _GUARD_NOS_FLOAT_r12 1033 -#define _GUARD_NOS_FLOAT_r22 1034 -#define _GUARD_NOS_FLOAT_r33 1035 -#define _GUARD_NOS_INT_r02 1036 -#define _GUARD_NOS_INT_r12 1037 -#define _GUARD_NOS_INT_r22 1038 -#define _GUARD_NOS_INT_r33 1039 -#define _GUARD_NOS_LIST_r02 1040 -#define _GUARD_NOS_LIST_r12 1041 -#define _GUARD_NOS_LIST_r22 1042 -#define _GUARD_NOS_LIST_r33 1043 -#define _GUARD_NOS_NOT_NULL_r02 1044 -#define _GUARD_NOS_NOT_NULL_r12 1045 -#define _GUARD_NOS_NOT_NULL_r22 1046 -#define _GUARD_NOS_NOT_NULL_r33 1047 -#define _GUARD_NOS_NULL_r02 1048 -#define _GUARD_NOS_NULL_r12 1049 -#define _GUARD_NOS_NULL_r22 1050 -#define _GUARD_NOS_NULL_r33 1051 -#define _GUARD_NOS_OVERFLOWED_r02 1052 -#define _GUARD_NOS_OVERFLOWED_r12 1053 -#define _GUARD_NOS_OVERFLOWED_r22 1054 -#define _GUARD_NOS_OVERFLOWED_r33 1055 -#define _GUARD_NOS_TUPLE_r02 1056 -#define _GUARD_NOS_TUPLE_r12 1057 -#define _GUARD_NOS_TUPLE_r22 1058 -#define _GUARD_NOS_TUPLE_r33 1059 -#define _GUARD_NOS_TYPE_VERSION_r02 1060 -#define _GUARD_NOS_TYPE_VERSION_r12 1061 -#define _GUARD_NOS_TYPE_VERSION_r22 1062 -#define _GUARD_NOS_TYPE_VERSION_r33 1063 -#define _GUARD_NOS_UNICODE_r02 1064 -#define _GUARD_NOS_UNICODE_r12 1065 -#define _GUARD_NOS_UNICODE_r22 1066 -#define _GUARD_NOS_UNICODE_r33 1067 -#define _GUARD_NOT_EXHAUSTED_LIST_r02 1068 -#define _GUARD_NOT_EXHAUSTED_LIST_r12 1069 -#define _GUARD_NOT_EXHAUSTED_LIST_r22 1070 -#define _GUARD_NOT_EXHAUSTED_LIST_r33 1071 -#define _GUARD_NOT_EXHAUSTED_RANGE_r02 1072 -#define _GUARD_NOT_EXHAUSTED_RANGE_r12 1073 -#define _GUARD_NOT_EXHAUSTED_RANGE_r22 1074 -#define _GUARD_NOT_EXHAUSTED_RANGE_r33 1075 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r02 1076 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r12 1077 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r22 1078 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r33 1079 -#define _GUARD_THIRD_NULL_r03 1080 -#define _GUARD_THIRD_NULL_r13 1081 -#define _GUARD_THIRD_NULL_r23 1082 -#define _GUARD_THIRD_NULL_r33 1083 -#define _GUARD_TOS_ANY_DICT_r01 1084 -#define _GUARD_TOS_ANY_DICT_r11 1085 -#define _GUARD_TOS_ANY_DICT_r22 1086 -#define _GUARD_TOS_ANY_DICT_r33 1087 -#define _GUARD_TOS_ANY_SET_r01 1088 -#define _GUARD_TOS_ANY_SET_r11 1089 -#define _GUARD_TOS_ANY_SET_r22 1090 -#define _GUARD_TOS_ANY_SET_r33 1091 -#define _GUARD_TOS_DICT_r01 1092 -#define _GUARD_TOS_DICT_r11 1093 -#define _GUARD_TOS_DICT_r22 1094 -#define _GUARD_TOS_DICT_r33 1095 -#define _GUARD_TOS_FLOAT_r01 1096 -#define _GUARD_TOS_FLOAT_r11 1097 -#define _GUARD_TOS_FLOAT_r22 1098 -#define _GUARD_TOS_FLOAT_r33 1099 -#define _GUARD_TOS_FROZENDICT_r01 1100 -#define _GUARD_TOS_FROZENDICT_r11 1101 -#define _GUARD_TOS_FROZENDICT_r22 1102 -#define _GUARD_TOS_FROZENDICT_r33 1103 -#define _GUARD_TOS_FROZENSET_r01 1104 -#define _GUARD_TOS_FROZENSET_r11 1105 -#define _GUARD_TOS_FROZENSET_r22 1106 -#define _GUARD_TOS_FROZENSET_r33 1107 -#define _GUARD_TOS_INT_r01 1108 -#define _GUARD_TOS_INT_r11 1109 -#define _GUARD_TOS_INT_r22 1110 -#define _GUARD_TOS_INT_r33 1111 -#define _GUARD_TOS_LIST_r01 1112 -#define _GUARD_TOS_LIST_r11 1113 -#define _GUARD_TOS_LIST_r22 1114 -#define _GUARD_TOS_LIST_r33 1115 -#define _GUARD_TOS_OVERFLOWED_r01 1116 -#define _GUARD_TOS_OVERFLOWED_r11 1117 -#define _GUARD_TOS_OVERFLOWED_r22 1118 -#define _GUARD_TOS_OVERFLOWED_r33 1119 -#define _GUARD_TOS_SET_r01 1120 -#define _GUARD_TOS_SET_r11 1121 -#define _GUARD_TOS_SET_r22 1122 -#define _GUARD_TOS_SET_r33 1123 -#define _GUARD_TOS_SLICE_r01 1124 -#define _GUARD_TOS_SLICE_r11 1125 -#define _GUARD_TOS_SLICE_r22 1126 -#define _GUARD_TOS_SLICE_r33 1127 -#define _GUARD_TOS_TUPLE_r01 1128 -#define _GUARD_TOS_TUPLE_r11 1129 -#define _GUARD_TOS_TUPLE_r22 1130 -#define _GUARD_TOS_TUPLE_r33 1131 -#define _GUARD_TOS_UNICODE_r01 1132 -#define _GUARD_TOS_UNICODE_r11 1133 -#define _GUARD_TOS_UNICODE_r22 1134 -#define _GUARD_TOS_UNICODE_r33 1135 -#define _GUARD_TYPE_VERSION_r01 1136 -#define _GUARD_TYPE_VERSION_r11 1137 -#define _GUARD_TYPE_VERSION_r22 1138 -#define _GUARD_TYPE_VERSION_r33 1139 -#define _GUARD_TYPE_VERSION_LOCKED_r01 1140 -#define _GUARD_TYPE_VERSION_LOCKED_r11 1141 -#define _GUARD_TYPE_VERSION_LOCKED_r22 1142 -#define _GUARD_TYPE_VERSION_LOCKED_r33 1143 -#define _HANDLE_PENDING_AND_DEOPT_r00 1144 -#define _HANDLE_PENDING_AND_DEOPT_r10 1145 -#define _HANDLE_PENDING_AND_DEOPT_r20 1146 -#define _HANDLE_PENDING_AND_DEOPT_r30 1147 -#define _IMPORT_FROM_r12 1148 -#define _IMPORT_NAME_r21 1149 -#define _INIT_CALL_BOUND_METHOD_EXACT_ARGS_r00 1150 -#define _INIT_CALL_PY_EXACT_ARGS_r01 1151 -#define _INIT_CALL_PY_EXACT_ARGS_0_r01 1152 -#define _INIT_CALL_PY_EXACT_ARGS_1_r01 1153 -#define _INIT_CALL_PY_EXACT_ARGS_2_r01 1154 -#define _INIT_CALL_PY_EXACT_ARGS_3_r01 1155 -#define _INIT_CALL_PY_EXACT_ARGS_4_r01 1156 -#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r03 1157 -#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r13 1158 -#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r23 1159 -#define _INSERT_NULL_r10 1160 -#define _INSTRUMENTED_FOR_ITER_r23 1161 -#define _INSTRUMENTED_INSTRUCTION_r00 1162 -#define _INSTRUMENTED_JUMP_FORWARD_r00 1163 -#define _INSTRUMENTED_JUMP_FORWARD_r11 1164 -#define _INSTRUMENTED_JUMP_FORWARD_r22 1165 -#define _INSTRUMENTED_JUMP_FORWARD_r33 1166 -#define _INSTRUMENTED_LINE_r00 1167 -#define _INSTRUMENTED_NOT_TAKEN_r00 1168 -#define _INSTRUMENTED_NOT_TAKEN_r11 1169 -#define _INSTRUMENTED_NOT_TAKEN_r22 1170 -#define _INSTRUMENTED_NOT_TAKEN_r33 1171 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r00 1172 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r10 1173 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r21 1174 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r32 1175 -#define _INSTRUMENTED_POP_JUMP_IF_NONE_r10 1176 -#define _INSTRUMENTED_POP_JUMP_IF_NOT_NONE_r10 1177 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r00 1178 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r10 1179 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r21 1180 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r32 1181 -#define _IS_NONE_r11 1182 -#define _IS_OP_r03 1183 -#define _IS_OP_r13 1184 -#define _IS_OP_r23 1185 -#define _ITER_CHECK_LIST_r02 1186 -#define _ITER_CHECK_LIST_r12 1187 -#define _ITER_CHECK_LIST_r22 1188 -#define _ITER_CHECK_LIST_r33 1189 -#define _ITER_CHECK_RANGE_r02 1190 -#define _ITER_CHECK_RANGE_r12 1191 -#define _ITER_CHECK_RANGE_r22 1192 -#define _ITER_CHECK_RANGE_r33 1193 -#define _ITER_CHECK_TUPLE_r02 1194 -#define _ITER_CHECK_TUPLE_r12 1195 -#define _ITER_CHECK_TUPLE_r22 1196 -#define _ITER_CHECK_TUPLE_r33 1197 -#define _ITER_JUMP_LIST_r02 1198 -#define _ITER_JUMP_LIST_r12 1199 -#define _ITER_JUMP_LIST_r22 1200 -#define _ITER_JUMP_LIST_r33 1201 -#define _ITER_JUMP_RANGE_r02 1202 -#define _ITER_JUMP_RANGE_r12 1203 -#define _ITER_JUMP_RANGE_r22 1204 -#define _ITER_JUMP_RANGE_r33 1205 -#define _ITER_JUMP_TUPLE_r02 1206 -#define _ITER_JUMP_TUPLE_r12 1207 -#define _ITER_JUMP_TUPLE_r22 1208 -#define _ITER_JUMP_TUPLE_r33 1209 -#define _ITER_NEXT_LIST_r23 1210 -#define _ITER_NEXT_LIST_TIER_TWO_r23 1211 -#define _ITER_NEXT_RANGE_r03 1212 -#define _ITER_NEXT_RANGE_r13 1213 -#define _ITER_NEXT_RANGE_r23 1214 -#define _ITER_NEXT_TUPLE_r03 1215 -#define _ITER_NEXT_TUPLE_r13 1216 -#define _ITER_NEXT_TUPLE_r23 1217 -#define _JUMP_BACKWARD_NO_INTERRUPT_r00 1218 -#define _JUMP_BACKWARD_NO_INTERRUPT_r11 1219 -#define _JUMP_BACKWARD_NO_INTERRUPT_r22 1220 -#define _JUMP_BACKWARD_NO_INTERRUPT_r33 1221 -#define _JUMP_TO_TOP_r00 1222 -#define _LIST_APPEND_r10 1223 -#define _LIST_EXTEND_r11 1224 -#define _LOAD_ATTR_r10 1225 -#define _LOAD_ATTR_CLASS_r11 1226 -#define _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN_r11 1227 -#define _LOAD_ATTR_INSTANCE_VALUE_r02 1228 -#define _LOAD_ATTR_INSTANCE_VALUE_r12 1229 -#define _LOAD_ATTR_INSTANCE_VALUE_r23 1230 -#define _LOAD_ATTR_METHOD_LAZY_DICT_r02 1231 -#define _LOAD_ATTR_METHOD_LAZY_DICT_r12 1232 -#define _LOAD_ATTR_METHOD_LAZY_DICT_r23 1233 -#define _LOAD_ATTR_METHOD_NO_DICT_r02 1234 -#define _LOAD_ATTR_METHOD_NO_DICT_r12 1235 -#define _LOAD_ATTR_METHOD_NO_DICT_r23 1236 -#define _LOAD_ATTR_METHOD_WITH_VALUES_r02 1237 -#define _LOAD_ATTR_METHOD_WITH_VALUES_r12 1238 -#define _LOAD_ATTR_METHOD_WITH_VALUES_r23 1239 -#define _LOAD_ATTR_MODULE_r12 1240 -#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT_r11 1241 -#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES_r11 1242 -#define _LOAD_ATTR_PROPERTY_FRAME_r11 1243 -#define _LOAD_ATTR_SLOT_r02 1244 -#define _LOAD_ATTR_SLOT_r12 1245 -#define _LOAD_ATTR_SLOT_r23 1246 -#define _LOAD_ATTR_WITH_HINT_r12 1247 -#define _LOAD_BUILD_CLASS_r01 1248 -#define _LOAD_BYTECODE_r00 1249 -#define _LOAD_COMMON_CONSTANT_r01 1250 -#define _LOAD_COMMON_CONSTANT_r12 1251 -#define _LOAD_COMMON_CONSTANT_r23 1252 -#define _LOAD_CONST_r01 1253 -#define _LOAD_CONST_r12 1254 -#define _LOAD_CONST_r23 1255 -#define _LOAD_CONST_INLINE_r01 1256 -#define _LOAD_CONST_INLINE_r12 1257 -#define _LOAD_CONST_INLINE_r23 1258 -#define _LOAD_CONST_INLINE_BORROW_r01 1259 -#define _LOAD_CONST_INLINE_BORROW_r12 1260 -#define _LOAD_CONST_INLINE_BORROW_r23 1261 -#define _LOAD_DEREF_r01 1262 -#define _LOAD_FAST_r01 1263 -#define _LOAD_FAST_r12 1264 -#define _LOAD_FAST_r23 1265 -#define _LOAD_FAST_0_r01 1266 -#define _LOAD_FAST_0_r12 1267 -#define _LOAD_FAST_0_r23 1268 -#define _LOAD_FAST_1_r01 1269 -#define _LOAD_FAST_1_r12 1270 -#define _LOAD_FAST_1_r23 1271 -#define _LOAD_FAST_2_r01 1272 -#define _LOAD_FAST_2_r12 1273 -#define _LOAD_FAST_2_r23 1274 -#define _LOAD_FAST_3_r01 1275 -#define _LOAD_FAST_3_r12 1276 -#define _LOAD_FAST_3_r23 1277 -#define _LOAD_FAST_4_r01 1278 -#define _LOAD_FAST_4_r12 1279 -#define _LOAD_FAST_4_r23 1280 -#define _LOAD_FAST_5_r01 1281 -#define _LOAD_FAST_5_r12 1282 -#define _LOAD_FAST_5_r23 1283 -#define _LOAD_FAST_6_r01 1284 -#define _LOAD_FAST_6_r12 1285 -#define _LOAD_FAST_6_r23 1286 -#define _LOAD_FAST_7_r01 1287 -#define _LOAD_FAST_7_r12 1288 -#define _LOAD_FAST_7_r23 1289 -#define _LOAD_FAST_AND_CLEAR_r01 1290 -#define _LOAD_FAST_AND_CLEAR_r12 1291 -#define _LOAD_FAST_AND_CLEAR_r23 1292 -#define _LOAD_FAST_BORROW_r01 1293 -#define _LOAD_FAST_BORROW_r12 1294 -#define _LOAD_FAST_BORROW_r23 1295 -#define _LOAD_FAST_BORROW_0_r01 1296 -#define _LOAD_FAST_BORROW_0_r12 1297 -#define _LOAD_FAST_BORROW_0_r23 1298 -#define _LOAD_FAST_BORROW_1_r01 1299 -#define _LOAD_FAST_BORROW_1_r12 1300 -#define _LOAD_FAST_BORROW_1_r23 1301 -#define _LOAD_FAST_BORROW_2_r01 1302 -#define _LOAD_FAST_BORROW_2_r12 1303 -#define _LOAD_FAST_BORROW_2_r23 1304 -#define _LOAD_FAST_BORROW_3_r01 1305 -#define _LOAD_FAST_BORROW_3_r12 1306 -#define _LOAD_FAST_BORROW_3_r23 1307 -#define _LOAD_FAST_BORROW_4_r01 1308 -#define _LOAD_FAST_BORROW_4_r12 1309 -#define _LOAD_FAST_BORROW_4_r23 1310 -#define _LOAD_FAST_BORROW_5_r01 1311 -#define _LOAD_FAST_BORROW_5_r12 1312 -#define _LOAD_FAST_BORROW_5_r23 1313 -#define _LOAD_FAST_BORROW_6_r01 1314 -#define _LOAD_FAST_BORROW_6_r12 1315 -#define _LOAD_FAST_BORROW_6_r23 1316 -#define _LOAD_FAST_BORROW_7_r01 1317 -#define _LOAD_FAST_BORROW_7_r12 1318 -#define _LOAD_FAST_BORROW_7_r23 1319 -#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r02 1320 -#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r13 1321 -#define _LOAD_FAST_CHECK_r01 1322 -#define _LOAD_FAST_CHECK_r12 1323 -#define _LOAD_FAST_CHECK_r23 1324 -#define _LOAD_FAST_LOAD_FAST_r02 1325 -#define _LOAD_FAST_LOAD_FAST_r13 1326 -#define _LOAD_FROM_DICT_OR_DEREF_r11 1327 -#define _LOAD_FROM_DICT_OR_GLOBALS_r11 1328 -#define _LOAD_GLOBAL_r00 1329 -#define _LOAD_GLOBAL_BUILTINS_r01 1330 -#define _LOAD_GLOBAL_MODULE_r01 1331 -#define _LOAD_LOCALS_r01 1332 -#define _LOAD_LOCALS_r12 1333 -#define _LOAD_LOCALS_r23 1334 -#define _LOAD_NAME_r01 1335 -#define _LOAD_SMALL_INT_r01 1336 -#define _LOAD_SMALL_INT_r12 1337 -#define _LOAD_SMALL_INT_r23 1338 -#define _LOAD_SMALL_INT_0_r01 1339 -#define _LOAD_SMALL_INT_0_r12 1340 -#define _LOAD_SMALL_INT_0_r23 1341 -#define _LOAD_SMALL_INT_1_r01 1342 -#define _LOAD_SMALL_INT_1_r12 1343 -#define _LOAD_SMALL_INT_1_r23 1344 -#define _LOAD_SMALL_INT_2_r01 1345 -#define _LOAD_SMALL_INT_2_r12 1346 -#define _LOAD_SMALL_INT_2_r23 1347 -#define _LOAD_SMALL_INT_3_r01 1348 -#define _LOAD_SMALL_INT_3_r12 1349 -#define _LOAD_SMALL_INT_3_r23 1350 -#define _LOAD_SPECIAL_r00 1351 -#define _LOAD_SUPER_ATTR_ATTR_r31 1352 -#define _LOAD_SUPER_ATTR_METHOD_r32 1353 -#define _LOCK_OBJECT_r01 1354 -#define _LOCK_OBJECT_r11 1355 -#define _LOCK_OBJECT_r22 1356 -#define _LOCK_OBJECT_r33 1357 -#define _MAKE_CALLARGS_A_TUPLE_r33 1358 -#define _MAKE_CELL_r00 1359 -#define _MAKE_FUNCTION_r12 1360 -#define _MAKE_HEAP_SAFE_r01 1361 -#define _MAKE_HEAP_SAFE_r11 1362 -#define _MAKE_HEAP_SAFE_r22 1363 -#define _MAKE_HEAP_SAFE_r33 1364 -#define _MAKE_WARM_r00 1365 -#define _MAKE_WARM_r11 1366 -#define _MAKE_WARM_r22 1367 -#define _MAKE_WARM_r33 1368 -#define _MAP_ADD_r20 1369 -#define _MATCH_CLASS_r33 1370 -#define _MATCH_KEYS_r23 1371 -#define _MATCH_MAPPING_r02 1372 -#define _MATCH_MAPPING_r12 1373 -#define _MATCH_MAPPING_r23 1374 -#define _MATCH_SEQUENCE_r02 1375 -#define _MATCH_SEQUENCE_r12 1376 -#define _MATCH_SEQUENCE_r23 1377 -#define _MAYBE_EXPAND_METHOD_r00 1378 -#define _MAYBE_EXPAND_METHOD_KW_r11 1379 -#define _MONITOR_CALL_r00 1380 -#define _MONITOR_CALL_KW_r11 1381 -#define _MONITOR_JUMP_BACKWARD_r00 1382 -#define _MONITOR_JUMP_BACKWARD_r11 1383 -#define _MONITOR_JUMP_BACKWARD_r22 1384 -#define _MONITOR_JUMP_BACKWARD_r33 1385 -#define _MONITOR_RESUME_r00 1386 -#define _NOP_r00 1387 -#define _NOP_r11 1388 -#define _NOP_r22 1389 -#define _NOP_r33 1390 -#define _POP_CALL_r20 1391 -#define _POP_CALL_ONE_r30 1392 -#define _POP_CALL_TWO_r30 1393 -#define _POP_EXCEPT_r10 1394 -#define _POP_ITER_r20 1395 -#define _POP_JUMP_IF_FALSE_r00 1396 -#define _POP_JUMP_IF_FALSE_r10 1397 -#define _POP_JUMP_IF_FALSE_r21 1398 -#define _POP_JUMP_IF_FALSE_r32 1399 -#define _POP_JUMP_IF_TRUE_r00 1400 -#define _POP_JUMP_IF_TRUE_r10 1401 -#define _POP_JUMP_IF_TRUE_r21 1402 -#define _POP_JUMP_IF_TRUE_r32 1403 -#define _POP_TOP_r10 1404 -#define _POP_TOP_FLOAT_r00 1405 -#define _POP_TOP_FLOAT_r10 1406 -#define _POP_TOP_FLOAT_r21 1407 -#define _POP_TOP_FLOAT_r32 1408 -#define _POP_TOP_INT_r00 1409 -#define _POP_TOP_INT_r10 1410 -#define _POP_TOP_INT_r21 1411 -#define _POP_TOP_INT_r32 1412 -#define _POP_TOP_LOAD_CONST_INLINE_r11 1413 -#define _POP_TOP_LOAD_CONST_INLINE_BORROW_r11 1414 -#define _POP_TOP_NOP_r00 1415 -#define _POP_TOP_NOP_r10 1416 -#define _POP_TOP_NOP_r21 1417 -#define _POP_TOP_NOP_r32 1418 -#define _POP_TOP_UNICODE_r00 1419 -#define _POP_TOP_UNICODE_r10 1420 -#define _POP_TOP_UNICODE_r21 1421 -#define _POP_TOP_UNICODE_r32 1422 -#define _POP_TWO_r20 1423 -#define _POP_TWO_LOAD_CONST_INLINE_BORROW_r21 1424 -#define _PUSH_EXC_INFO_r02 1425 -#define _PUSH_EXC_INFO_r12 1426 -#define _PUSH_EXC_INFO_r23 1427 -#define _PUSH_FRAME_r10 1428 -#define _PUSH_NULL_r01 1429 -#define _PUSH_NULL_r12 1430 -#define _PUSH_NULL_r23 1431 -#define _PUSH_NULL_CONDITIONAL_r00 1432 -#define _PY_FRAME_EX_r31 1433 -#define _PY_FRAME_GENERAL_r01 1434 -#define _PY_FRAME_KW_r11 1435 -#define _REPLACE_WITH_TRUE_r02 1436 -#define _REPLACE_WITH_TRUE_r12 1437 -#define _REPLACE_WITH_TRUE_r23 1438 -#define _RESUME_CHECK_r00 1439 -#define _RESUME_CHECK_r11 1440 -#define _RESUME_CHECK_r22 1441 -#define _RESUME_CHECK_r33 1442 -#define _RETURN_GENERATOR_r01 1443 -#define _RETURN_VALUE_r11 1444 -#define _SAVE_RETURN_OFFSET_r00 1445 -#define _SAVE_RETURN_OFFSET_r11 1446 -#define _SAVE_RETURN_OFFSET_r22 1447 -#define _SAVE_RETURN_OFFSET_r33 1448 -#define _SEND_r33 1449 -#define _SEND_GEN_FRAME_r33 1450 -#define _SETUP_ANNOTATIONS_r00 1451 -#define _SET_ADD_r10 1452 -#define _SET_FUNCTION_ATTRIBUTE_r01 1453 -#define _SET_FUNCTION_ATTRIBUTE_r11 1454 -#define _SET_FUNCTION_ATTRIBUTE_r21 1455 -#define _SET_FUNCTION_ATTRIBUTE_r32 1456 -#define _SET_IP_r00 1457 -#define _SET_IP_r11 1458 -#define _SET_IP_r22 1459 -#define _SET_IP_r33 1460 -#define _SET_UPDATE_r11 1461 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03 1462 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13 1463 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r23 1464 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33 1465 -#define _SPILL_OR_RELOAD_r01 1466 -#define _SPILL_OR_RELOAD_r02 1467 -#define _SPILL_OR_RELOAD_r03 1468 -#define _SPILL_OR_RELOAD_r10 1469 -#define _SPILL_OR_RELOAD_r12 1470 -#define _SPILL_OR_RELOAD_r13 1471 -#define _SPILL_OR_RELOAD_r20 1472 -#define _SPILL_OR_RELOAD_r21 1473 -#define _SPILL_OR_RELOAD_r23 1474 -#define _SPILL_OR_RELOAD_r30 1475 -#define _SPILL_OR_RELOAD_r31 1476 -#define _SPILL_OR_RELOAD_r32 1477 -#define _START_EXECUTOR_r00 1478 -#define _STORE_ATTR_r20 1479 -#define _STORE_ATTR_INSTANCE_VALUE_r21 1480 -#define _STORE_ATTR_SLOT_r21 1481 -#define _STORE_ATTR_WITH_HINT_r21 1482 -#define _STORE_DEREF_r10 1483 -#define _STORE_FAST_LOAD_FAST_r11 1484 -#define _STORE_FAST_STORE_FAST_r20 1485 -#define _STORE_GLOBAL_r10 1486 -#define _STORE_NAME_r10 1487 -#define _STORE_SLICE_r30 1488 -#define _STORE_SUBSCR_r30 1489 -#define _STORE_SUBSCR_DICT_r31 1490 -#define _STORE_SUBSCR_DICT_KNOWN_HASH_r31 1491 -#define _STORE_SUBSCR_LIST_INT_r32 1492 -#define _SWAP_r11 1493 -#define _SWAP_2_r02 1494 -#define _SWAP_2_r12 1495 -#define _SWAP_2_r22 1496 -#define _SWAP_2_r33 1497 -#define _SWAP_3_r03 1498 -#define _SWAP_3_r13 1499 -#define _SWAP_3_r23 1500 -#define _SWAP_3_r33 1501 -#define _SWAP_FAST_r01 1502 -#define _SWAP_FAST_r11 1503 -#define _SWAP_FAST_r22 1504 -#define _SWAP_FAST_r33 1505 -#define _SWAP_FAST_0_r01 1506 -#define _SWAP_FAST_0_r11 1507 -#define _SWAP_FAST_0_r22 1508 -#define _SWAP_FAST_0_r33 1509 -#define _SWAP_FAST_1_r01 1510 -#define _SWAP_FAST_1_r11 1511 -#define _SWAP_FAST_1_r22 1512 -#define _SWAP_FAST_1_r33 1513 -#define _SWAP_FAST_2_r01 1514 -#define _SWAP_FAST_2_r11 1515 -#define _SWAP_FAST_2_r22 1516 -#define _SWAP_FAST_2_r33 1517 -#define _SWAP_FAST_3_r01 1518 -#define _SWAP_FAST_3_r11 1519 -#define _SWAP_FAST_3_r22 1520 -#define _SWAP_FAST_3_r33 1521 -#define _SWAP_FAST_4_r01 1522 -#define _SWAP_FAST_4_r11 1523 -#define _SWAP_FAST_4_r22 1524 -#define _SWAP_FAST_4_r33 1525 -#define _SWAP_FAST_5_r01 1526 -#define _SWAP_FAST_5_r11 1527 -#define _SWAP_FAST_5_r22 1528 -#define _SWAP_FAST_5_r33 1529 -#define _SWAP_FAST_6_r01 1530 -#define _SWAP_FAST_6_r11 1531 -#define _SWAP_FAST_6_r22 1532 -#define _SWAP_FAST_6_r33 1533 -#define _SWAP_FAST_7_r01 1534 -#define _SWAP_FAST_7_r11 1535 -#define _SWAP_FAST_7_r22 1536 -#define _SWAP_FAST_7_r33 1537 -#define _TIER2_RESUME_CHECK_r00 1538 -#define _TIER2_RESUME_CHECK_r11 1539 -#define _TIER2_RESUME_CHECK_r22 1540 -#define _TIER2_RESUME_CHECK_r33 1541 -#define _TO_BOOL_r11 1542 -#define _TO_BOOL_BOOL_r01 1543 -#define _TO_BOOL_BOOL_r11 1544 -#define _TO_BOOL_BOOL_r22 1545 -#define _TO_BOOL_BOOL_r33 1546 -#define _TO_BOOL_INT_r02 1547 -#define _TO_BOOL_INT_r12 1548 -#define _TO_BOOL_INT_r23 1549 -#define _TO_BOOL_LIST_r02 1550 -#define _TO_BOOL_LIST_r12 1551 -#define _TO_BOOL_LIST_r23 1552 -#define _TO_BOOL_NONE_r01 1553 -#define _TO_BOOL_NONE_r11 1554 -#define _TO_BOOL_NONE_r22 1555 -#define _TO_BOOL_NONE_r33 1556 -#define _TO_BOOL_STR_r02 1557 -#define _TO_BOOL_STR_r12 1558 -#define _TO_BOOL_STR_r23 1559 -#define _TRACE_RECORD_r00 1560 -#define _UNARY_INVERT_r12 1561 -#define _UNARY_NEGATIVE_r12 1562 -#define _UNARY_NEGATIVE_FLOAT_INPLACE_r02 1563 -#define _UNARY_NEGATIVE_FLOAT_INPLACE_r12 1564 -#define _UNARY_NEGATIVE_FLOAT_INPLACE_r23 1565 -#define _UNARY_NOT_r01 1566 -#define _UNARY_NOT_r11 1567 -#define _UNARY_NOT_r22 1568 -#define _UNARY_NOT_r33 1569 -#define _UNPACK_EX_r10 1570 -#define _UNPACK_SEQUENCE_r10 1571 -#define _UNPACK_SEQUENCE_LIST_r10 1572 -#define _UNPACK_SEQUENCE_TUPLE_r10 1573 -#define _UNPACK_SEQUENCE_TWO_TUPLE_r12 1574 -#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r03 1575 -#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r13 1576 -#define _UNPACK_SEQUENCE_UNIQUE_TUPLE_r10 1577 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r02 1578 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r12 1579 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r23 1580 -#define _WITH_EXCEPT_START_r33 1581 -#define _YIELD_VALUE_r11 1582 -#define MAX_UOP_REGS_ID 1582 +#define _YIELD_VALUE 635 +#define MAX_UOP_ID 635 +#define _BINARY_OP_r23 636 +#define _BINARY_OP_ADD_FLOAT_r03 637 +#define _BINARY_OP_ADD_FLOAT_r13 638 +#define _BINARY_OP_ADD_FLOAT_r23 639 +#define _BINARY_OP_ADD_FLOAT_INPLACE_r03 640 +#define _BINARY_OP_ADD_FLOAT_INPLACE_r13 641 +#define _BINARY_OP_ADD_FLOAT_INPLACE_r23 642 +#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r03 643 +#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r13 644 +#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r23 645 +#define _BINARY_OP_ADD_INT_r03 646 +#define _BINARY_OP_ADD_INT_r13 647 +#define _BINARY_OP_ADD_INT_r23 648 +#define _BINARY_OP_ADD_INT_INPLACE_r03 649 +#define _BINARY_OP_ADD_INT_INPLACE_r13 650 +#define _BINARY_OP_ADD_INT_INPLACE_r23 651 +#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r03 652 +#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r13 653 +#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r23 654 +#define _BINARY_OP_ADD_UNICODE_r03 655 +#define _BINARY_OP_ADD_UNICODE_r13 656 +#define _BINARY_OP_ADD_UNICODE_r23 657 +#define _BINARY_OP_EXTEND_r23 658 +#define _BINARY_OP_INPLACE_ADD_UNICODE_r21 659 +#define _BINARY_OP_MULTIPLY_FLOAT_r03 660 +#define _BINARY_OP_MULTIPLY_FLOAT_r13 661 +#define _BINARY_OP_MULTIPLY_FLOAT_r23 662 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r03 663 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r13 664 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r23 665 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r03 666 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r13 667 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r23 668 +#define _BINARY_OP_MULTIPLY_INT_r03 669 +#define _BINARY_OP_MULTIPLY_INT_r13 670 +#define _BINARY_OP_MULTIPLY_INT_r23 671 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_r03 672 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_r13 673 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_r23 674 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r03 675 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r13 676 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r23 677 +#define _BINARY_OP_SUBSCR_CHECK_FUNC_r23 678 +#define _BINARY_OP_SUBSCR_DICT_r23 679 +#define _BINARY_OP_SUBSCR_DICT_KNOWN_HASH_r23 680 +#define _BINARY_OP_SUBSCR_INIT_CALL_r01 681 +#define _BINARY_OP_SUBSCR_INIT_CALL_r11 682 +#define _BINARY_OP_SUBSCR_INIT_CALL_r21 683 +#define _BINARY_OP_SUBSCR_INIT_CALL_r31 684 +#define _BINARY_OP_SUBSCR_LIST_INT_r23 685 +#define _BINARY_OP_SUBSCR_LIST_SLICE_r23 686 +#define _BINARY_OP_SUBSCR_STR_INT_r23 687 +#define _BINARY_OP_SUBSCR_TUPLE_INT_r03 688 +#define _BINARY_OP_SUBSCR_TUPLE_INT_r13 689 +#define _BINARY_OP_SUBSCR_TUPLE_INT_r23 690 +#define _BINARY_OP_SUBSCR_USTR_INT_r23 691 +#define _BINARY_OP_SUBTRACT_FLOAT_r03 692 +#define _BINARY_OP_SUBTRACT_FLOAT_r13 693 +#define _BINARY_OP_SUBTRACT_FLOAT_r23 694 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r03 695 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r13 696 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r23 697 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r03 698 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r13 699 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r23 700 +#define _BINARY_OP_SUBTRACT_INT_r03 701 +#define _BINARY_OP_SUBTRACT_INT_r13 702 +#define _BINARY_OP_SUBTRACT_INT_r23 703 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_r03 704 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_r13 705 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_r23 706 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r03 707 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r13 708 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r23 709 +#define _BINARY_SLICE_r31 710 +#define _BUILD_INTERPOLATION_r01 711 +#define _BUILD_LIST_r01 712 +#define _BUILD_MAP_r01 713 +#define _BUILD_SET_r01 714 +#define _BUILD_SLICE_r01 715 +#define _BUILD_STRING_r01 716 +#define _BUILD_TEMPLATE_r21 717 +#define _BUILD_TUPLE_r01 718 +#define _CALL_BUILTIN_CLASS_r01 719 +#define _CALL_BUILTIN_FAST_r00 720 +#define _CALL_BUILTIN_FAST_WITH_KEYWORDS_r01 721 +#define _CALL_BUILTIN_O_r03 722 +#define _CALL_FUNCTION_EX_NON_PY_GENERAL_r31 723 +#define _CALL_INTRINSIC_1_r12 724 +#define _CALL_INTRINSIC_2_r23 725 +#define _CALL_ISINSTANCE_r31 726 +#define _CALL_KW_NON_PY_r11 727 +#define _CALL_LEN_r33 728 +#define _CALL_LIST_APPEND_r03 729 +#define _CALL_LIST_APPEND_r13 730 +#define _CALL_LIST_APPEND_r23 731 +#define _CALL_LIST_APPEND_r33 732 +#define _CALL_METHOD_DESCRIPTOR_FAST_r01 733 +#define _CALL_METHOD_DESCRIPTOR_FAST_INLINE_r01 734 +#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r01 735 +#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_INLINE_r01 736 +#define _CALL_METHOD_DESCRIPTOR_NOARGS_r03 737 +#define _CALL_METHOD_DESCRIPTOR_NOARGS_INLINE_r03 738 +#define _CALL_METHOD_DESCRIPTOR_O_r03 739 +#define _CALL_METHOD_DESCRIPTOR_O_INLINE_r03 740 +#define _CALL_NON_PY_GENERAL_r01 741 +#define _CALL_STR_1_r32 742 +#define _CALL_TUPLE_1_r32 743 +#define _CALL_TYPE_1_r02 744 +#define _CALL_TYPE_1_r12 745 +#define _CALL_TYPE_1_r22 746 +#define _CALL_TYPE_1_r32 747 +#define _CHECK_AND_ALLOCATE_OBJECT_r00 748 +#define _CHECK_ATTR_CLASS_r01 749 +#define _CHECK_ATTR_CLASS_r11 750 +#define _CHECK_ATTR_CLASS_r22 751 +#define _CHECK_ATTR_CLASS_r33 752 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r01 753 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r11 754 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r22 755 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r33 756 +#define _CHECK_CALL_BOUND_METHOD_EXACT_ARGS_r00 757 +#define _CHECK_EG_MATCH_r22 758 +#define _CHECK_EXC_MATCH_r22 759 +#define _CHECK_FUNCTION_EXACT_ARGS_r00 760 +#define _CHECK_FUNCTION_VERSION_r00 761 +#define _CHECK_FUNCTION_VERSION_INLINE_r00 762 +#define _CHECK_FUNCTION_VERSION_INLINE_r11 763 +#define _CHECK_FUNCTION_VERSION_INLINE_r22 764 +#define _CHECK_FUNCTION_VERSION_INLINE_r33 765 +#define _CHECK_FUNCTION_VERSION_KW_r11 766 +#define _CHECK_IS_NOT_PY_CALLABLE_r00 767 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r03 768 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r13 769 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r23 770 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r33 771 +#define _CHECK_IS_NOT_PY_CALLABLE_KW_r11 772 +#define _CHECK_IS_PY_CALLABLE_EX_r03 773 +#define _CHECK_IS_PY_CALLABLE_EX_r13 774 +#define _CHECK_IS_PY_CALLABLE_EX_r23 775 +#define _CHECK_IS_PY_CALLABLE_EX_r33 776 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r01 777 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r11 778 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r22 779 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r33 780 +#define _CHECK_METHOD_VERSION_r00 781 +#define _CHECK_METHOD_VERSION_KW_r11 782 +#define _CHECK_PEP_523_r00 783 +#define _CHECK_PEP_523_r11 784 +#define _CHECK_PEP_523_r22 785 +#define _CHECK_PEP_523_r33 786 +#define _CHECK_PERIODIC_r00 787 +#define _CHECK_PERIODIC_AT_END_r00 788 +#define _CHECK_PERIODIC_IF_NOT_YIELD_FROM_r00 789 +#define _CHECK_RECURSION_LIMIT_r00 790 +#define _CHECK_RECURSION_LIMIT_r11 791 +#define _CHECK_RECURSION_LIMIT_r22 792 +#define _CHECK_RECURSION_LIMIT_r33 793 +#define _CHECK_RECURSION_REMAINING_r00 794 +#define _CHECK_RECURSION_REMAINING_r11 795 +#define _CHECK_RECURSION_REMAINING_r22 796 +#define _CHECK_RECURSION_REMAINING_r33 797 +#define _CHECK_STACK_SPACE_r00 798 +#define _CHECK_STACK_SPACE_OPERAND_r00 799 +#define _CHECK_STACK_SPACE_OPERAND_r11 800 +#define _CHECK_STACK_SPACE_OPERAND_r22 801 +#define _CHECK_STACK_SPACE_OPERAND_r33 802 +#define _CHECK_VALIDITY_r00 803 +#define _CHECK_VALIDITY_r11 804 +#define _CHECK_VALIDITY_r22 805 +#define _CHECK_VALIDITY_r33 806 +#define _COLD_DYNAMIC_EXIT_r00 807 +#define _COLD_EXIT_r00 808 +#define _COMPARE_OP_r21 809 +#define _COMPARE_OP_FLOAT_r03 810 +#define _COMPARE_OP_FLOAT_r13 811 +#define _COMPARE_OP_FLOAT_r23 812 +#define _COMPARE_OP_INT_r23 813 +#define _COMPARE_OP_STR_r23 814 +#define _CONTAINS_OP_r23 815 +#define _CONTAINS_OP_DICT_r23 816 +#define _CONTAINS_OP_SET_r23 817 +#define _CONVERT_VALUE_r11 818 +#define _COPY_r01 819 +#define _COPY_1_r02 820 +#define _COPY_1_r12 821 +#define _COPY_1_r23 822 +#define _COPY_2_r03 823 +#define _COPY_2_r13 824 +#define _COPY_2_r23 825 +#define _COPY_3_r03 826 +#define _COPY_3_r13 827 +#define _COPY_3_r23 828 +#define _COPY_3_r33 829 +#define _COPY_FREE_VARS_r00 830 +#define _COPY_FREE_VARS_r11 831 +#define _COPY_FREE_VARS_r22 832 +#define _COPY_FREE_VARS_r33 833 +#define _CREATE_INIT_FRAME_r01 834 +#define _DELETE_ATTR_r10 835 +#define _DELETE_DEREF_r00 836 +#define _DELETE_FAST_r00 837 +#define _DELETE_GLOBAL_r00 838 +#define _DELETE_NAME_r00 839 +#define _DELETE_SUBSCR_r20 840 +#define _DEOPT_r00 841 +#define _DEOPT_r10 842 +#define _DEOPT_r20 843 +#define _DEOPT_r30 844 +#define _DICT_MERGE_r11 845 +#define _DICT_UPDATE_r11 846 +#define _DO_CALL_r01 847 +#define _DO_CALL_FUNCTION_EX_r31 848 +#define _DO_CALL_KW_r11 849 +#define _DYNAMIC_EXIT_r00 850 +#define _DYNAMIC_EXIT_r10 851 +#define _DYNAMIC_EXIT_r20 852 +#define _DYNAMIC_EXIT_r30 853 +#define _END_FOR_r10 854 +#define _END_SEND_r31 855 +#define _ERROR_POP_N_r00 856 +#define _EXIT_INIT_CHECK_r10 857 +#define _EXIT_TRACE_r00 858 +#define _EXIT_TRACE_r10 859 +#define _EXIT_TRACE_r20 860 +#define _EXIT_TRACE_r30 861 +#define _EXPAND_METHOD_r00 862 +#define _EXPAND_METHOD_KW_r11 863 +#define _FATAL_ERROR_r00 864 +#define _FATAL_ERROR_r11 865 +#define _FATAL_ERROR_r22 866 +#define _FATAL_ERROR_r33 867 +#define _FORMAT_SIMPLE_r11 868 +#define _FORMAT_WITH_SPEC_r21 869 +#define _FOR_ITER_r23 870 +#define _FOR_ITER_GEN_FRAME_r03 871 +#define _FOR_ITER_GEN_FRAME_r13 872 +#define _FOR_ITER_GEN_FRAME_r23 873 +#define _FOR_ITER_TIER_TWO_r23 874 +#define _GET_AITER_r11 875 +#define _GET_ANEXT_r12 876 +#define _GET_AWAITABLE_r11 877 +#define _GET_ITER_r12 878 +#define _GET_LEN_r12 879 +#define _GUARD_BINARY_OP_EXTEND_r22 880 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r02 881 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r12 882 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r22 883 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r33 884 +#define _GUARD_BIT_IS_SET_POP_r00 885 +#define _GUARD_BIT_IS_SET_POP_r10 886 +#define _GUARD_BIT_IS_SET_POP_r21 887 +#define _GUARD_BIT_IS_SET_POP_r32 888 +#define _GUARD_BIT_IS_SET_POP_4_r00 889 +#define _GUARD_BIT_IS_SET_POP_4_r10 890 +#define _GUARD_BIT_IS_SET_POP_4_r21 891 +#define _GUARD_BIT_IS_SET_POP_4_r32 892 +#define _GUARD_BIT_IS_SET_POP_5_r00 893 +#define _GUARD_BIT_IS_SET_POP_5_r10 894 +#define _GUARD_BIT_IS_SET_POP_5_r21 895 +#define _GUARD_BIT_IS_SET_POP_5_r32 896 +#define _GUARD_BIT_IS_SET_POP_6_r00 897 +#define _GUARD_BIT_IS_SET_POP_6_r10 898 +#define _GUARD_BIT_IS_SET_POP_6_r21 899 +#define _GUARD_BIT_IS_SET_POP_6_r32 900 +#define _GUARD_BIT_IS_SET_POP_7_r00 901 +#define _GUARD_BIT_IS_SET_POP_7_r10 902 +#define _GUARD_BIT_IS_SET_POP_7_r21 903 +#define _GUARD_BIT_IS_SET_POP_7_r32 904 +#define _GUARD_BIT_IS_UNSET_POP_r00 905 +#define _GUARD_BIT_IS_UNSET_POP_r10 906 +#define _GUARD_BIT_IS_UNSET_POP_r21 907 +#define _GUARD_BIT_IS_UNSET_POP_r32 908 +#define _GUARD_BIT_IS_UNSET_POP_4_r00 909 +#define _GUARD_BIT_IS_UNSET_POP_4_r10 910 +#define _GUARD_BIT_IS_UNSET_POP_4_r21 911 +#define _GUARD_BIT_IS_UNSET_POP_4_r32 912 +#define _GUARD_BIT_IS_UNSET_POP_5_r00 913 +#define _GUARD_BIT_IS_UNSET_POP_5_r10 914 +#define _GUARD_BIT_IS_UNSET_POP_5_r21 915 +#define _GUARD_BIT_IS_UNSET_POP_5_r32 916 +#define _GUARD_BIT_IS_UNSET_POP_6_r00 917 +#define _GUARD_BIT_IS_UNSET_POP_6_r10 918 +#define _GUARD_BIT_IS_UNSET_POP_6_r21 919 +#define _GUARD_BIT_IS_UNSET_POP_6_r32 920 +#define _GUARD_BIT_IS_UNSET_POP_7_r00 921 +#define _GUARD_BIT_IS_UNSET_POP_7_r10 922 +#define _GUARD_BIT_IS_UNSET_POP_7_r21 923 +#define _GUARD_BIT_IS_UNSET_POP_7_r32 924 +#define _GUARD_CALLABLE_BUILTIN_FAST_r00 925 +#define _GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS_r00 926 +#define _GUARD_CALLABLE_BUILTIN_O_r00 927 +#define _GUARD_CALLABLE_ISINSTANCE_r03 928 +#define _GUARD_CALLABLE_ISINSTANCE_r13 929 +#define _GUARD_CALLABLE_ISINSTANCE_r23 930 +#define _GUARD_CALLABLE_ISINSTANCE_r33 931 +#define _GUARD_CALLABLE_LEN_r03 932 +#define _GUARD_CALLABLE_LEN_r13 933 +#define _GUARD_CALLABLE_LEN_r23 934 +#define _GUARD_CALLABLE_LEN_r33 935 +#define _GUARD_CALLABLE_LIST_APPEND_r03 936 +#define _GUARD_CALLABLE_LIST_APPEND_r13 937 +#define _GUARD_CALLABLE_LIST_APPEND_r23 938 +#define _GUARD_CALLABLE_LIST_APPEND_r33 939 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_r00 940 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r00 941 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_NOARGS_r00 942 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_O_r00 943 +#define _GUARD_CALLABLE_STR_1_r03 944 +#define _GUARD_CALLABLE_STR_1_r13 945 +#define _GUARD_CALLABLE_STR_1_r23 946 +#define _GUARD_CALLABLE_STR_1_r33 947 +#define _GUARD_CALLABLE_TUPLE_1_r03 948 +#define _GUARD_CALLABLE_TUPLE_1_r13 949 +#define _GUARD_CALLABLE_TUPLE_1_r23 950 +#define _GUARD_CALLABLE_TUPLE_1_r33 951 +#define _GUARD_CALLABLE_TYPE_1_r03 952 +#define _GUARD_CALLABLE_TYPE_1_r13 953 +#define _GUARD_CALLABLE_TYPE_1_r23 954 +#define _GUARD_CALLABLE_TYPE_1_r33 955 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r00 956 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r11 957 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r22 958 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r33 959 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r00 960 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r11 961 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r22 962 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r33 963 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r00 964 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r11 965 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r22 966 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r33 967 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r00 968 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r11 969 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r22 970 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r33 971 +#define _GUARD_DORV_NO_DICT_r01 972 +#define _GUARD_DORV_NO_DICT_r11 973 +#define _GUARD_DORV_NO_DICT_r22 974 +#define _GUARD_DORV_NO_DICT_r33 975 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r01 976 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r11 977 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r22 978 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r33 979 +#define _GUARD_GLOBALS_VERSION_r00 980 +#define _GUARD_GLOBALS_VERSION_r11 981 +#define _GUARD_GLOBALS_VERSION_r22 982 +#define _GUARD_GLOBALS_VERSION_r33 983 +#define _GUARD_IP_RETURN_GENERATOR_r00 984 +#define _GUARD_IP_RETURN_GENERATOR_r11 985 +#define _GUARD_IP_RETURN_GENERATOR_r22 986 +#define _GUARD_IP_RETURN_GENERATOR_r33 987 +#define _GUARD_IP_RETURN_VALUE_r00 988 +#define _GUARD_IP_RETURN_VALUE_r11 989 +#define _GUARD_IP_RETURN_VALUE_r22 990 +#define _GUARD_IP_RETURN_VALUE_r33 991 +#define _GUARD_IP_YIELD_VALUE_r00 992 +#define _GUARD_IP_YIELD_VALUE_r11 993 +#define _GUARD_IP_YIELD_VALUE_r22 994 +#define _GUARD_IP_YIELD_VALUE_r33 995 +#define _GUARD_IP__PUSH_FRAME_r00 996 +#define _GUARD_IP__PUSH_FRAME_r11 997 +#define _GUARD_IP__PUSH_FRAME_r22 998 +#define _GUARD_IP__PUSH_FRAME_r33 999 +#define _GUARD_IS_FALSE_POP_r00 1000 +#define _GUARD_IS_FALSE_POP_r10 1001 +#define _GUARD_IS_FALSE_POP_r21 1002 +#define _GUARD_IS_FALSE_POP_r32 1003 +#define _GUARD_IS_NONE_POP_r00 1004 +#define _GUARD_IS_NONE_POP_r10 1005 +#define _GUARD_IS_NONE_POP_r21 1006 +#define _GUARD_IS_NONE_POP_r32 1007 +#define _GUARD_IS_NOT_NONE_POP_r10 1008 +#define _GUARD_IS_TRUE_POP_r00 1009 +#define _GUARD_IS_TRUE_POP_r10 1010 +#define _GUARD_IS_TRUE_POP_r21 1011 +#define _GUARD_IS_TRUE_POP_r32 1012 +#define _GUARD_KEYS_VERSION_r01 1013 +#define _GUARD_KEYS_VERSION_r11 1014 +#define _GUARD_KEYS_VERSION_r22 1015 +#define _GUARD_KEYS_VERSION_r33 1016 +#define _GUARD_LOAD_SUPER_ATTR_METHOD_r03 1017 +#define _GUARD_LOAD_SUPER_ATTR_METHOD_r13 1018 +#define _GUARD_LOAD_SUPER_ATTR_METHOD_r23 1019 +#define _GUARD_LOAD_SUPER_ATTR_METHOD_r33 1020 +#define _GUARD_NOS_ANY_DICT_r02 1021 +#define _GUARD_NOS_ANY_DICT_r12 1022 +#define _GUARD_NOS_ANY_DICT_r22 1023 +#define _GUARD_NOS_ANY_DICT_r33 1024 +#define _GUARD_NOS_COMPACT_ASCII_r02 1025 +#define _GUARD_NOS_COMPACT_ASCII_r12 1026 +#define _GUARD_NOS_COMPACT_ASCII_r22 1027 +#define _GUARD_NOS_COMPACT_ASCII_r33 1028 +#define _GUARD_NOS_DICT_r02 1029 +#define _GUARD_NOS_DICT_r12 1030 +#define _GUARD_NOS_DICT_r22 1031 +#define _GUARD_NOS_DICT_r33 1032 +#define _GUARD_NOS_FLOAT_r02 1033 +#define _GUARD_NOS_FLOAT_r12 1034 +#define _GUARD_NOS_FLOAT_r22 1035 +#define _GUARD_NOS_FLOAT_r33 1036 +#define _GUARD_NOS_INT_r02 1037 +#define _GUARD_NOS_INT_r12 1038 +#define _GUARD_NOS_INT_r22 1039 +#define _GUARD_NOS_INT_r33 1040 +#define _GUARD_NOS_LIST_r02 1041 +#define _GUARD_NOS_LIST_r12 1042 +#define _GUARD_NOS_LIST_r22 1043 +#define _GUARD_NOS_LIST_r33 1044 +#define _GUARD_NOS_NOT_NULL_r02 1045 +#define _GUARD_NOS_NOT_NULL_r12 1046 +#define _GUARD_NOS_NOT_NULL_r22 1047 +#define _GUARD_NOS_NOT_NULL_r33 1048 +#define _GUARD_NOS_NULL_r02 1049 +#define _GUARD_NOS_NULL_r12 1050 +#define _GUARD_NOS_NULL_r22 1051 +#define _GUARD_NOS_NULL_r33 1052 +#define _GUARD_NOS_OVERFLOWED_r02 1053 +#define _GUARD_NOS_OVERFLOWED_r12 1054 +#define _GUARD_NOS_OVERFLOWED_r22 1055 +#define _GUARD_NOS_OVERFLOWED_r33 1056 +#define _GUARD_NOS_TUPLE_r02 1057 +#define _GUARD_NOS_TUPLE_r12 1058 +#define _GUARD_NOS_TUPLE_r22 1059 +#define _GUARD_NOS_TUPLE_r33 1060 +#define _GUARD_NOS_TYPE_VERSION_r02 1061 +#define _GUARD_NOS_TYPE_VERSION_r12 1062 +#define _GUARD_NOS_TYPE_VERSION_r22 1063 +#define _GUARD_NOS_TYPE_VERSION_r33 1064 +#define _GUARD_NOS_UNICODE_r02 1065 +#define _GUARD_NOS_UNICODE_r12 1066 +#define _GUARD_NOS_UNICODE_r22 1067 +#define _GUARD_NOS_UNICODE_r33 1068 +#define _GUARD_NOT_EXHAUSTED_LIST_r02 1069 +#define _GUARD_NOT_EXHAUSTED_LIST_r12 1070 +#define _GUARD_NOT_EXHAUSTED_LIST_r22 1071 +#define _GUARD_NOT_EXHAUSTED_LIST_r33 1072 +#define _GUARD_NOT_EXHAUSTED_RANGE_r02 1073 +#define _GUARD_NOT_EXHAUSTED_RANGE_r12 1074 +#define _GUARD_NOT_EXHAUSTED_RANGE_r22 1075 +#define _GUARD_NOT_EXHAUSTED_RANGE_r33 1076 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r02 1077 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r12 1078 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r22 1079 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r33 1080 +#define _GUARD_THIRD_NULL_r03 1081 +#define _GUARD_THIRD_NULL_r13 1082 +#define _GUARD_THIRD_NULL_r23 1083 +#define _GUARD_THIRD_NULL_r33 1084 +#define _GUARD_TOS_ANY_DICT_r01 1085 +#define _GUARD_TOS_ANY_DICT_r11 1086 +#define _GUARD_TOS_ANY_DICT_r22 1087 +#define _GUARD_TOS_ANY_DICT_r33 1088 +#define _GUARD_TOS_ANY_SET_r01 1089 +#define _GUARD_TOS_ANY_SET_r11 1090 +#define _GUARD_TOS_ANY_SET_r22 1091 +#define _GUARD_TOS_ANY_SET_r33 1092 +#define _GUARD_TOS_DICT_r01 1093 +#define _GUARD_TOS_DICT_r11 1094 +#define _GUARD_TOS_DICT_r22 1095 +#define _GUARD_TOS_DICT_r33 1096 +#define _GUARD_TOS_FLOAT_r01 1097 +#define _GUARD_TOS_FLOAT_r11 1098 +#define _GUARD_TOS_FLOAT_r22 1099 +#define _GUARD_TOS_FLOAT_r33 1100 +#define _GUARD_TOS_FROZENDICT_r01 1101 +#define _GUARD_TOS_FROZENDICT_r11 1102 +#define _GUARD_TOS_FROZENDICT_r22 1103 +#define _GUARD_TOS_FROZENDICT_r33 1104 +#define _GUARD_TOS_FROZENSET_r01 1105 +#define _GUARD_TOS_FROZENSET_r11 1106 +#define _GUARD_TOS_FROZENSET_r22 1107 +#define _GUARD_TOS_FROZENSET_r33 1108 +#define _GUARD_TOS_INT_r01 1109 +#define _GUARD_TOS_INT_r11 1110 +#define _GUARD_TOS_INT_r22 1111 +#define _GUARD_TOS_INT_r33 1112 +#define _GUARD_TOS_LIST_r01 1113 +#define _GUARD_TOS_LIST_r11 1114 +#define _GUARD_TOS_LIST_r22 1115 +#define _GUARD_TOS_LIST_r33 1116 +#define _GUARD_TOS_OVERFLOWED_r01 1117 +#define _GUARD_TOS_OVERFLOWED_r11 1118 +#define _GUARD_TOS_OVERFLOWED_r22 1119 +#define _GUARD_TOS_OVERFLOWED_r33 1120 +#define _GUARD_TOS_SET_r01 1121 +#define _GUARD_TOS_SET_r11 1122 +#define _GUARD_TOS_SET_r22 1123 +#define _GUARD_TOS_SET_r33 1124 +#define _GUARD_TOS_SLICE_r01 1125 +#define _GUARD_TOS_SLICE_r11 1126 +#define _GUARD_TOS_SLICE_r22 1127 +#define _GUARD_TOS_SLICE_r33 1128 +#define _GUARD_TOS_TUPLE_r01 1129 +#define _GUARD_TOS_TUPLE_r11 1130 +#define _GUARD_TOS_TUPLE_r22 1131 +#define _GUARD_TOS_TUPLE_r33 1132 +#define _GUARD_TOS_UNICODE_r01 1133 +#define _GUARD_TOS_UNICODE_r11 1134 +#define _GUARD_TOS_UNICODE_r22 1135 +#define _GUARD_TOS_UNICODE_r33 1136 +#define _GUARD_TYPE_VERSION_r01 1137 +#define _GUARD_TYPE_VERSION_r11 1138 +#define _GUARD_TYPE_VERSION_r22 1139 +#define _GUARD_TYPE_VERSION_r33 1140 +#define _GUARD_TYPE_VERSION_LOCKED_r01 1141 +#define _GUARD_TYPE_VERSION_LOCKED_r11 1142 +#define _GUARD_TYPE_VERSION_LOCKED_r22 1143 +#define _GUARD_TYPE_VERSION_LOCKED_r33 1144 +#define _HANDLE_PENDING_AND_DEOPT_r00 1145 +#define _HANDLE_PENDING_AND_DEOPT_r10 1146 +#define _HANDLE_PENDING_AND_DEOPT_r20 1147 +#define _HANDLE_PENDING_AND_DEOPT_r30 1148 +#define _IMPORT_FROM_r12 1149 +#define _IMPORT_NAME_r21 1150 +#define _INIT_CALL_BOUND_METHOD_EXACT_ARGS_r00 1151 +#define _INIT_CALL_PY_EXACT_ARGS_r01 1152 +#define _INIT_CALL_PY_EXACT_ARGS_0_r01 1153 +#define _INIT_CALL_PY_EXACT_ARGS_1_r01 1154 +#define _INIT_CALL_PY_EXACT_ARGS_2_r01 1155 +#define _INIT_CALL_PY_EXACT_ARGS_3_r01 1156 +#define _INIT_CALL_PY_EXACT_ARGS_4_r01 1157 +#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r03 1158 +#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r13 1159 +#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r23 1160 +#define _INSERT_NULL_r10 1161 +#define _INSTRUMENTED_FOR_ITER_r23 1162 +#define _INSTRUMENTED_INSTRUCTION_r00 1163 +#define _INSTRUMENTED_JUMP_FORWARD_r00 1164 +#define _INSTRUMENTED_JUMP_FORWARD_r11 1165 +#define _INSTRUMENTED_JUMP_FORWARD_r22 1166 +#define _INSTRUMENTED_JUMP_FORWARD_r33 1167 +#define _INSTRUMENTED_LINE_r00 1168 +#define _INSTRUMENTED_NOT_TAKEN_r00 1169 +#define _INSTRUMENTED_NOT_TAKEN_r11 1170 +#define _INSTRUMENTED_NOT_TAKEN_r22 1171 +#define _INSTRUMENTED_NOT_TAKEN_r33 1172 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r00 1173 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r10 1174 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r21 1175 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r32 1176 +#define _INSTRUMENTED_POP_JUMP_IF_NONE_r10 1177 +#define _INSTRUMENTED_POP_JUMP_IF_NOT_NONE_r10 1178 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r00 1179 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r10 1180 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r21 1181 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r32 1182 +#define _IS_NONE_r11 1183 +#define _IS_OP_r03 1184 +#define _IS_OP_r13 1185 +#define _IS_OP_r23 1186 +#define _ITER_CHECK_LIST_r02 1187 +#define _ITER_CHECK_LIST_r12 1188 +#define _ITER_CHECK_LIST_r22 1189 +#define _ITER_CHECK_LIST_r33 1190 +#define _ITER_CHECK_RANGE_r02 1191 +#define _ITER_CHECK_RANGE_r12 1192 +#define _ITER_CHECK_RANGE_r22 1193 +#define _ITER_CHECK_RANGE_r33 1194 +#define _ITER_CHECK_TUPLE_r02 1195 +#define _ITER_CHECK_TUPLE_r12 1196 +#define _ITER_CHECK_TUPLE_r22 1197 +#define _ITER_CHECK_TUPLE_r33 1198 +#define _ITER_JUMP_LIST_r02 1199 +#define _ITER_JUMP_LIST_r12 1200 +#define _ITER_JUMP_LIST_r22 1201 +#define _ITER_JUMP_LIST_r33 1202 +#define _ITER_JUMP_RANGE_r02 1203 +#define _ITER_JUMP_RANGE_r12 1204 +#define _ITER_JUMP_RANGE_r22 1205 +#define _ITER_JUMP_RANGE_r33 1206 +#define _ITER_JUMP_TUPLE_r02 1207 +#define _ITER_JUMP_TUPLE_r12 1208 +#define _ITER_JUMP_TUPLE_r22 1209 +#define _ITER_JUMP_TUPLE_r33 1210 +#define _ITER_NEXT_LIST_r23 1211 +#define _ITER_NEXT_LIST_TIER_TWO_r23 1212 +#define _ITER_NEXT_RANGE_r03 1213 +#define _ITER_NEXT_RANGE_r13 1214 +#define _ITER_NEXT_RANGE_r23 1215 +#define _ITER_NEXT_TUPLE_r03 1216 +#define _ITER_NEXT_TUPLE_r13 1217 +#define _ITER_NEXT_TUPLE_r23 1218 +#define _JUMP_BACKWARD_NO_INTERRUPT_r00 1219 +#define _JUMP_BACKWARD_NO_INTERRUPT_r11 1220 +#define _JUMP_BACKWARD_NO_INTERRUPT_r22 1221 +#define _JUMP_BACKWARD_NO_INTERRUPT_r33 1222 +#define _JUMP_TO_TOP_r00 1223 +#define _LIST_APPEND_r10 1224 +#define _LIST_EXTEND_r11 1225 +#define _LOAD_ATTR_r10 1226 +#define _LOAD_ATTR_CLASS_r11 1227 +#define _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN_r11 1228 +#define _LOAD_ATTR_INSTANCE_VALUE_r02 1229 +#define _LOAD_ATTR_INSTANCE_VALUE_r12 1230 +#define _LOAD_ATTR_INSTANCE_VALUE_r23 1231 +#define _LOAD_ATTR_METHOD_LAZY_DICT_r02 1232 +#define _LOAD_ATTR_METHOD_LAZY_DICT_r12 1233 +#define _LOAD_ATTR_METHOD_LAZY_DICT_r23 1234 +#define _LOAD_ATTR_METHOD_NO_DICT_r02 1235 +#define _LOAD_ATTR_METHOD_NO_DICT_r12 1236 +#define _LOAD_ATTR_METHOD_NO_DICT_r23 1237 +#define _LOAD_ATTR_METHOD_WITH_VALUES_r02 1238 +#define _LOAD_ATTR_METHOD_WITH_VALUES_r12 1239 +#define _LOAD_ATTR_METHOD_WITH_VALUES_r23 1240 +#define _LOAD_ATTR_MODULE_r12 1241 +#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT_r11 1242 +#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES_r11 1243 +#define _LOAD_ATTR_PROPERTY_FRAME_r11 1244 +#define _LOAD_ATTR_SLOT_r02 1245 +#define _LOAD_ATTR_SLOT_r12 1246 +#define _LOAD_ATTR_SLOT_r23 1247 +#define _LOAD_ATTR_WITH_HINT_r12 1248 +#define _LOAD_BUILD_CLASS_r01 1249 +#define _LOAD_BYTECODE_r00 1250 +#define _LOAD_COMMON_CONSTANT_r01 1251 +#define _LOAD_COMMON_CONSTANT_r12 1252 +#define _LOAD_COMMON_CONSTANT_r23 1253 +#define _LOAD_CONST_r01 1254 +#define _LOAD_CONST_r12 1255 +#define _LOAD_CONST_r23 1256 +#define _LOAD_CONST_INLINE_r01 1257 +#define _LOAD_CONST_INLINE_r12 1258 +#define _LOAD_CONST_INLINE_r23 1259 +#define _LOAD_CONST_INLINE_BORROW_r01 1260 +#define _LOAD_CONST_INLINE_BORROW_r12 1261 +#define _LOAD_CONST_INLINE_BORROW_r23 1262 +#define _LOAD_DEREF_r01 1263 +#define _LOAD_FAST_r01 1264 +#define _LOAD_FAST_r12 1265 +#define _LOAD_FAST_r23 1266 +#define _LOAD_FAST_0_r01 1267 +#define _LOAD_FAST_0_r12 1268 +#define _LOAD_FAST_0_r23 1269 +#define _LOAD_FAST_1_r01 1270 +#define _LOAD_FAST_1_r12 1271 +#define _LOAD_FAST_1_r23 1272 +#define _LOAD_FAST_2_r01 1273 +#define _LOAD_FAST_2_r12 1274 +#define _LOAD_FAST_2_r23 1275 +#define _LOAD_FAST_3_r01 1276 +#define _LOAD_FAST_3_r12 1277 +#define _LOAD_FAST_3_r23 1278 +#define _LOAD_FAST_4_r01 1279 +#define _LOAD_FAST_4_r12 1280 +#define _LOAD_FAST_4_r23 1281 +#define _LOAD_FAST_5_r01 1282 +#define _LOAD_FAST_5_r12 1283 +#define _LOAD_FAST_5_r23 1284 +#define _LOAD_FAST_6_r01 1285 +#define _LOAD_FAST_6_r12 1286 +#define _LOAD_FAST_6_r23 1287 +#define _LOAD_FAST_7_r01 1288 +#define _LOAD_FAST_7_r12 1289 +#define _LOAD_FAST_7_r23 1290 +#define _LOAD_FAST_AND_CLEAR_r01 1291 +#define _LOAD_FAST_AND_CLEAR_r12 1292 +#define _LOAD_FAST_AND_CLEAR_r23 1293 +#define _LOAD_FAST_BORROW_r01 1294 +#define _LOAD_FAST_BORROW_r12 1295 +#define _LOAD_FAST_BORROW_r23 1296 +#define _LOAD_FAST_BORROW_0_r01 1297 +#define _LOAD_FAST_BORROW_0_r12 1298 +#define _LOAD_FAST_BORROW_0_r23 1299 +#define _LOAD_FAST_BORROW_1_r01 1300 +#define _LOAD_FAST_BORROW_1_r12 1301 +#define _LOAD_FAST_BORROW_1_r23 1302 +#define _LOAD_FAST_BORROW_2_r01 1303 +#define _LOAD_FAST_BORROW_2_r12 1304 +#define _LOAD_FAST_BORROW_2_r23 1305 +#define _LOAD_FAST_BORROW_3_r01 1306 +#define _LOAD_FAST_BORROW_3_r12 1307 +#define _LOAD_FAST_BORROW_3_r23 1308 +#define _LOAD_FAST_BORROW_4_r01 1309 +#define _LOAD_FAST_BORROW_4_r12 1310 +#define _LOAD_FAST_BORROW_4_r23 1311 +#define _LOAD_FAST_BORROW_5_r01 1312 +#define _LOAD_FAST_BORROW_5_r12 1313 +#define _LOAD_FAST_BORROW_5_r23 1314 +#define _LOAD_FAST_BORROW_6_r01 1315 +#define _LOAD_FAST_BORROW_6_r12 1316 +#define _LOAD_FAST_BORROW_6_r23 1317 +#define _LOAD_FAST_BORROW_7_r01 1318 +#define _LOAD_FAST_BORROW_7_r12 1319 +#define _LOAD_FAST_BORROW_7_r23 1320 +#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r02 1321 +#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r13 1322 +#define _LOAD_FAST_CHECK_r01 1323 +#define _LOAD_FAST_CHECK_r12 1324 +#define _LOAD_FAST_CHECK_r23 1325 +#define _LOAD_FAST_LOAD_FAST_r02 1326 +#define _LOAD_FAST_LOAD_FAST_r13 1327 +#define _LOAD_FROM_DICT_OR_DEREF_r11 1328 +#define _LOAD_FROM_DICT_OR_GLOBALS_r11 1329 +#define _LOAD_GLOBAL_r00 1330 +#define _LOAD_GLOBAL_BUILTINS_r01 1331 +#define _LOAD_GLOBAL_MODULE_r01 1332 +#define _LOAD_LOCALS_r01 1333 +#define _LOAD_LOCALS_r12 1334 +#define _LOAD_LOCALS_r23 1335 +#define _LOAD_NAME_r01 1336 +#define _LOAD_SMALL_INT_r01 1337 +#define _LOAD_SMALL_INT_r12 1338 +#define _LOAD_SMALL_INT_r23 1339 +#define _LOAD_SMALL_INT_0_r01 1340 +#define _LOAD_SMALL_INT_0_r12 1341 +#define _LOAD_SMALL_INT_0_r23 1342 +#define _LOAD_SMALL_INT_1_r01 1343 +#define _LOAD_SMALL_INT_1_r12 1344 +#define _LOAD_SMALL_INT_1_r23 1345 +#define _LOAD_SMALL_INT_2_r01 1346 +#define _LOAD_SMALL_INT_2_r12 1347 +#define _LOAD_SMALL_INT_2_r23 1348 +#define _LOAD_SMALL_INT_3_r01 1349 +#define _LOAD_SMALL_INT_3_r12 1350 +#define _LOAD_SMALL_INT_3_r23 1351 +#define _LOAD_SPECIAL_r00 1352 +#define _LOAD_SUPER_ATTR_ATTR_r31 1353 +#define _LOAD_SUPER_ATTR_METHOD_r32 1354 +#define _LOCK_OBJECT_r01 1355 +#define _LOCK_OBJECT_r11 1356 +#define _LOCK_OBJECT_r22 1357 +#define _LOCK_OBJECT_r33 1358 +#define _MAKE_CALLARGS_A_TUPLE_r33 1359 +#define _MAKE_CELL_r00 1360 +#define _MAKE_FUNCTION_r12 1361 +#define _MAKE_HEAP_SAFE_r01 1362 +#define _MAKE_HEAP_SAFE_r11 1363 +#define _MAKE_HEAP_SAFE_r22 1364 +#define _MAKE_HEAP_SAFE_r33 1365 +#define _MAKE_WARM_r00 1366 +#define _MAKE_WARM_r11 1367 +#define _MAKE_WARM_r22 1368 +#define _MAKE_WARM_r33 1369 +#define _MAP_ADD_r20 1370 +#define _MATCH_CLASS_r33 1371 +#define _MATCH_KEYS_r23 1372 +#define _MATCH_MAPPING_r02 1373 +#define _MATCH_MAPPING_r12 1374 +#define _MATCH_MAPPING_r23 1375 +#define _MATCH_SEQUENCE_r02 1376 +#define _MATCH_SEQUENCE_r12 1377 +#define _MATCH_SEQUENCE_r23 1378 +#define _MAYBE_EXPAND_METHOD_r00 1379 +#define _MAYBE_EXPAND_METHOD_KW_r11 1380 +#define _MONITOR_CALL_r00 1381 +#define _MONITOR_CALL_KW_r11 1382 +#define _MONITOR_JUMP_BACKWARD_r00 1383 +#define _MONITOR_JUMP_BACKWARD_r11 1384 +#define _MONITOR_JUMP_BACKWARD_r22 1385 +#define _MONITOR_JUMP_BACKWARD_r33 1386 +#define _MONITOR_RESUME_r00 1387 +#define _NOP_r00 1388 +#define _NOP_r11 1389 +#define _NOP_r22 1390 +#define _NOP_r33 1391 +#define _POP_CALL_r20 1392 +#define _POP_CALL_ONE_r30 1393 +#define _POP_CALL_TWO_r30 1394 +#define _POP_EXCEPT_r10 1395 +#define _POP_ITER_r20 1396 +#define _POP_JUMP_IF_FALSE_r00 1397 +#define _POP_JUMP_IF_FALSE_r10 1398 +#define _POP_JUMP_IF_FALSE_r21 1399 +#define _POP_JUMP_IF_FALSE_r32 1400 +#define _POP_JUMP_IF_TRUE_r00 1401 +#define _POP_JUMP_IF_TRUE_r10 1402 +#define _POP_JUMP_IF_TRUE_r21 1403 +#define _POP_JUMP_IF_TRUE_r32 1404 +#define _POP_TOP_r10 1405 +#define _POP_TOP_FLOAT_r00 1406 +#define _POP_TOP_FLOAT_r10 1407 +#define _POP_TOP_FLOAT_r21 1408 +#define _POP_TOP_FLOAT_r32 1409 +#define _POP_TOP_INT_r00 1410 +#define _POP_TOP_INT_r10 1411 +#define _POP_TOP_INT_r21 1412 +#define _POP_TOP_INT_r32 1413 +#define _POP_TOP_LOAD_CONST_INLINE_r11 1414 +#define _POP_TOP_LOAD_CONST_INLINE_BORROW_r11 1415 +#define _POP_TOP_NOP_r00 1416 +#define _POP_TOP_NOP_r10 1417 +#define _POP_TOP_NOP_r21 1418 +#define _POP_TOP_NOP_r32 1419 +#define _POP_TOP_OPARG_r00 1420 +#define _POP_TOP_UNICODE_r00 1421 +#define _POP_TOP_UNICODE_r10 1422 +#define _POP_TOP_UNICODE_r21 1423 +#define _POP_TOP_UNICODE_r32 1424 +#define _POP_TWO_r20 1425 +#define _POP_TWO_LOAD_CONST_INLINE_BORROW_r21 1426 +#define _PUSH_EXC_INFO_r02 1427 +#define _PUSH_EXC_INFO_r12 1428 +#define _PUSH_EXC_INFO_r23 1429 +#define _PUSH_FRAME_r10 1430 +#define _PUSH_NULL_r01 1431 +#define _PUSH_NULL_r12 1432 +#define _PUSH_NULL_r23 1433 +#define _PUSH_NULL_CONDITIONAL_r00 1434 +#define _PY_FRAME_EX_r31 1435 +#define _PY_FRAME_GENERAL_r01 1436 +#define _PY_FRAME_KW_r11 1437 +#define _REPLACE_WITH_TRUE_r02 1438 +#define _REPLACE_WITH_TRUE_r12 1439 +#define _REPLACE_WITH_TRUE_r23 1440 +#define _RESUME_CHECK_r00 1441 +#define _RESUME_CHECK_r11 1442 +#define _RESUME_CHECK_r22 1443 +#define _RESUME_CHECK_r33 1444 +#define _RETURN_GENERATOR_r01 1445 +#define _RETURN_VALUE_r11 1446 +#define _SAVE_RETURN_OFFSET_r00 1447 +#define _SAVE_RETURN_OFFSET_r11 1448 +#define _SAVE_RETURN_OFFSET_r22 1449 +#define _SAVE_RETURN_OFFSET_r33 1450 +#define _SEND_r33 1451 +#define _SEND_GEN_FRAME_r33 1452 +#define _SETUP_ANNOTATIONS_r00 1453 +#define _SET_ADD_r10 1454 +#define _SET_FUNCTION_ATTRIBUTE_r01 1455 +#define _SET_FUNCTION_ATTRIBUTE_r11 1456 +#define _SET_FUNCTION_ATTRIBUTE_r21 1457 +#define _SET_FUNCTION_ATTRIBUTE_r32 1458 +#define _SET_IP_r00 1459 +#define _SET_IP_r11 1460 +#define _SET_IP_r22 1461 +#define _SET_IP_r33 1462 +#define _SET_UPDATE_r11 1463 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03 1464 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13 1465 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r23 1466 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33 1467 +#define _SPILL_OR_RELOAD_r01 1468 +#define _SPILL_OR_RELOAD_r02 1469 +#define _SPILL_OR_RELOAD_r03 1470 +#define _SPILL_OR_RELOAD_r10 1471 +#define _SPILL_OR_RELOAD_r12 1472 +#define _SPILL_OR_RELOAD_r13 1473 +#define _SPILL_OR_RELOAD_r20 1474 +#define _SPILL_OR_RELOAD_r21 1475 +#define _SPILL_OR_RELOAD_r23 1476 +#define _SPILL_OR_RELOAD_r30 1477 +#define _SPILL_OR_RELOAD_r31 1478 +#define _SPILL_OR_RELOAD_r32 1479 +#define _START_EXECUTOR_r00 1480 +#define _STORE_ATTR_r20 1481 +#define _STORE_ATTR_INSTANCE_VALUE_r21 1482 +#define _STORE_ATTR_SLOT_r21 1483 +#define _STORE_ATTR_WITH_HINT_r21 1484 +#define _STORE_DEREF_r10 1485 +#define _STORE_FAST_LOAD_FAST_r11 1486 +#define _STORE_FAST_STORE_FAST_r20 1487 +#define _STORE_GLOBAL_r10 1488 +#define _STORE_NAME_r10 1489 +#define _STORE_SLICE_r30 1490 +#define _STORE_SUBSCR_r30 1491 +#define _STORE_SUBSCR_DICT_r31 1492 +#define _STORE_SUBSCR_DICT_KNOWN_HASH_r31 1493 +#define _STORE_SUBSCR_LIST_INT_r32 1494 +#define _SWAP_r11 1495 +#define _SWAP_2_r02 1496 +#define _SWAP_2_r12 1497 +#define _SWAP_2_r22 1498 +#define _SWAP_2_r33 1499 +#define _SWAP_3_r03 1500 +#define _SWAP_3_r13 1501 +#define _SWAP_3_r23 1502 +#define _SWAP_3_r33 1503 +#define _SWAP_FAST_r01 1504 +#define _SWAP_FAST_r11 1505 +#define _SWAP_FAST_r22 1506 +#define _SWAP_FAST_r33 1507 +#define _SWAP_FAST_0_r01 1508 +#define _SWAP_FAST_0_r11 1509 +#define _SWAP_FAST_0_r22 1510 +#define _SWAP_FAST_0_r33 1511 +#define _SWAP_FAST_1_r01 1512 +#define _SWAP_FAST_1_r11 1513 +#define _SWAP_FAST_1_r22 1514 +#define _SWAP_FAST_1_r33 1515 +#define _SWAP_FAST_2_r01 1516 +#define _SWAP_FAST_2_r11 1517 +#define _SWAP_FAST_2_r22 1518 +#define _SWAP_FAST_2_r33 1519 +#define _SWAP_FAST_3_r01 1520 +#define _SWAP_FAST_3_r11 1521 +#define _SWAP_FAST_3_r22 1522 +#define _SWAP_FAST_3_r33 1523 +#define _SWAP_FAST_4_r01 1524 +#define _SWAP_FAST_4_r11 1525 +#define _SWAP_FAST_4_r22 1526 +#define _SWAP_FAST_4_r33 1527 +#define _SWAP_FAST_5_r01 1528 +#define _SWAP_FAST_5_r11 1529 +#define _SWAP_FAST_5_r22 1530 +#define _SWAP_FAST_5_r33 1531 +#define _SWAP_FAST_6_r01 1532 +#define _SWAP_FAST_6_r11 1533 +#define _SWAP_FAST_6_r22 1534 +#define _SWAP_FAST_6_r33 1535 +#define _SWAP_FAST_7_r01 1536 +#define _SWAP_FAST_7_r11 1537 +#define _SWAP_FAST_7_r22 1538 +#define _SWAP_FAST_7_r33 1539 +#define _TIER2_RESUME_CHECK_r00 1540 +#define _TIER2_RESUME_CHECK_r11 1541 +#define _TIER2_RESUME_CHECK_r22 1542 +#define _TIER2_RESUME_CHECK_r33 1543 +#define _TO_BOOL_r11 1544 +#define _TO_BOOL_BOOL_r01 1545 +#define _TO_BOOL_BOOL_r11 1546 +#define _TO_BOOL_BOOL_r22 1547 +#define _TO_BOOL_BOOL_r33 1548 +#define _TO_BOOL_INT_r02 1549 +#define _TO_BOOL_INT_r12 1550 +#define _TO_BOOL_INT_r23 1551 +#define _TO_BOOL_LIST_r02 1552 +#define _TO_BOOL_LIST_r12 1553 +#define _TO_BOOL_LIST_r23 1554 +#define _TO_BOOL_NONE_r01 1555 +#define _TO_BOOL_NONE_r11 1556 +#define _TO_BOOL_NONE_r22 1557 +#define _TO_BOOL_NONE_r33 1558 +#define _TO_BOOL_STR_r02 1559 +#define _TO_BOOL_STR_r12 1560 +#define _TO_BOOL_STR_r23 1561 +#define _TRACE_RECORD_r00 1562 +#define _UNARY_INVERT_r12 1563 +#define _UNARY_NEGATIVE_r12 1564 +#define _UNARY_NEGATIVE_FLOAT_INPLACE_r02 1565 +#define _UNARY_NEGATIVE_FLOAT_INPLACE_r12 1566 +#define _UNARY_NEGATIVE_FLOAT_INPLACE_r23 1567 +#define _UNARY_NOT_r01 1568 +#define _UNARY_NOT_r11 1569 +#define _UNARY_NOT_r22 1570 +#define _UNARY_NOT_r33 1571 +#define _UNPACK_EX_r10 1572 +#define _UNPACK_SEQUENCE_r10 1573 +#define _UNPACK_SEQUENCE_LIST_r10 1574 +#define _UNPACK_SEQUENCE_TUPLE_r10 1575 +#define _UNPACK_SEQUENCE_TWO_TUPLE_r12 1576 +#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r03 1577 +#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r13 1578 +#define _UNPACK_SEQUENCE_UNIQUE_TUPLE_r10 1579 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r02 1580 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r12 1581 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r23 1582 +#define _WITH_EXCEPT_START_r33 1583 +#define _YIELD_VALUE_r11 1584 +#define MAX_UOP_REGS_ID 1584 #ifdef __cplusplus } diff --git a/Include/internal/pycore_uop_metadata.h b/Include/internal/pycore_uop_metadata.h index d341213381c76c..e29ce36e91ebab 100644 --- a/Include/internal/pycore_uop_metadata.h +++ b/Include/internal/pycore_uop_metadata.h @@ -80,6 +80,7 @@ const uint32_t _PyUop_Flags[MAX_UOP_ID+1] = { [_POP_TOP_FLOAT] = 0, [_POP_TOP_UNICODE] = 0, [_POP_TWO] = HAS_ESCAPES_FLAG, + [_POP_TOP_OPARG] = HAS_ARG_FLAG | HAS_ESCAPES_FLAG, [_PUSH_NULL] = HAS_PURE_FLAG, [_END_FOR] = HAS_ESCAPES_FLAG | HAS_NO_SAVE_IP_FLAG, [_POP_ITER] = HAS_ESCAPES_FLAG, @@ -310,7 +311,7 @@ const uint32_t _PyUop_Flags[MAX_UOP_ID+1] = { [_GUARD_CALLABLE_BUILTIN_O] = HAS_ARG_FLAG | HAS_EXIT_FLAG, [_CALL_BUILTIN_O] = HAS_ARG_FLAG | HAS_EXIT_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG, [_GUARD_CALLABLE_BUILTIN_FAST] = HAS_ARG_FLAG | HAS_EXIT_FLAG, - [_CALL_BUILTIN_FAST] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG, + [_CALL_BUILTIN_FAST] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG, [_GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS] = HAS_ARG_FLAG | HAS_EXIT_FLAG, [_CALL_BUILTIN_FAST_WITH_KEYWORDS] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG, [_GUARD_CALLABLE_LEN] = HAS_EXIT_FLAG, @@ -837,6 +838,15 @@ const _PyUopCachingInfo _PyUop_Caching[MAX_UOP_ID+1] = { { -1, -1, -1 }, }, }, + [_POP_TOP_OPARG] = { + .best = { 0, 0, 0, 0 }, + .entries = { + { 0, 0, _POP_TOP_OPARG_r00 }, + { -1, -1, -1 }, + { -1, -1, -1 }, + { -1, -1, -1 }, + }, + }, [_PUSH_NULL] = { .best = { 0, 1, 2, 2 }, .entries = { @@ -2910,7 +2920,7 @@ const _PyUopCachingInfo _PyUop_Caching[MAX_UOP_ID+1] = { [_CALL_BUILTIN_FAST] = { .best = { 0, 0, 0, 0 }, .entries = { - { 1, 0, _CALL_BUILTIN_FAST_r01 }, + { 0, 0, _CALL_BUILTIN_FAST_r00 }, { -1, -1, -1 }, { -1, -1, -1 }, { -1, -1, -1 }, @@ -3925,6 +3935,7 @@ const uint16_t _PyUop_Uncached[MAX_UOP_REGS_ID+1] = { [_POP_TOP_UNICODE_r21] = _POP_TOP_UNICODE, [_POP_TOP_UNICODE_r32] = _POP_TOP_UNICODE, [_POP_TWO_r20] = _POP_TWO, + [_POP_TOP_OPARG_r00] = _POP_TOP_OPARG, [_PUSH_NULL_r01] = _PUSH_NULL, [_PUSH_NULL_r12] = _PUSH_NULL, [_PUSH_NULL_r23] = _PUSH_NULL, @@ -4411,7 +4422,7 @@ const uint16_t _PyUop_Uncached[MAX_UOP_REGS_ID+1] = { [_GUARD_CALLABLE_BUILTIN_O_r00] = _GUARD_CALLABLE_BUILTIN_O, [_CALL_BUILTIN_O_r03] = _CALL_BUILTIN_O, [_GUARD_CALLABLE_BUILTIN_FAST_r00] = _GUARD_CALLABLE_BUILTIN_FAST, - [_CALL_BUILTIN_FAST_r01] = _CALL_BUILTIN_FAST, + [_CALL_BUILTIN_FAST_r00] = _CALL_BUILTIN_FAST, [_GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS_r00] = _GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS, [_CALL_BUILTIN_FAST_WITH_KEYWORDS_r01] = _CALL_BUILTIN_FAST_WITH_KEYWORDS, [_GUARD_CALLABLE_LEN_r03] = _GUARD_CALLABLE_LEN, @@ -4806,7 +4817,7 @@ const char *const _PyOpcode_uop_name[MAX_UOP_REGS_ID+1] = { [_CALL_BUILTIN_CLASS] = "_CALL_BUILTIN_CLASS", [_CALL_BUILTIN_CLASS_r01] = "_CALL_BUILTIN_CLASS_r01", [_CALL_BUILTIN_FAST] = "_CALL_BUILTIN_FAST", - [_CALL_BUILTIN_FAST_r01] = "_CALL_BUILTIN_FAST_r01", + [_CALL_BUILTIN_FAST_r00] = "_CALL_BUILTIN_FAST_r00", [_CALL_BUILTIN_FAST_WITH_KEYWORDS] = "_CALL_BUILTIN_FAST_WITH_KEYWORDS", [_CALL_BUILTIN_FAST_WITH_KEYWORDS_r01] = "_CALL_BUILTIN_FAST_WITH_KEYWORDS_r01", [_CALL_BUILTIN_O] = "_CALL_BUILTIN_O", @@ -5703,6 +5714,8 @@ const char *const _PyOpcode_uop_name[MAX_UOP_REGS_ID+1] = { [_POP_TOP_NOP_r10] = "_POP_TOP_NOP_r10", [_POP_TOP_NOP_r21] = "_POP_TOP_NOP_r21", [_POP_TOP_NOP_r32] = "_POP_TOP_NOP_r32", + [_POP_TOP_OPARG] = "_POP_TOP_OPARG", + [_POP_TOP_OPARG_r00] = "_POP_TOP_OPARG_r00", [_POP_TOP_UNICODE] = "_POP_TOP_UNICODE", [_POP_TOP_UNICODE_r00] = "_POP_TOP_UNICODE_r00", [_POP_TOP_UNICODE_r10] = "_POP_TOP_UNICODE_r10", @@ -6035,6 +6048,8 @@ int _PyUop_num_popped(int opcode, int oparg) return 1; case _POP_TWO: return 2; + case _POP_TOP_OPARG: + return oparg; case _PUSH_NULL: return 0; case _END_FOR: @@ -6496,7 +6511,7 @@ int _PyUop_num_popped(int opcode, int oparg) case _GUARD_CALLABLE_BUILTIN_FAST: return 0; case _CALL_BUILTIN_FAST: - return 2 + oparg; + return 0; case _GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS: return 0; case _CALL_BUILTIN_FAST_WITH_KEYWORDS: diff --git a/Lib/test/test_capi/test_opt.py b/Lib/test/test_capi/test_opt.py index bc84e6f0b63843..097a3ac4baf294 100644 --- a/Lib/test/test_capi/test_opt.py +++ b/Lib/test/test_capi/test_opt.py @@ -2738,6 +2738,9 @@ def testfunc(n): uops = get_opnames(ex) self.assertIn("_CALL_BUILTIN_FAST", uops) self.assertNotIn("_GUARD_CALLABLE_BUILTIN_FAST", uops) + # divmod(10, 3) should have at least 3 _POP_TOP_NOP + # x += y[0] produces at least 3 _POP_TOP_NOP + self.assertGreaterEqual(count_ops(ex, "_POP_TOP_NOP"), 6) def test_call_builtin_fast_with_keywords(self): def testfunc(n): diff --git a/Modules/_testinternalcapi/test_cases.c.h b/Modules/_testinternalcapi/test_cases.c.h index c5e16ce373037a..c2e69d35070d78 100644 --- a/Modules/_testinternalcapi/test_cases.c.h +++ b/Modules/_testinternalcapi/test_cases.c.h @@ -2345,7 +2345,7 @@ _PyStackRef callable; _PyStackRef self_or_null; _PyStackRef *args; - _PyStackRef res; + _PyStackRef value; /* Skip 1 cache entry */ /* Skip 2 cache entries */ // _GUARD_CALLABLE_BUILTIN_FAST @@ -2375,24 +2375,40 @@ } STAT_INC(CALL, hit); _PyFrame_SetStackPointer(frame, stack_pointer); - PyObject *res_o = _Py_BuiltinCallFast_StackRefSteal( + PyObject *res_o = _Py_BuiltinCallFast_StackRef( callable, arguments, total_args ); stack_pointer = _PyFrame_GetStackPointer(frame); if (res_o == NULL) { - stack_pointer += -2 - oparg; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); JUMP_TO_LABEL(error); } - res = PyStackRef_FromPyObjectSteal(res_o); + _PyStackRef temp = callable; + callable = PyStackRef_FromPyObjectSteal(res_o); + stack_pointer[-2 - oparg] = callable; + _PyFrame_SetStackPointer(frame, stack_pointer); + PyStackRef_CLOSE(temp); + stack_pointer = _PyFrame_GetStackPointer(frame); } - // _CHECK_PERIODIC_AT_END + // _POP_TOP_OPARG { - stack_pointer[-2 - oparg] = res; + args = &stack_pointer[-oparg]; + _PyFrame_SetStackPointer(frame, stack_pointer); + _PyStackRef_CloseStack(args, oparg); + stack_pointer = _PyFrame_GetStackPointer(frame); + } + // _POP_TOP + { + value = self_or_null; stack_pointer += -1 - oparg; ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); + _PyFrame_SetStackPointer(frame, stack_pointer); + PyStackRef_XCLOSE(value); + stack_pointer = _PyFrame_GetStackPointer(frame); + } + // _CHECK_PERIODIC_AT_END + { _PyFrame_SetStackPointer(frame, stack_pointer); int err = check_periodics(tstate); stack_pointer = _PyFrame_GetStackPointer(frame); diff --git a/Python/bytecodes.c b/Python/bytecodes.c index 4950c849e5bca5..a7d2d652e687dc 100644 --- a/Python/bytecodes.c +++ b/Python/bytecodes.c @@ -386,6 +386,11 @@ dummy_func( PyStackRef_CLOSE(nos); } + op(_POP_TOP_OPARG, (args[oparg] -- )) { + _PyStackRef_CloseStack(args, oparg); + DEAD(args); + } + pure inst(PUSH_NULL, (-- res)) { res = PyStackRef_NULL; } @@ -4646,7 +4651,7 @@ dummy_func( EXIT_IF(PyCFunction_GET_FLAGS(callable_o) != METH_FASTCALL); } - op(_CALL_BUILTIN_FAST, (callable, self_or_null, args[oparg] -- res)) { + op(_CALL_BUILTIN_FAST, (callable, self_or_null, args[oparg] -- callable, self_or_null, args[oparg])) { /* Builtin METH_FASTCALL functions, without keywords */ int total_args = oparg; _PyStackRef *arguments = args; @@ -4655,16 +4660,17 @@ dummy_func( total_args++; } STAT_INC(CALL, hit); - PyObject *res_o = _Py_BuiltinCallFast_StackRefSteal( + PyObject *res_o = _Py_BuiltinCallFast_StackRef( callable, arguments, total_args ); - DEAD(args); - DEAD(self_or_null); - DEAD(callable); - ERROR_IF(res_o == NULL); - res = PyStackRef_FromPyObjectSteal(res_o); + if (res_o == NULL) { + ERROR_NO_POP(); + } + _PyStackRef temp = callable; + callable = PyStackRef_FromPyObjectSteal(res_o); + PyStackRef_CLOSE(temp); } macro(CALL_BUILTIN_FAST) = @@ -4673,6 +4679,8 @@ dummy_func( unused/2 + _GUARD_CALLABLE_BUILTIN_FAST + _CALL_BUILTIN_FAST + + _POP_TOP_OPARG + + POP_TOP + _CHECK_PERIODIC_AT_END; op(_GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS, (callable, unused, unused[oparg] -- callable, unused, unused[oparg])) { diff --git a/Python/ceval.c b/Python/ceval.c index 4390e024dca5ef..3f024ad67f2c4b 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -809,7 +809,7 @@ _Py_VectorCallInstrumentation_StackRefSteal( } PyObject * -_Py_BuiltinCallFast_StackRefSteal( +_Py_BuiltinCallFast_StackRef( _PyStackRef callable, _PyStackRef *arguments, int total_args) @@ -817,8 +817,7 @@ _Py_BuiltinCallFast_StackRefSteal( PyObject *res; STACKREFS_TO_PYOBJECTS(arguments, total_args, args_o); if (CONVERSION_FAILED(args_o)) { - res = NULL; - goto cleanup; + return NULL; } PyObject *callable_o = PyStackRef_AsPyObjectBorrow(callable); PyCFunction cfunc = PyCFunction_GET_FUNCTION(callable_o); @@ -829,15 +828,6 @@ _Py_BuiltinCallFast_StackRefSteal( ); STACKREFS_TO_PYOBJECTS_CLEANUP(args_o); assert((res != NULL) ^ (PyErr_Occurred() != NULL)); -cleanup: - // arguments is a pointer into the GC visible stack, - // so we must NULL out values as we clear them. - for (int i = total_args-1; i >= 0; i--) { - _PyStackRef tmp = arguments[i]; - arguments[i] = PyStackRef_NULL; - PyStackRef_CLOSE(tmp); - } - PyStackRef_CLOSE(callable); return res; } diff --git a/Python/executor_cases.c.h b/Python/executor_cases.c.h index 7209ed0dd922f9..ed050570909932 100644 --- a/Python/executor_cases.c.h +++ b/Python/executor_cases.c.h @@ -2525,6 +2525,25 @@ break; } + case _POP_TOP_OPARG_r00: { + CHECK_CURRENT_CACHED_VALUES(0); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + _PyStackRef *args; + oparg = CURRENT_OPARG(); + args = &stack_pointer[-oparg]; + _PyFrame_SetStackPointer(frame, stack_pointer); + _PyStackRef_CloseStack(args, oparg); + stack_pointer = _PyFrame_GetStackPointer(frame); + _tos_cache0 = PyStackRef_ZERO_BITS; + _tos_cache1 = PyStackRef_ZERO_BITS; + _tos_cache2 = PyStackRef_ZERO_BITS; + SET_CURRENT_CACHED_VALUES(0); + stack_pointer += -oparg; + ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + break; + } + case _PUSH_NULL_r01: { CHECK_CURRENT_CACHED_VALUES(0); assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); @@ -16591,13 +16610,12 @@ break; } - case _CALL_BUILTIN_FAST_r01: { + case _CALL_BUILTIN_FAST_r00: { CHECK_CURRENT_CACHED_VALUES(0); assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); _PyStackRef *args; _PyStackRef self_or_null; _PyStackRef callable; - _PyStackRef res; oparg = CURRENT_OPARG(); args = &stack_pointer[-oparg]; self_or_null = stack_pointer[-1 - oparg]; @@ -16610,25 +16628,26 @@ } STAT_INC(CALL, hit); _PyFrame_SetStackPointer(frame, stack_pointer); - PyObject *res_o = _Py_BuiltinCallFast_StackRefSteal( + PyObject *res_o = _Py_BuiltinCallFast_StackRef( callable, arguments, total_args ); stack_pointer = _PyFrame_GetStackPointer(frame); if (res_o == NULL) { - stack_pointer += -2 - oparg; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); SET_CURRENT_CACHED_VALUES(0); JUMP_TO_ERROR(); } - res = PyStackRef_FromPyObjectSteal(res_o); - _tos_cache0 = res; + _PyStackRef temp = callable; + callable = PyStackRef_FromPyObjectSteal(res_o); + stack_pointer[-2 - oparg] = callable; + _PyFrame_SetStackPointer(frame, stack_pointer); + PyStackRef_CLOSE(temp); + stack_pointer = _PyFrame_GetStackPointer(frame); + _tos_cache0 = PyStackRef_ZERO_BITS; _tos_cache1 = PyStackRef_ZERO_BITS; _tos_cache2 = PyStackRef_ZERO_BITS; - SET_CURRENT_CACHED_VALUES(1); - stack_pointer += -2 - oparg; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); + SET_CURRENT_CACHED_VALUES(0); assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); break; } diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h index 59f74439fe202c..2a2751e8a84e79 100644 --- a/Python/generated_cases.c.h +++ b/Python/generated_cases.c.h @@ -2345,7 +2345,7 @@ _PyStackRef callable; _PyStackRef self_or_null; _PyStackRef *args; - _PyStackRef res; + _PyStackRef value; /* Skip 1 cache entry */ /* Skip 2 cache entries */ // _GUARD_CALLABLE_BUILTIN_FAST @@ -2375,24 +2375,40 @@ } STAT_INC(CALL, hit); _PyFrame_SetStackPointer(frame, stack_pointer); - PyObject *res_o = _Py_BuiltinCallFast_StackRefSteal( + PyObject *res_o = _Py_BuiltinCallFast_StackRef( callable, arguments, total_args ); stack_pointer = _PyFrame_GetStackPointer(frame); if (res_o == NULL) { - stack_pointer += -2 - oparg; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); JUMP_TO_LABEL(error); } - res = PyStackRef_FromPyObjectSteal(res_o); + _PyStackRef temp = callable; + callable = PyStackRef_FromPyObjectSteal(res_o); + stack_pointer[-2 - oparg] = callable; + _PyFrame_SetStackPointer(frame, stack_pointer); + PyStackRef_CLOSE(temp); + stack_pointer = _PyFrame_GetStackPointer(frame); } - // _CHECK_PERIODIC_AT_END + // _POP_TOP_OPARG { - stack_pointer[-2 - oparg] = res; + args = &stack_pointer[-oparg]; + _PyFrame_SetStackPointer(frame, stack_pointer); + _PyStackRef_CloseStack(args, oparg); + stack_pointer = _PyFrame_GetStackPointer(frame); + } + // _POP_TOP + { + value = self_or_null; stack_pointer += -1 - oparg; ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); + _PyFrame_SetStackPointer(frame, stack_pointer); + PyStackRef_XCLOSE(value); + stack_pointer = _PyFrame_GetStackPointer(frame); + } + // _CHECK_PERIODIC_AT_END + { _PyFrame_SetStackPointer(frame, stack_pointer); int err = check_periodics(tstate); stack_pointer = _PyFrame_GetStackPointer(frame); diff --git a/Python/optimizer_analysis.c b/Python/optimizer_analysis.c index 6d75894bb0d7d7..ada104ea65d589 100644 --- a/Python/optimizer_analysis.c +++ b/Python/optimizer_analysis.c @@ -405,6 +405,29 @@ lookup_attr(JitOptContext *ctx, _PyBloomFilter *dependencies, _PyUOpInstruction return sym_new_not_null(ctx); } +static void +optimize_pop_top(JitOptContext *ctx, _PyUOpInstruction *this_instr, JitOptRef value) +{ + PyTypeObject *typ = sym_get_type(value); + if (PyJitRef_IsBorrowed(value) || + sym_is_immortal(PyJitRef_Unwrap(value)) || + sym_is_null(value)) { + ADD_OP(_POP_TOP_NOP, 0, 0); + } + else if (typ == &PyLong_Type) { + ADD_OP(_POP_TOP_INT, 0, 0); + } + else if (typ == &PyFloat_Type) { + ADD_OP(_POP_TOP_FLOAT, 0, 0); + } + else if (typ == &PyUnicode_Type) { + ADD_OP(_POP_TOP_UNICODE, 0, 0); + } + else { + ADD_OP(_POP_TOP, 0, 0); + } +} + /* Look up name via super (normal case from supercheck where su_obj_type = Py_TYPE(obj)). */ static JitOptRef diff --git a/Python/optimizer_bytecodes.c b/Python/optimizer_bytecodes.c index 9f5a4768582354..50005d4e968786 100644 --- a/Python/optimizer_bytecodes.c +++ b/Python/optimizer_bytecodes.c @@ -763,24 +763,16 @@ dummy_func(void) { value = PyJitRef_Borrow(sym_new_const(ctx, ptr)); } - op(_POP_TOP, (value -- )) { - PyTypeObject *typ = sym_get_type(value); - if (PyJitRef_IsBorrowed(value) || - sym_is_immortal(PyJitRef_Unwrap(value)) || - sym_is_null(value)) { - ADD_OP(_POP_TOP_NOP, 0, 0); - } - else if (typ == &PyLong_Type) { - ADD_OP(_POP_TOP_INT, 0, 0); - } - else if (typ == &PyFloat_Type) { - ADD_OP(_POP_TOP_FLOAT, 0, 0); - } - else if (typ == &PyUnicode_Type) { - ADD_OP(_POP_TOP_UNICODE, 0, 0); + op(_POP_TOP_OPARG, (args[oparg] --)) { + for (int i = oparg-1; i >= 0; i--) { + optimize_pop_top(ctx, this_instr, args[i]); } } + op(_POP_TOP, (value -- )) { + optimize_pop_top(ctx, this_instr, value); + } + op(_POP_TOP_INT, (value --)) { if (PyJitRef_IsBorrowed(value)) { ADD_OP(_POP_TOP_NOP, 0, 0); @@ -1348,6 +1340,10 @@ dummy_func(void) { } } + op(_CALL_BUILTIN_FAST, (callable, self_or_null, args[oparg] -- callable, self_or_null, args[oparg])) { + callable = sym_new_not_null(ctx); + } + op(_GUARD_CALLABLE_METHOD_DESCRIPTOR_O, (callable, self_or_null, args[oparg] -- callable, self_or_null, args[oparg])) { PyObject *callable_o = sym_get_const(ctx, callable); if (callable_o && sym_matches_type(callable, &PyMethodDescr_Type) && diff --git a/Python/optimizer_cases.c.h b/Python/optimizer_cases.c.h index 2458cbb99aeb40..34b535538a5c56 100644 --- a/Python/optimizer_cases.c.h +++ b/Python/optimizer_cases.c.h @@ -115,21 +115,7 @@ case _POP_TOP: { JitOptRef value; value = stack_pointer[-1]; - PyTypeObject *typ = sym_get_type(value); - if (PyJitRef_IsBorrowed(value) || - sym_is_immortal(PyJitRef_Unwrap(value)) || - sym_is_null(value)) { - ADD_OP(_POP_TOP_NOP, 0, 0); - } - else if (typ == &PyLong_Type) { - ADD_OP(_POP_TOP_INT, 0, 0); - } - else if (typ == &PyFloat_Type) { - ADD_OP(_POP_TOP_FLOAT, 0, 0); - } - else if (typ == &PyUnicode_Type) { - ADD_OP(_POP_TOP_UNICODE, 0, 0); - } + optimize_pop_top(ctx, this_instr, value); CHECK_STACK_BOUNDS(-1); stack_pointer += -1; ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); @@ -186,6 +172,18 @@ break; } + case _POP_TOP_OPARG: { + JitOptRef *args; + args = &stack_pointer[-oparg]; + for (int i = oparg-1; i >= 0; i--) { + optimize_pop_top(ctx, this_instr, args[i]); + } + CHECK_STACK_BOUNDS(-oparg); + stack_pointer += -oparg; + ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); + break; + } + case _PUSH_NULL: { JitOptRef res; res = PyJitRef_Borrow(sym_new_null(ctx)); @@ -4001,12 +3999,10 @@ } case _CALL_BUILTIN_FAST: { - JitOptRef res; - res = sym_new_not_null(ctx); - CHECK_STACK_BOUNDS(-1 - oparg); - stack_pointer[-2 - oparg] = res; - stack_pointer += -1 - oparg; - ASSERT_WITHIN_STACK_BOUNDS(__FILE__, __LINE__); + JitOptRef callable; + callable = stack_pointer[-2 - oparg]; + callable = sym_new_not_null(ctx); + stack_pointer[-2 - oparg] = callable; break; } From 05ed7ce7ae9e17c23a04085b2539fe6d6d3cef69 Mon Sep 17 00:00:00 2001 From: Seth Larson Date: Fri, 10 Apr 2026 10:21:42 -0500 Subject: [PATCH 04/12] gh-146211: Reject CR/LF in HTTP tunnel request headers (#146212) Co-authored-by: Illia Volochii --- Lib/http/client.py | 11 ++++- Lib/test/test_httplib.py | 45 +++++++++++++++++++ ...-03-20-09-29-42.gh-issue-146211.PQVbs7.rst | 2 + 3 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Security/2026-03-20-09-29-42.gh-issue-146211.PQVbs7.rst diff --git a/Lib/http/client.py b/Lib/http/client.py index 73c3256734a64f..1e1a535c4c4eb1 100644 --- a/Lib/http/client.py +++ b/Lib/http/client.py @@ -976,13 +976,22 @@ def _wrap_ipv6(self, ip): return ip def _tunnel(self): + if _contains_disallowed_url_pchar_re.search(self._tunnel_host): + raise ValueError('Tunnel host can\'t contain control characters %r' + % (self._tunnel_host,)) connect = b"CONNECT %s:%d %s\r\n" % ( self._wrap_ipv6(self._tunnel_host.encode("idna")), self._tunnel_port, self._http_vsn_str.encode("ascii")) headers = [connect] for header, value in self._tunnel_headers.items(): - headers.append(f"{header}: {value}\r\n".encode("latin-1")) + header_bytes = header.encode("latin-1") + value_bytes = value.encode("latin-1") + if not _is_legal_header_name(header_bytes): + raise ValueError('Invalid header name %r' % (header_bytes,)) + if _is_illegal_header_value(value_bytes): + raise ValueError('Invalid header value %r' % (value_bytes,)) + headers.append(b"%s: %s\r\n" % (header_bytes, value_bytes)) headers.append(b"\r\n") # Making a single send() call instead of one per line encourages # the host OS to use a more optimal packet size instead of diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py index 44044d0385c72e..f771fc48dada36 100644 --- a/Lib/test/test_httplib.py +++ b/Lib/test/test_httplib.py @@ -369,6 +369,51 @@ def test_invalid_headers(self): with self.assertRaisesRegex(ValueError, 'Invalid header'): conn.putheader(name, value) + def test_invalid_tunnel_headers(self): + cases = ( + ('Invalid\r\nName', 'ValidValue'), + ('Invalid\rName', 'ValidValue'), + ('Invalid\nName', 'ValidValue'), + ('\r\nInvalidName', 'ValidValue'), + ('\rInvalidName', 'ValidValue'), + ('\nInvalidName', 'ValidValue'), + (' InvalidName', 'ValidValue'), + ('\tInvalidName', 'ValidValue'), + ('Invalid:Name', 'ValidValue'), + (':InvalidName', 'ValidValue'), + ('ValidName', 'Invalid\r\nValue'), + ('ValidName', 'Invalid\rValue'), + ('ValidName', 'Invalid\nValue'), + ('ValidName', 'InvalidValue\r\n'), + ('ValidName', 'InvalidValue\r'), + ('ValidName', 'InvalidValue\n'), + ) + for name, value in cases: + with self.subTest((name, value)): + conn = client.HTTPConnection('example.com') + conn.set_tunnel('tunnel', headers={ + name: value + }) + conn.sock = FakeSocket('') + with self.assertRaisesRegex(ValueError, 'Invalid header'): + conn._tunnel() # Called in .connect() + + def test_invalid_tunnel_host(self): + cases = ( + 'invalid\r.host', + '\ninvalid.host', + 'invalid.host\r\n', + 'invalid.host\x00', + 'invalid host', + ) + for tunnel_host in cases: + with self.subTest(tunnel_host): + conn = client.HTTPConnection('example.com') + conn.set_tunnel(tunnel_host) + conn.sock = FakeSocket('') + with self.assertRaisesRegex(ValueError, 'Tunnel host can\'t contain control characters'): + conn._tunnel() # Called in .connect() + def test_headers_debuglevel(self): body = ( b'HTTP/1.1 200 OK\r\n' diff --git a/Misc/NEWS.d/next/Security/2026-03-20-09-29-42.gh-issue-146211.PQVbs7.rst b/Misc/NEWS.d/next/Security/2026-03-20-09-29-42.gh-issue-146211.PQVbs7.rst new file mode 100644 index 00000000000000..4993633b8ebebb --- /dev/null +++ b/Misc/NEWS.d/next/Security/2026-03-20-09-29-42.gh-issue-146211.PQVbs7.rst @@ -0,0 +1,2 @@ +Reject CR/LF characters in tunnel request headers for the +HTTPConnection.set_tunnel() method. From fc5df4d7236516d11ee949e99e4c08362e3f908d Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Fri, 10 Apr 2026 18:33:11 +0300 Subject: [PATCH 05/12] Fix mixed line endings with pre-commit (#148336) Co-authored-by: Zachary Ware --- .pre-commit-config.yaml | 3 +++ Doc/whatsnew/3.15.rst | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c77610e209ebbd..6878a7d92e3bee 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -85,6 +85,9 @@ repos: exclude: Lib/test/tokenizedata/coding20731.py - id: end-of-file-fixer files: '^\.github/CODEOWNERS$' + - id: mixed-line-ending + args: [--fix=auto] + exclude: '^Lib/test/.*data/' - id: trailing-whitespace types_or: [c, inc, python, rst, yaml] - id: trailing-whitespace diff --git a/Doc/whatsnew/3.15.rst b/Doc/whatsnew/3.15.rst index 21327b611120a2..927d6035c8c4bc 100644 --- a/Doc/whatsnew/3.15.rst +++ b/Doc/whatsnew/3.15.rst @@ -830,9 +830,9 @@ http.server is colored by default. This can be controlled with :ref:`environment variables `. - (Contributed by Hugo van Kemenade in :gh:`146292`.) - - + (Contributed by Hugo van Kemenade in :gh:`146292`.) + + inspect ------- From 1b691564a785721dc71e230a9809dd37adff5f13 Mon Sep 17 00:00:00 2001 From: Stan Ulbrych Date: Fri, 10 Apr 2026 17:02:00 +0100 Subject: [PATCH 06/12] Remove dead links to `pkg_resources` in `importlib` docs (#148344) --- Doc/library/importlib.metadata.rst | 12 +++--------- Doc/library/importlib.resources.rst | 8 -------- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/Doc/library/importlib.metadata.rst b/Doc/library/importlib.metadata.rst index cc426326b29932..63de4f91f4ba5f 100644 --- a/Doc/library/importlib.metadata.rst +++ b/Doc/library/importlib.metadata.rst @@ -18,11 +18,9 @@ the metadata of an installed `Distribution Package `_\s, modules, if any). Built in part on Python's import system, this library -intends to replace similar functionality in the `entry point -API`_ and `metadata API`_ of ``pkg_resources``. Along with -:mod:`importlib.resources`, -this package can eliminate the need to use the older and less efficient -``pkg_resources`` package. +provides the entry point and metadata APIs that were previously +exposed by the now-removed ``pkg_resources`` package. Along with +:mod:`importlib.resources`, it supersedes ``pkg_resources``. ``importlib.metadata`` operates on third-party *distribution packages* installed into Python's ``site-packages`` directory via tools such as @@ -717,7 +715,3 @@ packages served by the ``DatabaseImporter``, assuming that the The ``DatabaseDistribution`` may also provide other metadata files, like ``RECORD`` (required for :attr:`!Distribution.files`) or override the implementation of :attr:`!Distribution.files`. See the source for more inspiration. - - -.. _`entry point API`: https://setuptools.readthedocs.io/en/latest/pkg_resources.html#entry-points -.. _`metadata API`: https://setuptools.readthedocs.io/en/latest/pkg_resources.html#metadata-api diff --git a/Doc/library/importlib.resources.rst b/Doc/library/importlib.resources.rst index 20297f9fe307b5..6bad0c4a9312d1 100644 --- a/Doc/library/importlib.resources.rst +++ b/Doc/library/importlib.resources.rst @@ -33,14 +33,6 @@ for example, a package and its resources can be imported from a zip file using .. note:: - This module provides functionality similar to `pkg_resources - `_ `Basic - Resource Access - `_ - without the performance overhead of that package. This makes reading - resources included in packages easier, with more stable and consistent - semantics. - The standalone backport of this module provides more information on `using importlib.resources `_ and From 70b86e7829c42d36c80853ba9bf1da0d8464065b Mon Sep 17 00:00:00 2001 From: Stan Ulbrych Date: Fri, 10 Apr 2026 17:02:22 +0100 Subject: [PATCH 07/12] gh-148337: Document `importlib.resources` security model (#148340) --- Doc/library/importlib.resources.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Doc/library/importlib.resources.rst b/Doc/library/importlib.resources.rst index 6bad0c4a9312d1..653fa61420be86 100644 --- a/Doc/library/importlib.resources.rst +++ b/Doc/library/importlib.resources.rst @@ -31,6 +31,12 @@ not** have to exist as physical files and directories on the file system: for example, a package and its resources can be imported from a zip file using :py:mod:`zipimport`. +.. warning:: + + :mod:`importlib.resources` follows the same security model as the built-in + :func:`open` function. Passing untrusted inputs to the functions + in this module is unsafe. + .. note:: The standalone backport of this module provides more information From e007631e9949ab806742eb61076112e9e2e3e22e Mon Sep 17 00:00:00 2001 From: Ken Jin Date: Sat, 11 Apr 2026 00:52:23 +0800 Subject: [PATCH 08/12] gh-148284: Block inlining of gigantic functions in ceval.c for clang 22 (GH-148334) Co-authored-by: Victor Stinner --- Doc/using/configure.rst | 6 +++ Makefile.pre.in | 5 ++ ...-04-10-14-20-54.gh-issue-148284.HKs-S_.rst | 1 + configure | 47 +++++++++++++++++++ configure.ac | 28 +++++++++++ 5 files changed, 87 insertions(+) create mode 100644 Misc/NEWS.d/next/Core_and_Builtins/2026-04-10-14-20-54.gh-issue-148284.HKs-S_.rst diff --git a/Doc/using/configure.rst b/Doc/using/configure.rst index 82409ac0cdcfa6..bf25de7cc90c6c 100644 --- a/Doc/using/configure.rst +++ b/Doc/using/configure.rst @@ -1574,6 +1574,12 @@ Compiler flags .. versionadded:: 3.7 +.. envvar:: CFLAGS_CEVAL + + Flags used to compile ``Python/ceval.c``. + + .. versionadded:: 3.14.5 + .. envvar:: CCSHARED Compiler flags used to build a shared library. diff --git a/Makefile.pre.in b/Makefile.pre.in index 354580aa482d25..8d325a4932509d 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -130,6 +130,8 @@ CONFIGURE_EXE_LDFLAGS=@EXE_LDFLAGS@ PY_CORE_EXE_LDFLAGS:= $(if $(CONFIGURE_EXE_LDFLAGS), $(CONFIGURE_EXE_LDFLAGS) $(PY_LDFLAGS_NODIST), $(PY_CORE_LDFLAGS)) # Strict or non-strict aliasing flags used to compile dtoa.c, see above CFLAGS_ALIASING=@CFLAGS_ALIASING@ +# Compilation flags only for ceval.c. +CFLAGS_CEVAL=@CFLAGS_CEVAL@ # Machine-dependent subdirectories @@ -3203,6 +3205,9 @@ regen-jit: Python/dtoa.o: Python/dtoa.c $(CC) -c $(PY_CORE_CFLAGS) $(CFLAGS_ALIASING) -o $@ $< +Python/ceval.o: Python/ceval.c + $(CC) -c $(PY_CORE_CFLAGS) $(CFLAGS_CEVAL) -o $@ $< + # Run reindent on the library .PHONY: reindent reindent: diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-10-14-20-54.gh-issue-148284.HKs-S_.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-10-14-20-54.gh-issue-148284.HKs-S_.rst new file mode 100644 index 00000000000000..a74f6c1a61affd --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-10-14-20-54.gh-issue-148284.HKs-S_.rst @@ -0,0 +1 @@ +Fix high stack consumption in Python's interpreter loop on Clang 22 by setting function limits for inlining when building with computed gotos. diff --git a/configure b/configure index 4726b4fe3102ac..a599cd639eac6f 100755 --- a/configure +++ b/configure @@ -829,6 +829,7 @@ OPENSSL_LDFLAGS OPENSSL_LIBS OPENSSL_INCLUDES ENSUREPIP +CFLAGS_CEVAL SRCDIRS THREADHEADERS PANEL_LIBS @@ -30358,6 +30359,52 @@ printf "%s\n" "#define HAVE_GLIBC_MEMMOVE_BUG 1" >>confdefs.h fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we need to manually block large inlining in ceval.c" >&5 +printf %s "checking if we need to manually block large inlining in ceval.c... " >&6; } +if test "$cross_compiling" = yes +then : + block_huge_inlining_in_ceval=undefined +else case e in #( + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int main(void) { +// See gh-148284: Clang 22 seems to have interactions with inlining +// and the stackref buffer which cause 40 kB of stack usage on x86-64 +// in buggy versions of _PyEval_EvalFrameDefault() in computed goto +// interpreter. The normal usage seen is normally 1-2 kB. +#if defined(__clang__) && (__clang_major__ == 22) + return 1; +#else + return 0; +#endif +} + +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + block_huge_inlining_in_ceval=no +else case e in #( + e) block_huge_inlining_in_ceval=yes ;; +esac +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +esac +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $block_huge_inlining_in_ceval" >&5 +printf "%s\n" "$block_huge_inlining_in_ceval" >&6; } + +if test "$block_huge_inlining_in_ceval" = yes && test "$ac_cv_computed_gotos" = yes; then + # gh-148284: Suppress inlining of functions whose stack size exceeds + # 512 bytes. This number should be tuned to follow the C stack + # consumption in _PyEval_EvalFrameDefault() on computed goto + # interpreter. + CFLAGS_CEVAL="$CFLAGS_CEVAL -finline-max-stacksize=512" +fi + + if test "$ac_cv_gcc_asm_for_x87" = yes; then # Some versions of gcc miscompile inline asm: # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491 diff --git a/configure.ac b/configure.ac index dd860292cc2058..d7785c6f3e6e73 100644 --- a/configure.ac +++ b/configure.ac @@ -7371,6 +7371,34 @@ if test "$have_glibc_memmove_bug" = yes; then for memmove and bcopy.]) fi +AC_MSG_CHECKING([if we need to manually block large inlining in ceval.c]) +AC_RUN_IFELSE([AC_LANG_SOURCE([[ +int main(void) { +// See gh-148284: Clang 22 seems to have interactions with inlining +// and the stackref buffer which cause 40 kB of stack usage on x86-64 +// in buggy versions of _PyEval_EvalFrameDefault() in computed goto +// interpreter. The normal usage seen is normally 1-2 kB. +#if defined(__clang__) && (__clang_major__ == 22) + return 1; +#else + return 0; +#endif +} +]])], +[block_huge_inlining_in_ceval=no], +[block_huge_inlining_in_ceval=yes], +[block_huge_inlining_in_ceval=undefined]) +AC_MSG_RESULT([$block_huge_inlining_in_ceval]) + +if test "$block_huge_inlining_in_ceval" = yes && test "$ac_cv_computed_gotos" = yes; then + # gh-148284: Suppress inlining of functions whose stack size exceeds + # 512 bytes. This number should be tuned to follow the C stack + # consumption in _PyEval_EvalFrameDefault() on computed goto + # interpreter. + CFLAGS_CEVAL="$CFLAGS_CEVAL -finline-max-stacksize=512" +fi +AC_SUBST([CFLAGS_CEVAL]) + if test "$ac_cv_gcc_asm_for_x87" = yes; then # Some versions of gcc miscompile inline asm: # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491 From 8f17140fc183c17d1526dd2473a0e747f94ea147 Mon Sep 17 00:00:00 2001 From: Kumar Aditya Date: Fri, 10 Apr 2026 22:58:20 +0530 Subject: [PATCH 09/12] gh-131798: split `_CALL_BUILTIN_CLASS` to smaller uops (#148094) --- Include/internal/pycore_opcode_metadata.h | 4 +- Include/internal/pycore_uop_ids.h | 2334 +++++++++++---------- Include/internal/pycore_uop_metadata.h | 19 +- Lib/test/test_capi/test_opt.py | 15 + Modules/_testinternalcapi/test_cases.c.h | 32 +- Python/bytecodes.c | 11 +- Python/executor_cases.c.h | 38 +- Python/generated_cases.c.h | 32 +- Python/optimizer_bytecodes.c | 13 + Python/optimizer_cases.c.h | 16 + 10 files changed, 1298 insertions(+), 1216 deletions(-) diff --git a/Include/internal/pycore_opcode_metadata.h b/Include/internal/pycore_opcode_metadata.h index 5b50b58fc83b00..3810c886e5655e 100644 --- a/Include/internal/pycore_opcode_metadata.h +++ b/Include/internal/pycore_opcode_metadata.h @@ -1374,10 +1374,10 @@ _PyOpcode_macro_expansion[256] = { [CALL_ALLOC_AND_ENTER_INIT] = { .nuops = 5, .uops = { { _RECORD_CALLABLE, OPARG_SIMPLE, 0 }, { _CHECK_PEP_523, OPARG_SIMPLE, 1 }, { _CHECK_AND_ALLOCATE_OBJECT, 2, 1 }, { _CREATE_INIT_FRAME, OPARG_SIMPLE, 3 }, { _PUSH_FRAME, OPARG_SIMPLE, 3 } } }, [CALL_BOUND_METHOD_EXACT_ARGS] = { .nuops = 11, .uops = { { _RECORD_BOUND_METHOD, OPARG_SIMPLE, 0 }, { _CHECK_PEP_523, OPARG_SIMPLE, 1 }, { _CHECK_CALL_BOUND_METHOD_EXACT_ARGS, OPARG_SIMPLE, 1 }, { _INIT_CALL_BOUND_METHOD_EXACT_ARGS, OPARG_SIMPLE, 1 }, { _CHECK_FUNCTION_VERSION, 2, 1 }, { _CHECK_FUNCTION_EXACT_ARGS, OPARG_SIMPLE, 3 }, { _CHECK_STACK_SPACE, OPARG_SIMPLE, 3 }, { _CHECK_RECURSION_REMAINING, OPARG_SIMPLE, 3 }, { _INIT_CALL_PY_EXACT_ARGS, OPARG_SIMPLE, 3 }, { _SAVE_RETURN_OFFSET, OPARG_SAVE_RETURN_OFFSET, 3 }, { _PUSH_FRAME, OPARG_SIMPLE, 3 } } }, [CALL_BOUND_METHOD_GENERAL] = { .nuops = 8, .uops = { { _RECORD_BOUND_METHOD, OPARG_SIMPLE, 0 }, { _CHECK_PEP_523, OPARG_SIMPLE, 1 }, { _CHECK_METHOD_VERSION, 2, 1 }, { _EXPAND_METHOD, OPARG_SIMPLE, 3 }, { _CHECK_RECURSION_REMAINING, OPARG_SIMPLE, 3 }, { _PY_FRAME_GENERAL, OPARG_SIMPLE, 3 }, { _SAVE_RETURN_OFFSET, OPARG_SAVE_RETURN_OFFSET, 3 }, { _PUSH_FRAME, OPARG_SIMPLE, 3 } } }, - [CALL_BUILTIN_CLASS] = { .nuops = 3, .uops = { { _RECORD_CALLABLE, OPARG_SIMPLE, 0 }, { _CALL_BUILTIN_CLASS, OPARG_SIMPLE, 3 }, { _CHECK_PERIODIC_AT_END, OPARG_REPLACED, 3 } } }, + [CALL_BUILTIN_CLASS] = { .nuops = 4, .uops = { { _RECORD_CALLABLE, OPARG_SIMPLE, 0 }, { _GUARD_CALLABLE_BUILTIN_CLASS, OPARG_SIMPLE, 3 }, { _CALL_BUILTIN_CLASS, OPARG_SIMPLE, 3 }, { _CHECK_PERIODIC_AT_END, OPARG_REPLACED, 3 } } }, [CALL_BUILTIN_FAST] = { .nuops = 6, .uops = { { _RECORD_CALLABLE, OPARG_SIMPLE, 0 }, { _GUARD_CALLABLE_BUILTIN_FAST, OPARG_SIMPLE, 3 }, { _CALL_BUILTIN_FAST, OPARG_SIMPLE, 3 }, { _POP_TOP_OPARG, OPARG_SIMPLE, 3 }, { _POP_TOP, OPARG_SIMPLE, 3 }, { _CHECK_PERIODIC_AT_END, OPARG_REPLACED, 3 } } }, [CALL_BUILTIN_FAST_WITH_KEYWORDS] = { .nuops = 4, .uops = { { _RECORD_CALLABLE, OPARG_SIMPLE, 0 }, { _GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS, OPARG_SIMPLE, 3 }, { _CALL_BUILTIN_FAST_WITH_KEYWORDS, OPARG_SIMPLE, 3 }, { _CHECK_PERIODIC_AT_END, OPARG_REPLACED, 3 } } }, - [CALL_BUILTIN_O] = { .nuops = 6, .uops = { { _RECORD_CALLABLE, OPARG_SIMPLE, 0 }, { _GUARD_CALLABLE_BUILTIN_O, OPARG_SIMPLE, 3 }, { _CALL_BUILTIN_O, OPARG_SIMPLE, 3 }, { _POP_TOP, OPARG_SIMPLE, 3 }, { _POP_TOP, OPARG_SIMPLE, 3 }, { _CHECK_PERIODIC_AT_END, OPARG_REPLACED, 3 } } }, + [CALL_BUILTIN_O] = { .nuops = 7, .uops = { { _RECORD_CALLABLE, OPARG_SIMPLE, 0 }, { _GUARD_CALLABLE_BUILTIN_O, OPARG_SIMPLE, 3 }, { _CHECK_RECURSION_LIMIT, OPARG_SIMPLE, 3 }, { _CALL_BUILTIN_O, OPARG_SIMPLE, 3 }, { _POP_TOP, OPARG_SIMPLE, 3 }, { _POP_TOP, OPARG_SIMPLE, 3 }, { _CHECK_PERIODIC_AT_END, OPARG_REPLACED, 3 } } }, [CALL_EX_NON_PY_GENERAL] = { .nuops = 4, .uops = { { _CHECK_IS_NOT_PY_CALLABLE_EX, OPARG_SIMPLE, 1 }, { _MAKE_CALLARGS_A_TUPLE, OPARG_SIMPLE, 1 }, { _CALL_FUNCTION_EX_NON_PY_GENERAL, OPARG_SIMPLE, 1 }, { _CHECK_PERIODIC_AT_END, OPARG_REPLACED, 1 } } }, [CALL_EX_PY] = { .nuops = 7, .uops = { { _RECORD_4OS, OPARG_SIMPLE, 0 }, { _CHECK_PEP_523, OPARG_SIMPLE, 1 }, { _MAKE_CALLARGS_A_TUPLE, OPARG_SIMPLE, 1 }, { _CHECK_IS_PY_CALLABLE_EX, OPARG_SIMPLE, 1 }, { _PY_FRAME_EX, OPARG_SIMPLE, 1 }, { _SAVE_RETURN_OFFSET, OPARG_SAVE_RETURN_OFFSET, 1 }, { _PUSH_FRAME, OPARG_SIMPLE, 1 } } }, [CALL_INTRINSIC_1] = { .nuops = 2, .uops = { { _CALL_INTRINSIC_1, OPARG_SIMPLE, 0 }, { _POP_TOP, OPARG_SIMPLE, 0 } } }, diff --git a/Include/internal/pycore_uop_ids.h b/Include/internal/pycore_uop_ids.h index 50abb537d692a0..12b2bf32d77748 100644 --- a/Include/internal/pycore_uop_ids.h +++ b/Include/internal/pycore_uop_ids.h @@ -158,79 +158,80 @@ extern "C" { #define _GUARD_BIT_IS_UNSET_POP_5 418 #define _GUARD_BIT_IS_UNSET_POP_6 419 #define _GUARD_BIT_IS_UNSET_POP_7 420 -#define _GUARD_CALLABLE_BUILTIN_FAST 421 -#define _GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS 422 -#define _GUARD_CALLABLE_BUILTIN_O 423 -#define _GUARD_CALLABLE_ISINSTANCE 424 -#define _GUARD_CALLABLE_LEN 425 -#define _GUARD_CALLABLE_LIST_APPEND 426 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST 427 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 428 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_NOARGS 429 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_O 430 -#define _GUARD_CALLABLE_STR_1 431 -#define _GUARD_CALLABLE_TUPLE_1 432 -#define _GUARD_CALLABLE_TYPE_1 433 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR 434 -#define _GUARD_CODE_VERSION_RETURN_VALUE 435 -#define _GUARD_CODE_VERSION_YIELD_VALUE 436 -#define _GUARD_CODE_VERSION__PUSH_FRAME 437 -#define _GUARD_DORV_NO_DICT 438 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 439 -#define _GUARD_GLOBALS_VERSION 440 -#define _GUARD_IP_RETURN_GENERATOR 441 -#define _GUARD_IP_RETURN_VALUE 442 -#define _GUARD_IP_YIELD_VALUE 443 -#define _GUARD_IP__PUSH_FRAME 444 -#define _GUARD_IS_FALSE_POP 445 -#define _GUARD_IS_NONE_POP 446 -#define _GUARD_IS_NOT_NONE_POP 447 -#define _GUARD_IS_TRUE_POP 448 -#define _GUARD_KEYS_VERSION 449 -#define _GUARD_LOAD_SUPER_ATTR_METHOD 450 -#define _GUARD_NOS_ANY_DICT 451 -#define _GUARD_NOS_COMPACT_ASCII 452 -#define _GUARD_NOS_DICT 453 -#define _GUARD_NOS_FLOAT 454 -#define _GUARD_NOS_INT 455 -#define _GUARD_NOS_LIST 456 -#define _GUARD_NOS_NOT_NULL 457 -#define _GUARD_NOS_NULL 458 -#define _GUARD_NOS_OVERFLOWED 459 -#define _GUARD_NOS_TUPLE 460 -#define _GUARD_NOS_TYPE_VERSION 461 -#define _GUARD_NOS_UNICODE 462 -#define _GUARD_NOT_EXHAUSTED_LIST 463 -#define _GUARD_NOT_EXHAUSTED_RANGE 464 -#define _GUARD_NOT_EXHAUSTED_TUPLE 465 -#define _GUARD_THIRD_NULL 466 -#define _GUARD_TOS_ANY_DICT 467 -#define _GUARD_TOS_ANY_SET 468 -#define _GUARD_TOS_DICT 469 -#define _GUARD_TOS_FLOAT 470 -#define _GUARD_TOS_FROZENDICT 471 -#define _GUARD_TOS_FROZENSET 472 -#define _GUARD_TOS_INT 473 -#define _GUARD_TOS_LIST 474 -#define _GUARD_TOS_OVERFLOWED 475 -#define _GUARD_TOS_SET 476 -#define _GUARD_TOS_SLICE 477 -#define _GUARD_TOS_TUPLE 478 -#define _GUARD_TOS_UNICODE 479 -#define _GUARD_TYPE_VERSION 480 -#define _GUARD_TYPE_VERSION_LOCKED 481 -#define _HANDLE_PENDING_AND_DEOPT 482 +#define _GUARD_CALLABLE_BUILTIN_CLASS 421 +#define _GUARD_CALLABLE_BUILTIN_FAST 422 +#define _GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS 423 +#define _GUARD_CALLABLE_BUILTIN_O 424 +#define _GUARD_CALLABLE_ISINSTANCE 425 +#define _GUARD_CALLABLE_LEN 426 +#define _GUARD_CALLABLE_LIST_APPEND 427 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST 428 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS 429 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_NOARGS 430 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_O 431 +#define _GUARD_CALLABLE_STR_1 432 +#define _GUARD_CALLABLE_TUPLE_1 433 +#define _GUARD_CALLABLE_TYPE_1 434 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR 435 +#define _GUARD_CODE_VERSION_RETURN_VALUE 436 +#define _GUARD_CODE_VERSION_YIELD_VALUE 437 +#define _GUARD_CODE_VERSION__PUSH_FRAME 438 +#define _GUARD_DORV_NO_DICT 439 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT 440 +#define _GUARD_GLOBALS_VERSION 441 +#define _GUARD_IP_RETURN_GENERATOR 442 +#define _GUARD_IP_RETURN_VALUE 443 +#define _GUARD_IP_YIELD_VALUE 444 +#define _GUARD_IP__PUSH_FRAME 445 +#define _GUARD_IS_FALSE_POP 446 +#define _GUARD_IS_NONE_POP 447 +#define _GUARD_IS_NOT_NONE_POP 448 +#define _GUARD_IS_TRUE_POP 449 +#define _GUARD_KEYS_VERSION 450 +#define _GUARD_LOAD_SUPER_ATTR_METHOD 451 +#define _GUARD_NOS_ANY_DICT 452 +#define _GUARD_NOS_COMPACT_ASCII 453 +#define _GUARD_NOS_DICT 454 +#define _GUARD_NOS_FLOAT 455 +#define _GUARD_NOS_INT 456 +#define _GUARD_NOS_LIST 457 +#define _GUARD_NOS_NOT_NULL 458 +#define _GUARD_NOS_NULL 459 +#define _GUARD_NOS_OVERFLOWED 460 +#define _GUARD_NOS_TUPLE 461 +#define _GUARD_NOS_TYPE_VERSION 462 +#define _GUARD_NOS_UNICODE 463 +#define _GUARD_NOT_EXHAUSTED_LIST 464 +#define _GUARD_NOT_EXHAUSTED_RANGE 465 +#define _GUARD_NOT_EXHAUSTED_TUPLE 466 +#define _GUARD_THIRD_NULL 467 +#define _GUARD_TOS_ANY_DICT 468 +#define _GUARD_TOS_ANY_SET 469 +#define _GUARD_TOS_DICT 470 +#define _GUARD_TOS_FLOAT 471 +#define _GUARD_TOS_FROZENDICT 472 +#define _GUARD_TOS_FROZENSET 473 +#define _GUARD_TOS_INT 474 +#define _GUARD_TOS_LIST 475 +#define _GUARD_TOS_OVERFLOWED 476 +#define _GUARD_TOS_SET 477 +#define _GUARD_TOS_SLICE 478 +#define _GUARD_TOS_TUPLE 479 +#define _GUARD_TOS_UNICODE 480 +#define _GUARD_TYPE_VERSION 481 +#define _GUARD_TYPE_VERSION_LOCKED 482 +#define _HANDLE_PENDING_AND_DEOPT 483 #define _IMPORT_FROM IMPORT_FROM #define _IMPORT_NAME IMPORT_NAME -#define _INIT_CALL_BOUND_METHOD_EXACT_ARGS 483 -#define _INIT_CALL_PY_EXACT_ARGS 484 -#define _INIT_CALL_PY_EXACT_ARGS_0 485 -#define _INIT_CALL_PY_EXACT_ARGS_1 486 -#define _INIT_CALL_PY_EXACT_ARGS_2 487 -#define _INIT_CALL_PY_EXACT_ARGS_3 488 -#define _INIT_CALL_PY_EXACT_ARGS_4 489 -#define _INSERT_2_LOAD_CONST_INLINE_BORROW 490 -#define _INSERT_NULL 491 +#define _INIT_CALL_BOUND_METHOD_EXACT_ARGS 484 +#define _INIT_CALL_PY_EXACT_ARGS 485 +#define _INIT_CALL_PY_EXACT_ARGS_0 486 +#define _INIT_CALL_PY_EXACT_ARGS_1 487 +#define _INIT_CALL_PY_EXACT_ARGS_2 488 +#define _INIT_CALL_PY_EXACT_ARGS_3 489 +#define _INIT_CALL_PY_EXACT_ARGS_4 490 +#define _INSERT_2_LOAD_CONST_INLINE_BORROW 491 +#define _INSERT_NULL 492 #define _INSTRUMENTED_FOR_ITER INSTRUMENTED_FOR_ITER #define _INSTRUMENTED_INSTRUCTION INSTRUMENTED_INSTRUCTION #define _INSTRUMENTED_JUMP_FORWARD INSTRUMENTED_JUMP_FORWARD @@ -240,1139 +241,1140 @@ extern "C" { #define _INSTRUMENTED_POP_JUMP_IF_NONE INSTRUMENTED_POP_JUMP_IF_NONE #define _INSTRUMENTED_POP_JUMP_IF_NOT_NONE INSTRUMENTED_POP_JUMP_IF_NOT_NONE #define _INSTRUMENTED_POP_JUMP_IF_TRUE INSTRUMENTED_POP_JUMP_IF_TRUE -#define _IS_NONE 492 -#define _IS_OP 493 -#define _ITER_CHECK_LIST 494 -#define _ITER_CHECK_RANGE 495 -#define _ITER_CHECK_TUPLE 496 -#define _ITER_JUMP_LIST 497 -#define _ITER_JUMP_RANGE 498 -#define _ITER_JUMP_TUPLE 499 -#define _ITER_NEXT_LIST 500 -#define _ITER_NEXT_LIST_TIER_TWO 501 -#define _ITER_NEXT_RANGE 502 -#define _ITER_NEXT_TUPLE 503 +#define _IS_NONE 493 +#define _IS_OP 494 +#define _ITER_CHECK_LIST 495 +#define _ITER_CHECK_RANGE 496 +#define _ITER_CHECK_TUPLE 497 +#define _ITER_JUMP_LIST 498 +#define _ITER_JUMP_RANGE 499 +#define _ITER_JUMP_TUPLE 500 +#define _ITER_NEXT_LIST 501 +#define _ITER_NEXT_LIST_TIER_TWO 502 +#define _ITER_NEXT_RANGE 503 +#define _ITER_NEXT_TUPLE 504 #define _JUMP_BACKWARD_NO_INTERRUPT JUMP_BACKWARD_NO_INTERRUPT -#define _JUMP_TO_TOP 504 +#define _JUMP_TO_TOP 505 #define _LIST_APPEND LIST_APPEND -#define _LIST_EXTEND 505 -#define _LOAD_ATTR 506 -#define _LOAD_ATTR_CLASS 507 +#define _LIST_EXTEND 506 +#define _LOAD_ATTR 507 +#define _LOAD_ATTR_CLASS 508 #define _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN -#define _LOAD_ATTR_INSTANCE_VALUE 508 -#define _LOAD_ATTR_METHOD_LAZY_DICT 509 -#define _LOAD_ATTR_METHOD_NO_DICT 510 -#define _LOAD_ATTR_METHOD_WITH_VALUES 511 -#define _LOAD_ATTR_MODULE 512 -#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT 513 -#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 514 -#define _LOAD_ATTR_PROPERTY_FRAME 515 -#define _LOAD_ATTR_SLOT 516 -#define _LOAD_ATTR_WITH_HINT 517 +#define _LOAD_ATTR_INSTANCE_VALUE 509 +#define _LOAD_ATTR_METHOD_LAZY_DICT 510 +#define _LOAD_ATTR_METHOD_NO_DICT 511 +#define _LOAD_ATTR_METHOD_WITH_VALUES 512 +#define _LOAD_ATTR_MODULE 513 +#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT 514 +#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES 515 +#define _LOAD_ATTR_PROPERTY_FRAME 516 +#define _LOAD_ATTR_SLOT 517 +#define _LOAD_ATTR_WITH_HINT 518 #define _LOAD_BUILD_CLASS LOAD_BUILD_CLASS -#define _LOAD_BYTECODE 518 +#define _LOAD_BYTECODE 519 #define _LOAD_COMMON_CONSTANT LOAD_COMMON_CONSTANT #define _LOAD_CONST LOAD_CONST -#define _LOAD_CONST_INLINE 519 -#define _LOAD_CONST_INLINE_BORROW 520 +#define _LOAD_CONST_INLINE 520 +#define _LOAD_CONST_INLINE_BORROW 521 #define _LOAD_DEREF LOAD_DEREF -#define _LOAD_FAST 521 -#define _LOAD_FAST_0 522 -#define _LOAD_FAST_1 523 -#define _LOAD_FAST_2 524 -#define _LOAD_FAST_3 525 -#define _LOAD_FAST_4 526 -#define _LOAD_FAST_5 527 -#define _LOAD_FAST_6 528 -#define _LOAD_FAST_7 529 +#define _LOAD_FAST 522 +#define _LOAD_FAST_0 523 +#define _LOAD_FAST_1 524 +#define _LOAD_FAST_2 525 +#define _LOAD_FAST_3 526 +#define _LOAD_FAST_4 527 +#define _LOAD_FAST_5 528 +#define _LOAD_FAST_6 529 +#define _LOAD_FAST_7 530 #define _LOAD_FAST_AND_CLEAR LOAD_FAST_AND_CLEAR -#define _LOAD_FAST_BORROW 530 -#define _LOAD_FAST_BORROW_0 531 -#define _LOAD_FAST_BORROW_1 532 -#define _LOAD_FAST_BORROW_2 533 -#define _LOAD_FAST_BORROW_3 534 -#define _LOAD_FAST_BORROW_4 535 -#define _LOAD_FAST_BORROW_5 536 -#define _LOAD_FAST_BORROW_6 537 -#define _LOAD_FAST_BORROW_7 538 +#define _LOAD_FAST_BORROW 531 +#define _LOAD_FAST_BORROW_0 532 +#define _LOAD_FAST_BORROW_1 533 +#define _LOAD_FAST_BORROW_2 534 +#define _LOAD_FAST_BORROW_3 535 +#define _LOAD_FAST_BORROW_4 536 +#define _LOAD_FAST_BORROW_5 537 +#define _LOAD_FAST_BORROW_6 538 +#define _LOAD_FAST_BORROW_7 539 #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 539 -#define _LOAD_GLOBAL_BUILTINS 540 -#define _LOAD_GLOBAL_MODULE 541 +#define _LOAD_GLOBAL 540 +#define _LOAD_GLOBAL_BUILTINS 541 +#define _LOAD_GLOBAL_MODULE 542 #define _LOAD_LOCALS LOAD_LOCALS #define _LOAD_NAME LOAD_NAME -#define _LOAD_SMALL_INT 542 -#define _LOAD_SMALL_INT_0 543 -#define _LOAD_SMALL_INT_1 544 -#define _LOAD_SMALL_INT_2 545 -#define _LOAD_SMALL_INT_3 546 -#define _LOAD_SPECIAL 547 +#define _LOAD_SMALL_INT 543 +#define _LOAD_SMALL_INT_0 544 +#define _LOAD_SMALL_INT_1 545 +#define _LOAD_SMALL_INT_2 546 +#define _LOAD_SMALL_INT_3 547 +#define _LOAD_SPECIAL 548 #define _LOAD_SUPER_ATTR_ATTR LOAD_SUPER_ATTR_ATTR -#define _LOAD_SUPER_ATTR_METHOD 548 -#define _LOCK_OBJECT 549 -#define _MAKE_CALLARGS_A_TUPLE 550 +#define _LOAD_SUPER_ATTR_METHOD 549 +#define _LOCK_OBJECT 550 +#define _MAKE_CALLARGS_A_TUPLE 551 #define _MAKE_CELL MAKE_CELL -#define _MAKE_FUNCTION 551 -#define _MAKE_HEAP_SAFE 552 -#define _MAKE_WARM 553 +#define _MAKE_FUNCTION 552 +#define _MAKE_HEAP_SAFE 553 +#define _MAKE_WARM 554 #define _MAP_ADD MAP_ADD -#define _MATCH_CLASS 554 +#define _MATCH_CLASS 555 #define _MATCH_KEYS MATCH_KEYS #define _MATCH_MAPPING MATCH_MAPPING #define _MATCH_SEQUENCE MATCH_SEQUENCE -#define _MAYBE_EXPAND_METHOD 555 -#define _MAYBE_EXPAND_METHOD_KW 556 -#define _MONITOR_CALL 557 -#define _MONITOR_CALL_KW 558 -#define _MONITOR_JUMP_BACKWARD 559 -#define _MONITOR_RESUME 560 +#define _MAYBE_EXPAND_METHOD 556 +#define _MAYBE_EXPAND_METHOD_KW 557 +#define _MONITOR_CALL 558 +#define _MONITOR_CALL_KW 559 +#define _MONITOR_JUMP_BACKWARD 560 +#define _MONITOR_RESUME 561 #define _NOP NOP -#define _POP_CALL 561 -#define _POP_CALL_ONE 562 -#define _POP_CALL_TWO 563 +#define _POP_CALL 562 +#define _POP_CALL_ONE 563 +#define _POP_CALL_TWO 564 #define _POP_EXCEPT POP_EXCEPT #define _POP_ITER POP_ITER -#define _POP_JUMP_IF_FALSE 564 -#define _POP_JUMP_IF_TRUE 565 +#define _POP_JUMP_IF_FALSE 565 +#define _POP_JUMP_IF_TRUE 566 #define _POP_TOP POP_TOP -#define _POP_TOP_FLOAT 566 -#define _POP_TOP_INT 567 -#define _POP_TOP_LOAD_CONST_INLINE 568 -#define _POP_TOP_LOAD_CONST_INLINE_BORROW 569 -#define _POP_TOP_NOP 570 -#define _POP_TOP_OPARG 571 -#define _POP_TOP_UNICODE 572 -#define _POP_TWO 573 -#define _POP_TWO_LOAD_CONST_INLINE_BORROW 574 +#define _POP_TOP_FLOAT 567 +#define _POP_TOP_INT 568 +#define _POP_TOP_LOAD_CONST_INLINE 569 +#define _POP_TOP_LOAD_CONST_INLINE_BORROW 570 +#define _POP_TOP_NOP 571 +#define _POP_TOP_OPARG 572 +#define _POP_TOP_UNICODE 573 +#define _POP_TWO 574 +#define _POP_TWO_LOAD_CONST_INLINE_BORROW 575 #define _PUSH_EXC_INFO PUSH_EXC_INFO -#define _PUSH_FRAME 575 +#define _PUSH_FRAME 576 #define _PUSH_NULL PUSH_NULL -#define _PUSH_NULL_CONDITIONAL 576 -#define _PY_FRAME_EX 577 -#define _PY_FRAME_GENERAL 578 -#define _PY_FRAME_KW 579 -#define _RECORD_3OS_GEN_FUNC 580 -#define _RECORD_4OS 581 -#define _RECORD_BOUND_METHOD 582 -#define _RECORD_CALLABLE 583 -#define _RECORD_CODE 584 -#define _RECORD_NOS 585 -#define _RECORD_NOS_GEN_FUNC 586 -#define _RECORD_TOS 587 -#define _RECORD_TOS_TYPE 588 -#define _REPLACE_WITH_TRUE 589 -#define _RESUME_CHECK 590 +#define _PUSH_NULL_CONDITIONAL 577 +#define _PY_FRAME_EX 578 +#define _PY_FRAME_GENERAL 579 +#define _PY_FRAME_KW 580 +#define _RECORD_3OS_GEN_FUNC 581 +#define _RECORD_4OS 582 +#define _RECORD_BOUND_METHOD 583 +#define _RECORD_CALLABLE 584 +#define _RECORD_CODE 585 +#define _RECORD_NOS 586 +#define _RECORD_NOS_GEN_FUNC 587 +#define _RECORD_TOS 588 +#define _RECORD_TOS_TYPE 589 +#define _REPLACE_WITH_TRUE 590 +#define _RESUME_CHECK 591 #define _RETURN_GENERATOR RETURN_GENERATOR -#define _RETURN_VALUE 591 -#define _SAVE_RETURN_OFFSET 592 -#define _SEND 593 -#define _SEND_GEN_FRAME 594 +#define _RETURN_VALUE 592 +#define _SAVE_RETURN_OFFSET 593 +#define _SEND 594 +#define _SEND_GEN_FRAME 595 #define _SETUP_ANNOTATIONS SETUP_ANNOTATIONS #define _SET_ADD SET_ADD #define _SET_FUNCTION_ATTRIBUTE SET_FUNCTION_ATTRIBUTE -#define _SET_UPDATE 595 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW 596 -#define _SPILL_OR_RELOAD 597 -#define _START_EXECUTOR 598 -#define _STORE_ATTR 599 -#define _STORE_ATTR_INSTANCE_VALUE 600 -#define _STORE_ATTR_SLOT 601 -#define _STORE_ATTR_WITH_HINT 602 +#define _SET_UPDATE 596 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW 597 +#define _SPILL_OR_RELOAD 598 +#define _START_EXECUTOR 599 +#define _STORE_ATTR 600 +#define _STORE_ATTR_INSTANCE_VALUE 601 +#define _STORE_ATTR_SLOT 602 +#define _STORE_ATTR_WITH_HINT 603 #define _STORE_DEREF STORE_DEREF #define _STORE_GLOBAL STORE_GLOBAL #define _STORE_NAME STORE_NAME -#define _STORE_SLICE 603 -#define _STORE_SUBSCR 604 -#define _STORE_SUBSCR_DICT 605 -#define _STORE_SUBSCR_DICT_KNOWN_HASH 606 -#define _STORE_SUBSCR_LIST_INT 607 -#define _SWAP 608 -#define _SWAP_2 609 -#define _SWAP_3 610 -#define _SWAP_FAST 611 -#define _SWAP_FAST_0 612 -#define _SWAP_FAST_1 613 -#define _SWAP_FAST_2 614 -#define _SWAP_FAST_3 615 -#define _SWAP_FAST_4 616 -#define _SWAP_FAST_5 617 -#define _SWAP_FAST_6 618 -#define _SWAP_FAST_7 619 -#define _TIER2_RESUME_CHECK 620 -#define _TO_BOOL 621 +#define _STORE_SLICE 604 +#define _STORE_SUBSCR 605 +#define _STORE_SUBSCR_DICT 606 +#define _STORE_SUBSCR_DICT_KNOWN_HASH 607 +#define _STORE_SUBSCR_LIST_INT 608 +#define _SWAP 609 +#define _SWAP_2 610 +#define _SWAP_3 611 +#define _SWAP_FAST 612 +#define _SWAP_FAST_0 613 +#define _SWAP_FAST_1 614 +#define _SWAP_FAST_2 615 +#define _SWAP_FAST_3 616 +#define _SWAP_FAST_4 617 +#define _SWAP_FAST_5 618 +#define _SWAP_FAST_6 619 +#define _SWAP_FAST_7 620 +#define _TIER2_RESUME_CHECK 621 +#define _TO_BOOL 622 #define _TO_BOOL_BOOL TO_BOOL_BOOL -#define _TO_BOOL_INT 622 -#define _TO_BOOL_LIST 623 +#define _TO_BOOL_INT 623 +#define _TO_BOOL_LIST 624 #define _TO_BOOL_NONE TO_BOOL_NONE -#define _TO_BOOL_STR 624 +#define _TO_BOOL_STR 625 #define _TRACE_RECORD TRACE_RECORD -#define _UNARY_INVERT 625 -#define _UNARY_NEGATIVE 626 -#define _UNARY_NEGATIVE_FLOAT_INPLACE 627 +#define _UNARY_INVERT 626 +#define _UNARY_NEGATIVE 627 +#define _UNARY_NEGATIVE_FLOAT_INPLACE 628 #define _UNARY_NOT UNARY_NOT #define _UNPACK_EX UNPACK_EX -#define _UNPACK_SEQUENCE 628 -#define _UNPACK_SEQUENCE_LIST 629 -#define _UNPACK_SEQUENCE_TUPLE 630 -#define _UNPACK_SEQUENCE_TWO_TUPLE 631 -#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE 632 -#define _UNPACK_SEQUENCE_UNIQUE_TUPLE 633 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE 634 +#define _UNPACK_SEQUENCE 629 +#define _UNPACK_SEQUENCE_LIST 630 +#define _UNPACK_SEQUENCE_TUPLE 631 +#define _UNPACK_SEQUENCE_TWO_TUPLE 632 +#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE 633 +#define _UNPACK_SEQUENCE_UNIQUE_TUPLE 634 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE 635 #define _WITH_EXCEPT_START WITH_EXCEPT_START -#define _YIELD_VALUE 635 -#define MAX_UOP_ID 635 -#define _BINARY_OP_r23 636 -#define _BINARY_OP_ADD_FLOAT_r03 637 -#define _BINARY_OP_ADD_FLOAT_r13 638 -#define _BINARY_OP_ADD_FLOAT_r23 639 -#define _BINARY_OP_ADD_FLOAT_INPLACE_r03 640 -#define _BINARY_OP_ADD_FLOAT_INPLACE_r13 641 -#define _BINARY_OP_ADD_FLOAT_INPLACE_r23 642 -#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r03 643 -#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r13 644 -#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r23 645 -#define _BINARY_OP_ADD_INT_r03 646 -#define _BINARY_OP_ADD_INT_r13 647 -#define _BINARY_OP_ADD_INT_r23 648 -#define _BINARY_OP_ADD_INT_INPLACE_r03 649 -#define _BINARY_OP_ADD_INT_INPLACE_r13 650 -#define _BINARY_OP_ADD_INT_INPLACE_r23 651 -#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r03 652 -#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r13 653 -#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r23 654 -#define _BINARY_OP_ADD_UNICODE_r03 655 -#define _BINARY_OP_ADD_UNICODE_r13 656 -#define _BINARY_OP_ADD_UNICODE_r23 657 -#define _BINARY_OP_EXTEND_r23 658 -#define _BINARY_OP_INPLACE_ADD_UNICODE_r21 659 -#define _BINARY_OP_MULTIPLY_FLOAT_r03 660 -#define _BINARY_OP_MULTIPLY_FLOAT_r13 661 -#define _BINARY_OP_MULTIPLY_FLOAT_r23 662 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r03 663 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r13 664 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r23 665 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r03 666 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r13 667 -#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r23 668 -#define _BINARY_OP_MULTIPLY_INT_r03 669 -#define _BINARY_OP_MULTIPLY_INT_r13 670 -#define _BINARY_OP_MULTIPLY_INT_r23 671 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_r03 672 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_r13 673 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_r23 674 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r03 675 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r13 676 -#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r23 677 -#define _BINARY_OP_SUBSCR_CHECK_FUNC_r23 678 -#define _BINARY_OP_SUBSCR_DICT_r23 679 -#define _BINARY_OP_SUBSCR_DICT_KNOWN_HASH_r23 680 -#define _BINARY_OP_SUBSCR_INIT_CALL_r01 681 -#define _BINARY_OP_SUBSCR_INIT_CALL_r11 682 -#define _BINARY_OP_SUBSCR_INIT_CALL_r21 683 -#define _BINARY_OP_SUBSCR_INIT_CALL_r31 684 -#define _BINARY_OP_SUBSCR_LIST_INT_r23 685 -#define _BINARY_OP_SUBSCR_LIST_SLICE_r23 686 -#define _BINARY_OP_SUBSCR_STR_INT_r23 687 -#define _BINARY_OP_SUBSCR_TUPLE_INT_r03 688 -#define _BINARY_OP_SUBSCR_TUPLE_INT_r13 689 -#define _BINARY_OP_SUBSCR_TUPLE_INT_r23 690 -#define _BINARY_OP_SUBSCR_USTR_INT_r23 691 -#define _BINARY_OP_SUBTRACT_FLOAT_r03 692 -#define _BINARY_OP_SUBTRACT_FLOAT_r13 693 -#define _BINARY_OP_SUBTRACT_FLOAT_r23 694 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r03 695 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r13 696 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r23 697 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r03 698 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r13 699 -#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r23 700 -#define _BINARY_OP_SUBTRACT_INT_r03 701 -#define _BINARY_OP_SUBTRACT_INT_r13 702 -#define _BINARY_OP_SUBTRACT_INT_r23 703 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_r03 704 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_r13 705 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_r23 706 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r03 707 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r13 708 -#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r23 709 -#define _BINARY_SLICE_r31 710 -#define _BUILD_INTERPOLATION_r01 711 -#define _BUILD_LIST_r01 712 -#define _BUILD_MAP_r01 713 -#define _BUILD_SET_r01 714 -#define _BUILD_SLICE_r01 715 -#define _BUILD_STRING_r01 716 -#define _BUILD_TEMPLATE_r21 717 -#define _BUILD_TUPLE_r01 718 -#define _CALL_BUILTIN_CLASS_r01 719 -#define _CALL_BUILTIN_FAST_r00 720 -#define _CALL_BUILTIN_FAST_WITH_KEYWORDS_r01 721 -#define _CALL_BUILTIN_O_r03 722 -#define _CALL_FUNCTION_EX_NON_PY_GENERAL_r31 723 -#define _CALL_INTRINSIC_1_r12 724 -#define _CALL_INTRINSIC_2_r23 725 -#define _CALL_ISINSTANCE_r31 726 -#define _CALL_KW_NON_PY_r11 727 -#define _CALL_LEN_r33 728 -#define _CALL_LIST_APPEND_r03 729 -#define _CALL_LIST_APPEND_r13 730 -#define _CALL_LIST_APPEND_r23 731 -#define _CALL_LIST_APPEND_r33 732 -#define _CALL_METHOD_DESCRIPTOR_FAST_r01 733 -#define _CALL_METHOD_DESCRIPTOR_FAST_INLINE_r01 734 -#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r01 735 -#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_INLINE_r01 736 -#define _CALL_METHOD_DESCRIPTOR_NOARGS_r03 737 -#define _CALL_METHOD_DESCRIPTOR_NOARGS_INLINE_r03 738 -#define _CALL_METHOD_DESCRIPTOR_O_r03 739 -#define _CALL_METHOD_DESCRIPTOR_O_INLINE_r03 740 -#define _CALL_NON_PY_GENERAL_r01 741 -#define _CALL_STR_1_r32 742 -#define _CALL_TUPLE_1_r32 743 -#define _CALL_TYPE_1_r02 744 -#define _CALL_TYPE_1_r12 745 -#define _CALL_TYPE_1_r22 746 -#define _CALL_TYPE_1_r32 747 -#define _CHECK_AND_ALLOCATE_OBJECT_r00 748 -#define _CHECK_ATTR_CLASS_r01 749 -#define _CHECK_ATTR_CLASS_r11 750 -#define _CHECK_ATTR_CLASS_r22 751 -#define _CHECK_ATTR_CLASS_r33 752 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r01 753 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r11 754 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r22 755 -#define _CHECK_ATTR_METHOD_LAZY_DICT_r33 756 -#define _CHECK_CALL_BOUND_METHOD_EXACT_ARGS_r00 757 -#define _CHECK_EG_MATCH_r22 758 -#define _CHECK_EXC_MATCH_r22 759 -#define _CHECK_FUNCTION_EXACT_ARGS_r00 760 -#define _CHECK_FUNCTION_VERSION_r00 761 -#define _CHECK_FUNCTION_VERSION_INLINE_r00 762 -#define _CHECK_FUNCTION_VERSION_INLINE_r11 763 -#define _CHECK_FUNCTION_VERSION_INLINE_r22 764 -#define _CHECK_FUNCTION_VERSION_INLINE_r33 765 -#define _CHECK_FUNCTION_VERSION_KW_r11 766 -#define _CHECK_IS_NOT_PY_CALLABLE_r00 767 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r03 768 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r13 769 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r23 770 -#define _CHECK_IS_NOT_PY_CALLABLE_EX_r33 771 -#define _CHECK_IS_NOT_PY_CALLABLE_KW_r11 772 -#define _CHECK_IS_PY_CALLABLE_EX_r03 773 -#define _CHECK_IS_PY_CALLABLE_EX_r13 774 -#define _CHECK_IS_PY_CALLABLE_EX_r23 775 -#define _CHECK_IS_PY_CALLABLE_EX_r33 776 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r01 777 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r11 778 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r22 779 -#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r33 780 -#define _CHECK_METHOD_VERSION_r00 781 -#define _CHECK_METHOD_VERSION_KW_r11 782 -#define _CHECK_PEP_523_r00 783 -#define _CHECK_PEP_523_r11 784 -#define _CHECK_PEP_523_r22 785 -#define _CHECK_PEP_523_r33 786 -#define _CHECK_PERIODIC_r00 787 -#define _CHECK_PERIODIC_AT_END_r00 788 -#define _CHECK_PERIODIC_IF_NOT_YIELD_FROM_r00 789 -#define _CHECK_RECURSION_LIMIT_r00 790 -#define _CHECK_RECURSION_LIMIT_r11 791 -#define _CHECK_RECURSION_LIMIT_r22 792 -#define _CHECK_RECURSION_LIMIT_r33 793 -#define _CHECK_RECURSION_REMAINING_r00 794 -#define _CHECK_RECURSION_REMAINING_r11 795 -#define _CHECK_RECURSION_REMAINING_r22 796 -#define _CHECK_RECURSION_REMAINING_r33 797 -#define _CHECK_STACK_SPACE_r00 798 -#define _CHECK_STACK_SPACE_OPERAND_r00 799 -#define _CHECK_STACK_SPACE_OPERAND_r11 800 -#define _CHECK_STACK_SPACE_OPERAND_r22 801 -#define _CHECK_STACK_SPACE_OPERAND_r33 802 -#define _CHECK_VALIDITY_r00 803 -#define _CHECK_VALIDITY_r11 804 -#define _CHECK_VALIDITY_r22 805 -#define _CHECK_VALIDITY_r33 806 -#define _COLD_DYNAMIC_EXIT_r00 807 -#define _COLD_EXIT_r00 808 -#define _COMPARE_OP_r21 809 -#define _COMPARE_OP_FLOAT_r03 810 -#define _COMPARE_OP_FLOAT_r13 811 -#define _COMPARE_OP_FLOAT_r23 812 -#define _COMPARE_OP_INT_r23 813 -#define _COMPARE_OP_STR_r23 814 -#define _CONTAINS_OP_r23 815 -#define _CONTAINS_OP_DICT_r23 816 -#define _CONTAINS_OP_SET_r23 817 -#define _CONVERT_VALUE_r11 818 -#define _COPY_r01 819 -#define _COPY_1_r02 820 -#define _COPY_1_r12 821 -#define _COPY_1_r23 822 -#define _COPY_2_r03 823 -#define _COPY_2_r13 824 -#define _COPY_2_r23 825 -#define _COPY_3_r03 826 -#define _COPY_3_r13 827 -#define _COPY_3_r23 828 -#define _COPY_3_r33 829 -#define _COPY_FREE_VARS_r00 830 -#define _COPY_FREE_VARS_r11 831 -#define _COPY_FREE_VARS_r22 832 -#define _COPY_FREE_VARS_r33 833 -#define _CREATE_INIT_FRAME_r01 834 -#define _DELETE_ATTR_r10 835 -#define _DELETE_DEREF_r00 836 -#define _DELETE_FAST_r00 837 -#define _DELETE_GLOBAL_r00 838 -#define _DELETE_NAME_r00 839 -#define _DELETE_SUBSCR_r20 840 -#define _DEOPT_r00 841 -#define _DEOPT_r10 842 -#define _DEOPT_r20 843 -#define _DEOPT_r30 844 -#define _DICT_MERGE_r11 845 -#define _DICT_UPDATE_r11 846 -#define _DO_CALL_r01 847 -#define _DO_CALL_FUNCTION_EX_r31 848 -#define _DO_CALL_KW_r11 849 -#define _DYNAMIC_EXIT_r00 850 -#define _DYNAMIC_EXIT_r10 851 -#define _DYNAMIC_EXIT_r20 852 -#define _DYNAMIC_EXIT_r30 853 -#define _END_FOR_r10 854 -#define _END_SEND_r31 855 -#define _ERROR_POP_N_r00 856 -#define _EXIT_INIT_CHECK_r10 857 -#define _EXIT_TRACE_r00 858 -#define _EXIT_TRACE_r10 859 -#define _EXIT_TRACE_r20 860 -#define _EXIT_TRACE_r30 861 -#define _EXPAND_METHOD_r00 862 -#define _EXPAND_METHOD_KW_r11 863 -#define _FATAL_ERROR_r00 864 -#define _FATAL_ERROR_r11 865 -#define _FATAL_ERROR_r22 866 -#define _FATAL_ERROR_r33 867 -#define _FORMAT_SIMPLE_r11 868 -#define _FORMAT_WITH_SPEC_r21 869 -#define _FOR_ITER_r23 870 -#define _FOR_ITER_GEN_FRAME_r03 871 -#define _FOR_ITER_GEN_FRAME_r13 872 -#define _FOR_ITER_GEN_FRAME_r23 873 -#define _FOR_ITER_TIER_TWO_r23 874 -#define _GET_AITER_r11 875 -#define _GET_ANEXT_r12 876 -#define _GET_AWAITABLE_r11 877 -#define _GET_ITER_r12 878 -#define _GET_LEN_r12 879 -#define _GUARD_BINARY_OP_EXTEND_r22 880 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r02 881 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r12 882 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r22 883 -#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r33 884 -#define _GUARD_BIT_IS_SET_POP_r00 885 -#define _GUARD_BIT_IS_SET_POP_r10 886 -#define _GUARD_BIT_IS_SET_POP_r21 887 -#define _GUARD_BIT_IS_SET_POP_r32 888 -#define _GUARD_BIT_IS_SET_POP_4_r00 889 -#define _GUARD_BIT_IS_SET_POP_4_r10 890 -#define _GUARD_BIT_IS_SET_POP_4_r21 891 -#define _GUARD_BIT_IS_SET_POP_4_r32 892 -#define _GUARD_BIT_IS_SET_POP_5_r00 893 -#define _GUARD_BIT_IS_SET_POP_5_r10 894 -#define _GUARD_BIT_IS_SET_POP_5_r21 895 -#define _GUARD_BIT_IS_SET_POP_5_r32 896 -#define _GUARD_BIT_IS_SET_POP_6_r00 897 -#define _GUARD_BIT_IS_SET_POP_6_r10 898 -#define _GUARD_BIT_IS_SET_POP_6_r21 899 -#define _GUARD_BIT_IS_SET_POP_6_r32 900 -#define _GUARD_BIT_IS_SET_POP_7_r00 901 -#define _GUARD_BIT_IS_SET_POP_7_r10 902 -#define _GUARD_BIT_IS_SET_POP_7_r21 903 -#define _GUARD_BIT_IS_SET_POP_7_r32 904 -#define _GUARD_BIT_IS_UNSET_POP_r00 905 -#define _GUARD_BIT_IS_UNSET_POP_r10 906 -#define _GUARD_BIT_IS_UNSET_POP_r21 907 -#define _GUARD_BIT_IS_UNSET_POP_r32 908 -#define _GUARD_BIT_IS_UNSET_POP_4_r00 909 -#define _GUARD_BIT_IS_UNSET_POP_4_r10 910 -#define _GUARD_BIT_IS_UNSET_POP_4_r21 911 -#define _GUARD_BIT_IS_UNSET_POP_4_r32 912 -#define _GUARD_BIT_IS_UNSET_POP_5_r00 913 -#define _GUARD_BIT_IS_UNSET_POP_5_r10 914 -#define _GUARD_BIT_IS_UNSET_POP_5_r21 915 -#define _GUARD_BIT_IS_UNSET_POP_5_r32 916 -#define _GUARD_BIT_IS_UNSET_POP_6_r00 917 -#define _GUARD_BIT_IS_UNSET_POP_6_r10 918 -#define _GUARD_BIT_IS_UNSET_POP_6_r21 919 -#define _GUARD_BIT_IS_UNSET_POP_6_r32 920 -#define _GUARD_BIT_IS_UNSET_POP_7_r00 921 -#define _GUARD_BIT_IS_UNSET_POP_7_r10 922 -#define _GUARD_BIT_IS_UNSET_POP_7_r21 923 -#define _GUARD_BIT_IS_UNSET_POP_7_r32 924 -#define _GUARD_CALLABLE_BUILTIN_FAST_r00 925 -#define _GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS_r00 926 -#define _GUARD_CALLABLE_BUILTIN_O_r00 927 -#define _GUARD_CALLABLE_ISINSTANCE_r03 928 -#define _GUARD_CALLABLE_ISINSTANCE_r13 929 -#define _GUARD_CALLABLE_ISINSTANCE_r23 930 -#define _GUARD_CALLABLE_ISINSTANCE_r33 931 -#define _GUARD_CALLABLE_LEN_r03 932 -#define _GUARD_CALLABLE_LEN_r13 933 -#define _GUARD_CALLABLE_LEN_r23 934 -#define _GUARD_CALLABLE_LEN_r33 935 -#define _GUARD_CALLABLE_LIST_APPEND_r03 936 -#define _GUARD_CALLABLE_LIST_APPEND_r13 937 -#define _GUARD_CALLABLE_LIST_APPEND_r23 938 -#define _GUARD_CALLABLE_LIST_APPEND_r33 939 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_r00 940 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r00 941 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_NOARGS_r00 942 -#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_O_r00 943 -#define _GUARD_CALLABLE_STR_1_r03 944 -#define _GUARD_CALLABLE_STR_1_r13 945 -#define _GUARD_CALLABLE_STR_1_r23 946 -#define _GUARD_CALLABLE_STR_1_r33 947 -#define _GUARD_CALLABLE_TUPLE_1_r03 948 -#define _GUARD_CALLABLE_TUPLE_1_r13 949 -#define _GUARD_CALLABLE_TUPLE_1_r23 950 -#define _GUARD_CALLABLE_TUPLE_1_r33 951 -#define _GUARD_CALLABLE_TYPE_1_r03 952 -#define _GUARD_CALLABLE_TYPE_1_r13 953 -#define _GUARD_CALLABLE_TYPE_1_r23 954 -#define _GUARD_CALLABLE_TYPE_1_r33 955 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r00 956 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r11 957 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r22 958 -#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r33 959 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r00 960 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r11 961 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r22 962 -#define _GUARD_CODE_VERSION_RETURN_VALUE_r33 963 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r00 964 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r11 965 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r22 966 -#define _GUARD_CODE_VERSION_YIELD_VALUE_r33 967 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r00 968 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r11 969 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r22 970 -#define _GUARD_CODE_VERSION__PUSH_FRAME_r33 971 -#define _GUARD_DORV_NO_DICT_r01 972 -#define _GUARD_DORV_NO_DICT_r11 973 -#define _GUARD_DORV_NO_DICT_r22 974 -#define _GUARD_DORV_NO_DICT_r33 975 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r01 976 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r11 977 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r22 978 -#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r33 979 -#define _GUARD_GLOBALS_VERSION_r00 980 -#define _GUARD_GLOBALS_VERSION_r11 981 -#define _GUARD_GLOBALS_VERSION_r22 982 -#define _GUARD_GLOBALS_VERSION_r33 983 -#define _GUARD_IP_RETURN_GENERATOR_r00 984 -#define _GUARD_IP_RETURN_GENERATOR_r11 985 -#define _GUARD_IP_RETURN_GENERATOR_r22 986 -#define _GUARD_IP_RETURN_GENERATOR_r33 987 -#define _GUARD_IP_RETURN_VALUE_r00 988 -#define _GUARD_IP_RETURN_VALUE_r11 989 -#define _GUARD_IP_RETURN_VALUE_r22 990 -#define _GUARD_IP_RETURN_VALUE_r33 991 -#define _GUARD_IP_YIELD_VALUE_r00 992 -#define _GUARD_IP_YIELD_VALUE_r11 993 -#define _GUARD_IP_YIELD_VALUE_r22 994 -#define _GUARD_IP_YIELD_VALUE_r33 995 -#define _GUARD_IP__PUSH_FRAME_r00 996 -#define _GUARD_IP__PUSH_FRAME_r11 997 -#define _GUARD_IP__PUSH_FRAME_r22 998 -#define _GUARD_IP__PUSH_FRAME_r33 999 -#define _GUARD_IS_FALSE_POP_r00 1000 -#define _GUARD_IS_FALSE_POP_r10 1001 -#define _GUARD_IS_FALSE_POP_r21 1002 -#define _GUARD_IS_FALSE_POP_r32 1003 -#define _GUARD_IS_NONE_POP_r00 1004 -#define _GUARD_IS_NONE_POP_r10 1005 -#define _GUARD_IS_NONE_POP_r21 1006 -#define _GUARD_IS_NONE_POP_r32 1007 -#define _GUARD_IS_NOT_NONE_POP_r10 1008 -#define _GUARD_IS_TRUE_POP_r00 1009 -#define _GUARD_IS_TRUE_POP_r10 1010 -#define _GUARD_IS_TRUE_POP_r21 1011 -#define _GUARD_IS_TRUE_POP_r32 1012 -#define _GUARD_KEYS_VERSION_r01 1013 -#define _GUARD_KEYS_VERSION_r11 1014 -#define _GUARD_KEYS_VERSION_r22 1015 -#define _GUARD_KEYS_VERSION_r33 1016 -#define _GUARD_LOAD_SUPER_ATTR_METHOD_r03 1017 -#define _GUARD_LOAD_SUPER_ATTR_METHOD_r13 1018 -#define _GUARD_LOAD_SUPER_ATTR_METHOD_r23 1019 -#define _GUARD_LOAD_SUPER_ATTR_METHOD_r33 1020 -#define _GUARD_NOS_ANY_DICT_r02 1021 -#define _GUARD_NOS_ANY_DICT_r12 1022 -#define _GUARD_NOS_ANY_DICT_r22 1023 -#define _GUARD_NOS_ANY_DICT_r33 1024 -#define _GUARD_NOS_COMPACT_ASCII_r02 1025 -#define _GUARD_NOS_COMPACT_ASCII_r12 1026 -#define _GUARD_NOS_COMPACT_ASCII_r22 1027 -#define _GUARD_NOS_COMPACT_ASCII_r33 1028 -#define _GUARD_NOS_DICT_r02 1029 -#define _GUARD_NOS_DICT_r12 1030 -#define _GUARD_NOS_DICT_r22 1031 -#define _GUARD_NOS_DICT_r33 1032 -#define _GUARD_NOS_FLOAT_r02 1033 -#define _GUARD_NOS_FLOAT_r12 1034 -#define _GUARD_NOS_FLOAT_r22 1035 -#define _GUARD_NOS_FLOAT_r33 1036 -#define _GUARD_NOS_INT_r02 1037 -#define _GUARD_NOS_INT_r12 1038 -#define _GUARD_NOS_INT_r22 1039 -#define _GUARD_NOS_INT_r33 1040 -#define _GUARD_NOS_LIST_r02 1041 -#define _GUARD_NOS_LIST_r12 1042 -#define _GUARD_NOS_LIST_r22 1043 -#define _GUARD_NOS_LIST_r33 1044 -#define _GUARD_NOS_NOT_NULL_r02 1045 -#define _GUARD_NOS_NOT_NULL_r12 1046 -#define _GUARD_NOS_NOT_NULL_r22 1047 -#define _GUARD_NOS_NOT_NULL_r33 1048 -#define _GUARD_NOS_NULL_r02 1049 -#define _GUARD_NOS_NULL_r12 1050 -#define _GUARD_NOS_NULL_r22 1051 -#define _GUARD_NOS_NULL_r33 1052 -#define _GUARD_NOS_OVERFLOWED_r02 1053 -#define _GUARD_NOS_OVERFLOWED_r12 1054 -#define _GUARD_NOS_OVERFLOWED_r22 1055 -#define _GUARD_NOS_OVERFLOWED_r33 1056 -#define _GUARD_NOS_TUPLE_r02 1057 -#define _GUARD_NOS_TUPLE_r12 1058 -#define _GUARD_NOS_TUPLE_r22 1059 -#define _GUARD_NOS_TUPLE_r33 1060 -#define _GUARD_NOS_TYPE_VERSION_r02 1061 -#define _GUARD_NOS_TYPE_VERSION_r12 1062 -#define _GUARD_NOS_TYPE_VERSION_r22 1063 -#define _GUARD_NOS_TYPE_VERSION_r33 1064 -#define _GUARD_NOS_UNICODE_r02 1065 -#define _GUARD_NOS_UNICODE_r12 1066 -#define _GUARD_NOS_UNICODE_r22 1067 -#define _GUARD_NOS_UNICODE_r33 1068 -#define _GUARD_NOT_EXHAUSTED_LIST_r02 1069 -#define _GUARD_NOT_EXHAUSTED_LIST_r12 1070 -#define _GUARD_NOT_EXHAUSTED_LIST_r22 1071 -#define _GUARD_NOT_EXHAUSTED_LIST_r33 1072 -#define _GUARD_NOT_EXHAUSTED_RANGE_r02 1073 -#define _GUARD_NOT_EXHAUSTED_RANGE_r12 1074 -#define _GUARD_NOT_EXHAUSTED_RANGE_r22 1075 -#define _GUARD_NOT_EXHAUSTED_RANGE_r33 1076 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r02 1077 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r12 1078 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r22 1079 -#define _GUARD_NOT_EXHAUSTED_TUPLE_r33 1080 -#define _GUARD_THIRD_NULL_r03 1081 -#define _GUARD_THIRD_NULL_r13 1082 -#define _GUARD_THIRD_NULL_r23 1083 -#define _GUARD_THIRD_NULL_r33 1084 -#define _GUARD_TOS_ANY_DICT_r01 1085 -#define _GUARD_TOS_ANY_DICT_r11 1086 -#define _GUARD_TOS_ANY_DICT_r22 1087 -#define _GUARD_TOS_ANY_DICT_r33 1088 -#define _GUARD_TOS_ANY_SET_r01 1089 -#define _GUARD_TOS_ANY_SET_r11 1090 -#define _GUARD_TOS_ANY_SET_r22 1091 -#define _GUARD_TOS_ANY_SET_r33 1092 -#define _GUARD_TOS_DICT_r01 1093 -#define _GUARD_TOS_DICT_r11 1094 -#define _GUARD_TOS_DICT_r22 1095 -#define _GUARD_TOS_DICT_r33 1096 -#define _GUARD_TOS_FLOAT_r01 1097 -#define _GUARD_TOS_FLOAT_r11 1098 -#define _GUARD_TOS_FLOAT_r22 1099 -#define _GUARD_TOS_FLOAT_r33 1100 -#define _GUARD_TOS_FROZENDICT_r01 1101 -#define _GUARD_TOS_FROZENDICT_r11 1102 -#define _GUARD_TOS_FROZENDICT_r22 1103 -#define _GUARD_TOS_FROZENDICT_r33 1104 -#define _GUARD_TOS_FROZENSET_r01 1105 -#define _GUARD_TOS_FROZENSET_r11 1106 -#define _GUARD_TOS_FROZENSET_r22 1107 -#define _GUARD_TOS_FROZENSET_r33 1108 -#define _GUARD_TOS_INT_r01 1109 -#define _GUARD_TOS_INT_r11 1110 -#define _GUARD_TOS_INT_r22 1111 -#define _GUARD_TOS_INT_r33 1112 -#define _GUARD_TOS_LIST_r01 1113 -#define _GUARD_TOS_LIST_r11 1114 -#define _GUARD_TOS_LIST_r22 1115 -#define _GUARD_TOS_LIST_r33 1116 -#define _GUARD_TOS_OVERFLOWED_r01 1117 -#define _GUARD_TOS_OVERFLOWED_r11 1118 -#define _GUARD_TOS_OVERFLOWED_r22 1119 -#define _GUARD_TOS_OVERFLOWED_r33 1120 -#define _GUARD_TOS_SET_r01 1121 -#define _GUARD_TOS_SET_r11 1122 -#define _GUARD_TOS_SET_r22 1123 -#define _GUARD_TOS_SET_r33 1124 -#define _GUARD_TOS_SLICE_r01 1125 -#define _GUARD_TOS_SLICE_r11 1126 -#define _GUARD_TOS_SLICE_r22 1127 -#define _GUARD_TOS_SLICE_r33 1128 -#define _GUARD_TOS_TUPLE_r01 1129 -#define _GUARD_TOS_TUPLE_r11 1130 -#define _GUARD_TOS_TUPLE_r22 1131 -#define _GUARD_TOS_TUPLE_r33 1132 -#define _GUARD_TOS_UNICODE_r01 1133 -#define _GUARD_TOS_UNICODE_r11 1134 -#define _GUARD_TOS_UNICODE_r22 1135 -#define _GUARD_TOS_UNICODE_r33 1136 -#define _GUARD_TYPE_VERSION_r01 1137 -#define _GUARD_TYPE_VERSION_r11 1138 -#define _GUARD_TYPE_VERSION_r22 1139 -#define _GUARD_TYPE_VERSION_r33 1140 -#define _GUARD_TYPE_VERSION_LOCKED_r01 1141 -#define _GUARD_TYPE_VERSION_LOCKED_r11 1142 -#define _GUARD_TYPE_VERSION_LOCKED_r22 1143 -#define _GUARD_TYPE_VERSION_LOCKED_r33 1144 -#define _HANDLE_PENDING_AND_DEOPT_r00 1145 -#define _HANDLE_PENDING_AND_DEOPT_r10 1146 -#define _HANDLE_PENDING_AND_DEOPT_r20 1147 -#define _HANDLE_PENDING_AND_DEOPT_r30 1148 -#define _IMPORT_FROM_r12 1149 -#define _IMPORT_NAME_r21 1150 -#define _INIT_CALL_BOUND_METHOD_EXACT_ARGS_r00 1151 -#define _INIT_CALL_PY_EXACT_ARGS_r01 1152 -#define _INIT_CALL_PY_EXACT_ARGS_0_r01 1153 -#define _INIT_CALL_PY_EXACT_ARGS_1_r01 1154 -#define _INIT_CALL_PY_EXACT_ARGS_2_r01 1155 -#define _INIT_CALL_PY_EXACT_ARGS_3_r01 1156 -#define _INIT_CALL_PY_EXACT_ARGS_4_r01 1157 -#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r03 1158 -#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r13 1159 -#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r23 1160 -#define _INSERT_NULL_r10 1161 -#define _INSTRUMENTED_FOR_ITER_r23 1162 -#define _INSTRUMENTED_INSTRUCTION_r00 1163 -#define _INSTRUMENTED_JUMP_FORWARD_r00 1164 -#define _INSTRUMENTED_JUMP_FORWARD_r11 1165 -#define _INSTRUMENTED_JUMP_FORWARD_r22 1166 -#define _INSTRUMENTED_JUMP_FORWARD_r33 1167 -#define _INSTRUMENTED_LINE_r00 1168 -#define _INSTRUMENTED_NOT_TAKEN_r00 1169 -#define _INSTRUMENTED_NOT_TAKEN_r11 1170 -#define _INSTRUMENTED_NOT_TAKEN_r22 1171 -#define _INSTRUMENTED_NOT_TAKEN_r33 1172 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r00 1173 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r10 1174 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r21 1175 -#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r32 1176 -#define _INSTRUMENTED_POP_JUMP_IF_NONE_r10 1177 -#define _INSTRUMENTED_POP_JUMP_IF_NOT_NONE_r10 1178 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r00 1179 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r10 1180 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r21 1181 -#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r32 1182 -#define _IS_NONE_r11 1183 -#define _IS_OP_r03 1184 -#define _IS_OP_r13 1185 -#define _IS_OP_r23 1186 -#define _ITER_CHECK_LIST_r02 1187 -#define _ITER_CHECK_LIST_r12 1188 -#define _ITER_CHECK_LIST_r22 1189 -#define _ITER_CHECK_LIST_r33 1190 -#define _ITER_CHECK_RANGE_r02 1191 -#define _ITER_CHECK_RANGE_r12 1192 -#define _ITER_CHECK_RANGE_r22 1193 -#define _ITER_CHECK_RANGE_r33 1194 -#define _ITER_CHECK_TUPLE_r02 1195 -#define _ITER_CHECK_TUPLE_r12 1196 -#define _ITER_CHECK_TUPLE_r22 1197 -#define _ITER_CHECK_TUPLE_r33 1198 -#define _ITER_JUMP_LIST_r02 1199 -#define _ITER_JUMP_LIST_r12 1200 -#define _ITER_JUMP_LIST_r22 1201 -#define _ITER_JUMP_LIST_r33 1202 -#define _ITER_JUMP_RANGE_r02 1203 -#define _ITER_JUMP_RANGE_r12 1204 -#define _ITER_JUMP_RANGE_r22 1205 -#define _ITER_JUMP_RANGE_r33 1206 -#define _ITER_JUMP_TUPLE_r02 1207 -#define _ITER_JUMP_TUPLE_r12 1208 -#define _ITER_JUMP_TUPLE_r22 1209 -#define _ITER_JUMP_TUPLE_r33 1210 -#define _ITER_NEXT_LIST_r23 1211 -#define _ITER_NEXT_LIST_TIER_TWO_r23 1212 -#define _ITER_NEXT_RANGE_r03 1213 -#define _ITER_NEXT_RANGE_r13 1214 -#define _ITER_NEXT_RANGE_r23 1215 -#define _ITER_NEXT_TUPLE_r03 1216 -#define _ITER_NEXT_TUPLE_r13 1217 -#define _ITER_NEXT_TUPLE_r23 1218 -#define _JUMP_BACKWARD_NO_INTERRUPT_r00 1219 -#define _JUMP_BACKWARD_NO_INTERRUPT_r11 1220 -#define _JUMP_BACKWARD_NO_INTERRUPT_r22 1221 -#define _JUMP_BACKWARD_NO_INTERRUPT_r33 1222 -#define _JUMP_TO_TOP_r00 1223 -#define _LIST_APPEND_r10 1224 -#define _LIST_EXTEND_r11 1225 -#define _LOAD_ATTR_r10 1226 -#define _LOAD_ATTR_CLASS_r11 1227 -#define _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN_r11 1228 -#define _LOAD_ATTR_INSTANCE_VALUE_r02 1229 -#define _LOAD_ATTR_INSTANCE_VALUE_r12 1230 -#define _LOAD_ATTR_INSTANCE_VALUE_r23 1231 -#define _LOAD_ATTR_METHOD_LAZY_DICT_r02 1232 -#define _LOAD_ATTR_METHOD_LAZY_DICT_r12 1233 -#define _LOAD_ATTR_METHOD_LAZY_DICT_r23 1234 -#define _LOAD_ATTR_METHOD_NO_DICT_r02 1235 -#define _LOAD_ATTR_METHOD_NO_DICT_r12 1236 -#define _LOAD_ATTR_METHOD_NO_DICT_r23 1237 -#define _LOAD_ATTR_METHOD_WITH_VALUES_r02 1238 -#define _LOAD_ATTR_METHOD_WITH_VALUES_r12 1239 -#define _LOAD_ATTR_METHOD_WITH_VALUES_r23 1240 -#define _LOAD_ATTR_MODULE_r12 1241 -#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT_r11 1242 -#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES_r11 1243 -#define _LOAD_ATTR_PROPERTY_FRAME_r11 1244 -#define _LOAD_ATTR_SLOT_r02 1245 -#define _LOAD_ATTR_SLOT_r12 1246 -#define _LOAD_ATTR_SLOT_r23 1247 -#define _LOAD_ATTR_WITH_HINT_r12 1248 -#define _LOAD_BUILD_CLASS_r01 1249 -#define _LOAD_BYTECODE_r00 1250 -#define _LOAD_COMMON_CONSTANT_r01 1251 -#define _LOAD_COMMON_CONSTANT_r12 1252 -#define _LOAD_COMMON_CONSTANT_r23 1253 -#define _LOAD_CONST_r01 1254 -#define _LOAD_CONST_r12 1255 -#define _LOAD_CONST_r23 1256 -#define _LOAD_CONST_INLINE_r01 1257 -#define _LOAD_CONST_INLINE_r12 1258 -#define _LOAD_CONST_INLINE_r23 1259 -#define _LOAD_CONST_INLINE_BORROW_r01 1260 -#define _LOAD_CONST_INLINE_BORROW_r12 1261 -#define _LOAD_CONST_INLINE_BORROW_r23 1262 -#define _LOAD_DEREF_r01 1263 -#define _LOAD_FAST_r01 1264 -#define _LOAD_FAST_r12 1265 -#define _LOAD_FAST_r23 1266 -#define _LOAD_FAST_0_r01 1267 -#define _LOAD_FAST_0_r12 1268 -#define _LOAD_FAST_0_r23 1269 -#define _LOAD_FAST_1_r01 1270 -#define _LOAD_FAST_1_r12 1271 -#define _LOAD_FAST_1_r23 1272 -#define _LOAD_FAST_2_r01 1273 -#define _LOAD_FAST_2_r12 1274 -#define _LOAD_FAST_2_r23 1275 -#define _LOAD_FAST_3_r01 1276 -#define _LOAD_FAST_3_r12 1277 -#define _LOAD_FAST_3_r23 1278 -#define _LOAD_FAST_4_r01 1279 -#define _LOAD_FAST_4_r12 1280 -#define _LOAD_FAST_4_r23 1281 -#define _LOAD_FAST_5_r01 1282 -#define _LOAD_FAST_5_r12 1283 -#define _LOAD_FAST_5_r23 1284 -#define _LOAD_FAST_6_r01 1285 -#define _LOAD_FAST_6_r12 1286 -#define _LOAD_FAST_6_r23 1287 -#define _LOAD_FAST_7_r01 1288 -#define _LOAD_FAST_7_r12 1289 -#define _LOAD_FAST_7_r23 1290 -#define _LOAD_FAST_AND_CLEAR_r01 1291 -#define _LOAD_FAST_AND_CLEAR_r12 1292 -#define _LOAD_FAST_AND_CLEAR_r23 1293 -#define _LOAD_FAST_BORROW_r01 1294 -#define _LOAD_FAST_BORROW_r12 1295 -#define _LOAD_FAST_BORROW_r23 1296 -#define _LOAD_FAST_BORROW_0_r01 1297 -#define _LOAD_FAST_BORROW_0_r12 1298 -#define _LOAD_FAST_BORROW_0_r23 1299 -#define _LOAD_FAST_BORROW_1_r01 1300 -#define _LOAD_FAST_BORROW_1_r12 1301 -#define _LOAD_FAST_BORROW_1_r23 1302 -#define _LOAD_FAST_BORROW_2_r01 1303 -#define _LOAD_FAST_BORROW_2_r12 1304 -#define _LOAD_FAST_BORROW_2_r23 1305 -#define _LOAD_FAST_BORROW_3_r01 1306 -#define _LOAD_FAST_BORROW_3_r12 1307 -#define _LOAD_FAST_BORROW_3_r23 1308 -#define _LOAD_FAST_BORROW_4_r01 1309 -#define _LOAD_FAST_BORROW_4_r12 1310 -#define _LOAD_FAST_BORROW_4_r23 1311 -#define _LOAD_FAST_BORROW_5_r01 1312 -#define _LOAD_FAST_BORROW_5_r12 1313 -#define _LOAD_FAST_BORROW_5_r23 1314 -#define _LOAD_FAST_BORROW_6_r01 1315 -#define _LOAD_FAST_BORROW_6_r12 1316 -#define _LOAD_FAST_BORROW_6_r23 1317 -#define _LOAD_FAST_BORROW_7_r01 1318 -#define _LOAD_FAST_BORROW_7_r12 1319 -#define _LOAD_FAST_BORROW_7_r23 1320 -#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r02 1321 -#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r13 1322 -#define _LOAD_FAST_CHECK_r01 1323 -#define _LOAD_FAST_CHECK_r12 1324 -#define _LOAD_FAST_CHECK_r23 1325 -#define _LOAD_FAST_LOAD_FAST_r02 1326 -#define _LOAD_FAST_LOAD_FAST_r13 1327 -#define _LOAD_FROM_DICT_OR_DEREF_r11 1328 -#define _LOAD_FROM_DICT_OR_GLOBALS_r11 1329 -#define _LOAD_GLOBAL_r00 1330 -#define _LOAD_GLOBAL_BUILTINS_r01 1331 -#define _LOAD_GLOBAL_MODULE_r01 1332 -#define _LOAD_LOCALS_r01 1333 -#define _LOAD_LOCALS_r12 1334 -#define _LOAD_LOCALS_r23 1335 -#define _LOAD_NAME_r01 1336 -#define _LOAD_SMALL_INT_r01 1337 -#define _LOAD_SMALL_INT_r12 1338 -#define _LOAD_SMALL_INT_r23 1339 -#define _LOAD_SMALL_INT_0_r01 1340 -#define _LOAD_SMALL_INT_0_r12 1341 -#define _LOAD_SMALL_INT_0_r23 1342 -#define _LOAD_SMALL_INT_1_r01 1343 -#define _LOAD_SMALL_INT_1_r12 1344 -#define _LOAD_SMALL_INT_1_r23 1345 -#define _LOAD_SMALL_INT_2_r01 1346 -#define _LOAD_SMALL_INT_2_r12 1347 -#define _LOAD_SMALL_INT_2_r23 1348 -#define _LOAD_SMALL_INT_3_r01 1349 -#define _LOAD_SMALL_INT_3_r12 1350 -#define _LOAD_SMALL_INT_3_r23 1351 -#define _LOAD_SPECIAL_r00 1352 -#define _LOAD_SUPER_ATTR_ATTR_r31 1353 -#define _LOAD_SUPER_ATTR_METHOD_r32 1354 -#define _LOCK_OBJECT_r01 1355 -#define _LOCK_OBJECT_r11 1356 -#define _LOCK_OBJECT_r22 1357 -#define _LOCK_OBJECT_r33 1358 -#define _MAKE_CALLARGS_A_TUPLE_r33 1359 -#define _MAKE_CELL_r00 1360 -#define _MAKE_FUNCTION_r12 1361 -#define _MAKE_HEAP_SAFE_r01 1362 -#define _MAKE_HEAP_SAFE_r11 1363 -#define _MAKE_HEAP_SAFE_r22 1364 -#define _MAKE_HEAP_SAFE_r33 1365 -#define _MAKE_WARM_r00 1366 -#define _MAKE_WARM_r11 1367 -#define _MAKE_WARM_r22 1368 -#define _MAKE_WARM_r33 1369 -#define _MAP_ADD_r20 1370 -#define _MATCH_CLASS_r33 1371 -#define _MATCH_KEYS_r23 1372 -#define _MATCH_MAPPING_r02 1373 -#define _MATCH_MAPPING_r12 1374 -#define _MATCH_MAPPING_r23 1375 -#define _MATCH_SEQUENCE_r02 1376 -#define _MATCH_SEQUENCE_r12 1377 -#define _MATCH_SEQUENCE_r23 1378 -#define _MAYBE_EXPAND_METHOD_r00 1379 -#define _MAYBE_EXPAND_METHOD_KW_r11 1380 -#define _MONITOR_CALL_r00 1381 -#define _MONITOR_CALL_KW_r11 1382 -#define _MONITOR_JUMP_BACKWARD_r00 1383 -#define _MONITOR_JUMP_BACKWARD_r11 1384 -#define _MONITOR_JUMP_BACKWARD_r22 1385 -#define _MONITOR_JUMP_BACKWARD_r33 1386 -#define _MONITOR_RESUME_r00 1387 -#define _NOP_r00 1388 -#define _NOP_r11 1389 -#define _NOP_r22 1390 -#define _NOP_r33 1391 -#define _POP_CALL_r20 1392 -#define _POP_CALL_ONE_r30 1393 -#define _POP_CALL_TWO_r30 1394 -#define _POP_EXCEPT_r10 1395 -#define _POP_ITER_r20 1396 -#define _POP_JUMP_IF_FALSE_r00 1397 -#define _POP_JUMP_IF_FALSE_r10 1398 -#define _POP_JUMP_IF_FALSE_r21 1399 -#define _POP_JUMP_IF_FALSE_r32 1400 -#define _POP_JUMP_IF_TRUE_r00 1401 -#define _POP_JUMP_IF_TRUE_r10 1402 -#define _POP_JUMP_IF_TRUE_r21 1403 -#define _POP_JUMP_IF_TRUE_r32 1404 -#define _POP_TOP_r10 1405 -#define _POP_TOP_FLOAT_r00 1406 -#define _POP_TOP_FLOAT_r10 1407 -#define _POP_TOP_FLOAT_r21 1408 -#define _POP_TOP_FLOAT_r32 1409 -#define _POP_TOP_INT_r00 1410 -#define _POP_TOP_INT_r10 1411 -#define _POP_TOP_INT_r21 1412 -#define _POP_TOP_INT_r32 1413 -#define _POP_TOP_LOAD_CONST_INLINE_r11 1414 -#define _POP_TOP_LOAD_CONST_INLINE_BORROW_r11 1415 -#define _POP_TOP_NOP_r00 1416 -#define _POP_TOP_NOP_r10 1417 -#define _POP_TOP_NOP_r21 1418 -#define _POP_TOP_NOP_r32 1419 -#define _POP_TOP_OPARG_r00 1420 -#define _POP_TOP_UNICODE_r00 1421 -#define _POP_TOP_UNICODE_r10 1422 -#define _POP_TOP_UNICODE_r21 1423 -#define _POP_TOP_UNICODE_r32 1424 -#define _POP_TWO_r20 1425 -#define _POP_TWO_LOAD_CONST_INLINE_BORROW_r21 1426 -#define _PUSH_EXC_INFO_r02 1427 -#define _PUSH_EXC_INFO_r12 1428 -#define _PUSH_EXC_INFO_r23 1429 -#define _PUSH_FRAME_r10 1430 -#define _PUSH_NULL_r01 1431 -#define _PUSH_NULL_r12 1432 -#define _PUSH_NULL_r23 1433 -#define _PUSH_NULL_CONDITIONAL_r00 1434 -#define _PY_FRAME_EX_r31 1435 -#define _PY_FRAME_GENERAL_r01 1436 -#define _PY_FRAME_KW_r11 1437 -#define _REPLACE_WITH_TRUE_r02 1438 -#define _REPLACE_WITH_TRUE_r12 1439 -#define _REPLACE_WITH_TRUE_r23 1440 -#define _RESUME_CHECK_r00 1441 -#define _RESUME_CHECK_r11 1442 -#define _RESUME_CHECK_r22 1443 -#define _RESUME_CHECK_r33 1444 -#define _RETURN_GENERATOR_r01 1445 -#define _RETURN_VALUE_r11 1446 -#define _SAVE_RETURN_OFFSET_r00 1447 -#define _SAVE_RETURN_OFFSET_r11 1448 -#define _SAVE_RETURN_OFFSET_r22 1449 -#define _SAVE_RETURN_OFFSET_r33 1450 -#define _SEND_r33 1451 -#define _SEND_GEN_FRAME_r33 1452 -#define _SETUP_ANNOTATIONS_r00 1453 -#define _SET_ADD_r10 1454 -#define _SET_FUNCTION_ATTRIBUTE_r01 1455 -#define _SET_FUNCTION_ATTRIBUTE_r11 1456 -#define _SET_FUNCTION_ATTRIBUTE_r21 1457 -#define _SET_FUNCTION_ATTRIBUTE_r32 1458 -#define _SET_IP_r00 1459 -#define _SET_IP_r11 1460 -#define _SET_IP_r22 1461 -#define _SET_IP_r33 1462 -#define _SET_UPDATE_r11 1463 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03 1464 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13 1465 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r23 1466 -#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33 1467 -#define _SPILL_OR_RELOAD_r01 1468 -#define _SPILL_OR_RELOAD_r02 1469 -#define _SPILL_OR_RELOAD_r03 1470 -#define _SPILL_OR_RELOAD_r10 1471 -#define _SPILL_OR_RELOAD_r12 1472 -#define _SPILL_OR_RELOAD_r13 1473 -#define _SPILL_OR_RELOAD_r20 1474 -#define _SPILL_OR_RELOAD_r21 1475 -#define _SPILL_OR_RELOAD_r23 1476 -#define _SPILL_OR_RELOAD_r30 1477 -#define _SPILL_OR_RELOAD_r31 1478 -#define _SPILL_OR_RELOAD_r32 1479 -#define _START_EXECUTOR_r00 1480 -#define _STORE_ATTR_r20 1481 -#define _STORE_ATTR_INSTANCE_VALUE_r21 1482 -#define _STORE_ATTR_SLOT_r21 1483 -#define _STORE_ATTR_WITH_HINT_r21 1484 -#define _STORE_DEREF_r10 1485 -#define _STORE_FAST_LOAD_FAST_r11 1486 -#define _STORE_FAST_STORE_FAST_r20 1487 -#define _STORE_GLOBAL_r10 1488 -#define _STORE_NAME_r10 1489 -#define _STORE_SLICE_r30 1490 -#define _STORE_SUBSCR_r30 1491 -#define _STORE_SUBSCR_DICT_r31 1492 -#define _STORE_SUBSCR_DICT_KNOWN_HASH_r31 1493 -#define _STORE_SUBSCR_LIST_INT_r32 1494 -#define _SWAP_r11 1495 -#define _SWAP_2_r02 1496 -#define _SWAP_2_r12 1497 -#define _SWAP_2_r22 1498 -#define _SWAP_2_r33 1499 -#define _SWAP_3_r03 1500 -#define _SWAP_3_r13 1501 -#define _SWAP_3_r23 1502 -#define _SWAP_3_r33 1503 -#define _SWAP_FAST_r01 1504 -#define _SWAP_FAST_r11 1505 -#define _SWAP_FAST_r22 1506 -#define _SWAP_FAST_r33 1507 -#define _SWAP_FAST_0_r01 1508 -#define _SWAP_FAST_0_r11 1509 -#define _SWAP_FAST_0_r22 1510 -#define _SWAP_FAST_0_r33 1511 -#define _SWAP_FAST_1_r01 1512 -#define _SWAP_FAST_1_r11 1513 -#define _SWAP_FAST_1_r22 1514 -#define _SWAP_FAST_1_r33 1515 -#define _SWAP_FAST_2_r01 1516 -#define _SWAP_FAST_2_r11 1517 -#define _SWAP_FAST_2_r22 1518 -#define _SWAP_FAST_2_r33 1519 -#define _SWAP_FAST_3_r01 1520 -#define _SWAP_FAST_3_r11 1521 -#define _SWAP_FAST_3_r22 1522 -#define _SWAP_FAST_3_r33 1523 -#define _SWAP_FAST_4_r01 1524 -#define _SWAP_FAST_4_r11 1525 -#define _SWAP_FAST_4_r22 1526 -#define _SWAP_FAST_4_r33 1527 -#define _SWAP_FAST_5_r01 1528 -#define _SWAP_FAST_5_r11 1529 -#define _SWAP_FAST_5_r22 1530 -#define _SWAP_FAST_5_r33 1531 -#define _SWAP_FAST_6_r01 1532 -#define _SWAP_FAST_6_r11 1533 -#define _SWAP_FAST_6_r22 1534 -#define _SWAP_FAST_6_r33 1535 -#define _SWAP_FAST_7_r01 1536 -#define _SWAP_FAST_7_r11 1537 -#define _SWAP_FAST_7_r22 1538 -#define _SWAP_FAST_7_r33 1539 -#define _TIER2_RESUME_CHECK_r00 1540 -#define _TIER2_RESUME_CHECK_r11 1541 -#define _TIER2_RESUME_CHECK_r22 1542 -#define _TIER2_RESUME_CHECK_r33 1543 -#define _TO_BOOL_r11 1544 -#define _TO_BOOL_BOOL_r01 1545 -#define _TO_BOOL_BOOL_r11 1546 -#define _TO_BOOL_BOOL_r22 1547 -#define _TO_BOOL_BOOL_r33 1548 -#define _TO_BOOL_INT_r02 1549 -#define _TO_BOOL_INT_r12 1550 -#define _TO_BOOL_INT_r23 1551 -#define _TO_BOOL_LIST_r02 1552 -#define _TO_BOOL_LIST_r12 1553 -#define _TO_BOOL_LIST_r23 1554 -#define _TO_BOOL_NONE_r01 1555 -#define _TO_BOOL_NONE_r11 1556 -#define _TO_BOOL_NONE_r22 1557 -#define _TO_BOOL_NONE_r33 1558 -#define _TO_BOOL_STR_r02 1559 -#define _TO_BOOL_STR_r12 1560 -#define _TO_BOOL_STR_r23 1561 -#define _TRACE_RECORD_r00 1562 -#define _UNARY_INVERT_r12 1563 -#define _UNARY_NEGATIVE_r12 1564 -#define _UNARY_NEGATIVE_FLOAT_INPLACE_r02 1565 -#define _UNARY_NEGATIVE_FLOAT_INPLACE_r12 1566 -#define _UNARY_NEGATIVE_FLOAT_INPLACE_r23 1567 -#define _UNARY_NOT_r01 1568 -#define _UNARY_NOT_r11 1569 -#define _UNARY_NOT_r22 1570 -#define _UNARY_NOT_r33 1571 -#define _UNPACK_EX_r10 1572 -#define _UNPACK_SEQUENCE_r10 1573 -#define _UNPACK_SEQUENCE_LIST_r10 1574 -#define _UNPACK_SEQUENCE_TUPLE_r10 1575 -#define _UNPACK_SEQUENCE_TWO_TUPLE_r12 1576 -#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r03 1577 -#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r13 1578 -#define _UNPACK_SEQUENCE_UNIQUE_TUPLE_r10 1579 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r02 1580 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r12 1581 -#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r23 1582 -#define _WITH_EXCEPT_START_r33 1583 -#define _YIELD_VALUE_r11 1584 -#define MAX_UOP_REGS_ID 1584 +#define _YIELD_VALUE 636 +#define MAX_UOP_ID 636 +#define _BINARY_OP_r23 637 +#define _BINARY_OP_ADD_FLOAT_r03 638 +#define _BINARY_OP_ADD_FLOAT_r13 639 +#define _BINARY_OP_ADD_FLOAT_r23 640 +#define _BINARY_OP_ADD_FLOAT_INPLACE_r03 641 +#define _BINARY_OP_ADD_FLOAT_INPLACE_r13 642 +#define _BINARY_OP_ADD_FLOAT_INPLACE_r23 643 +#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r03 644 +#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r13 645 +#define _BINARY_OP_ADD_FLOAT_INPLACE_RIGHT_r23 646 +#define _BINARY_OP_ADD_INT_r03 647 +#define _BINARY_OP_ADD_INT_r13 648 +#define _BINARY_OP_ADD_INT_r23 649 +#define _BINARY_OP_ADD_INT_INPLACE_r03 650 +#define _BINARY_OP_ADD_INT_INPLACE_r13 651 +#define _BINARY_OP_ADD_INT_INPLACE_r23 652 +#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r03 653 +#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r13 654 +#define _BINARY_OP_ADD_INT_INPLACE_RIGHT_r23 655 +#define _BINARY_OP_ADD_UNICODE_r03 656 +#define _BINARY_OP_ADD_UNICODE_r13 657 +#define _BINARY_OP_ADD_UNICODE_r23 658 +#define _BINARY_OP_EXTEND_r23 659 +#define _BINARY_OP_INPLACE_ADD_UNICODE_r21 660 +#define _BINARY_OP_MULTIPLY_FLOAT_r03 661 +#define _BINARY_OP_MULTIPLY_FLOAT_r13 662 +#define _BINARY_OP_MULTIPLY_FLOAT_r23 663 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r03 664 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r13 665 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_r23 666 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r03 667 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r13 668 +#define _BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHT_r23 669 +#define _BINARY_OP_MULTIPLY_INT_r03 670 +#define _BINARY_OP_MULTIPLY_INT_r13 671 +#define _BINARY_OP_MULTIPLY_INT_r23 672 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_r03 673 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_r13 674 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_r23 675 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r03 676 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r13 677 +#define _BINARY_OP_MULTIPLY_INT_INPLACE_RIGHT_r23 678 +#define _BINARY_OP_SUBSCR_CHECK_FUNC_r23 679 +#define _BINARY_OP_SUBSCR_DICT_r23 680 +#define _BINARY_OP_SUBSCR_DICT_KNOWN_HASH_r23 681 +#define _BINARY_OP_SUBSCR_INIT_CALL_r01 682 +#define _BINARY_OP_SUBSCR_INIT_CALL_r11 683 +#define _BINARY_OP_SUBSCR_INIT_CALL_r21 684 +#define _BINARY_OP_SUBSCR_INIT_CALL_r31 685 +#define _BINARY_OP_SUBSCR_LIST_INT_r23 686 +#define _BINARY_OP_SUBSCR_LIST_SLICE_r23 687 +#define _BINARY_OP_SUBSCR_STR_INT_r23 688 +#define _BINARY_OP_SUBSCR_TUPLE_INT_r03 689 +#define _BINARY_OP_SUBSCR_TUPLE_INT_r13 690 +#define _BINARY_OP_SUBSCR_TUPLE_INT_r23 691 +#define _BINARY_OP_SUBSCR_USTR_INT_r23 692 +#define _BINARY_OP_SUBTRACT_FLOAT_r03 693 +#define _BINARY_OP_SUBTRACT_FLOAT_r13 694 +#define _BINARY_OP_SUBTRACT_FLOAT_r23 695 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r03 696 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r13 697 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_r23 698 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r03 699 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r13 700 +#define _BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHT_r23 701 +#define _BINARY_OP_SUBTRACT_INT_r03 702 +#define _BINARY_OP_SUBTRACT_INT_r13 703 +#define _BINARY_OP_SUBTRACT_INT_r23 704 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_r03 705 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_r13 706 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_r23 707 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r03 708 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r13 709 +#define _BINARY_OP_SUBTRACT_INT_INPLACE_RIGHT_r23 710 +#define _BINARY_SLICE_r31 711 +#define _BUILD_INTERPOLATION_r01 712 +#define _BUILD_LIST_r01 713 +#define _BUILD_MAP_r01 714 +#define _BUILD_SET_r01 715 +#define _BUILD_SLICE_r01 716 +#define _BUILD_STRING_r01 717 +#define _BUILD_TEMPLATE_r21 718 +#define _BUILD_TUPLE_r01 719 +#define _CALL_BUILTIN_CLASS_r01 720 +#define _CALL_BUILTIN_FAST_r00 721 +#define _CALL_BUILTIN_FAST_WITH_KEYWORDS_r01 722 +#define _CALL_BUILTIN_O_r03 723 +#define _CALL_FUNCTION_EX_NON_PY_GENERAL_r31 724 +#define _CALL_INTRINSIC_1_r12 725 +#define _CALL_INTRINSIC_2_r23 726 +#define _CALL_ISINSTANCE_r31 727 +#define _CALL_KW_NON_PY_r11 728 +#define _CALL_LEN_r33 729 +#define _CALL_LIST_APPEND_r03 730 +#define _CALL_LIST_APPEND_r13 731 +#define _CALL_LIST_APPEND_r23 732 +#define _CALL_LIST_APPEND_r33 733 +#define _CALL_METHOD_DESCRIPTOR_FAST_r01 734 +#define _CALL_METHOD_DESCRIPTOR_FAST_INLINE_r01 735 +#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r01 736 +#define _CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_INLINE_r01 737 +#define _CALL_METHOD_DESCRIPTOR_NOARGS_r03 738 +#define _CALL_METHOD_DESCRIPTOR_NOARGS_INLINE_r03 739 +#define _CALL_METHOD_DESCRIPTOR_O_r03 740 +#define _CALL_METHOD_DESCRIPTOR_O_INLINE_r03 741 +#define _CALL_NON_PY_GENERAL_r01 742 +#define _CALL_STR_1_r32 743 +#define _CALL_TUPLE_1_r32 744 +#define _CALL_TYPE_1_r02 745 +#define _CALL_TYPE_1_r12 746 +#define _CALL_TYPE_1_r22 747 +#define _CALL_TYPE_1_r32 748 +#define _CHECK_AND_ALLOCATE_OBJECT_r00 749 +#define _CHECK_ATTR_CLASS_r01 750 +#define _CHECK_ATTR_CLASS_r11 751 +#define _CHECK_ATTR_CLASS_r22 752 +#define _CHECK_ATTR_CLASS_r33 753 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r01 754 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r11 755 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r22 756 +#define _CHECK_ATTR_METHOD_LAZY_DICT_r33 757 +#define _CHECK_CALL_BOUND_METHOD_EXACT_ARGS_r00 758 +#define _CHECK_EG_MATCH_r22 759 +#define _CHECK_EXC_MATCH_r22 760 +#define _CHECK_FUNCTION_EXACT_ARGS_r00 761 +#define _CHECK_FUNCTION_VERSION_r00 762 +#define _CHECK_FUNCTION_VERSION_INLINE_r00 763 +#define _CHECK_FUNCTION_VERSION_INLINE_r11 764 +#define _CHECK_FUNCTION_VERSION_INLINE_r22 765 +#define _CHECK_FUNCTION_VERSION_INLINE_r33 766 +#define _CHECK_FUNCTION_VERSION_KW_r11 767 +#define _CHECK_IS_NOT_PY_CALLABLE_r00 768 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r03 769 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r13 770 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r23 771 +#define _CHECK_IS_NOT_PY_CALLABLE_EX_r33 772 +#define _CHECK_IS_NOT_PY_CALLABLE_KW_r11 773 +#define _CHECK_IS_PY_CALLABLE_EX_r03 774 +#define _CHECK_IS_PY_CALLABLE_EX_r13 775 +#define _CHECK_IS_PY_CALLABLE_EX_r23 776 +#define _CHECK_IS_PY_CALLABLE_EX_r33 777 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r01 778 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r11 779 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r22 780 +#define _CHECK_MANAGED_OBJECT_HAS_VALUES_r33 781 +#define _CHECK_METHOD_VERSION_r00 782 +#define _CHECK_METHOD_VERSION_KW_r11 783 +#define _CHECK_PEP_523_r00 784 +#define _CHECK_PEP_523_r11 785 +#define _CHECK_PEP_523_r22 786 +#define _CHECK_PEP_523_r33 787 +#define _CHECK_PERIODIC_r00 788 +#define _CHECK_PERIODIC_AT_END_r00 789 +#define _CHECK_PERIODIC_IF_NOT_YIELD_FROM_r00 790 +#define _CHECK_RECURSION_LIMIT_r00 791 +#define _CHECK_RECURSION_LIMIT_r11 792 +#define _CHECK_RECURSION_LIMIT_r22 793 +#define _CHECK_RECURSION_LIMIT_r33 794 +#define _CHECK_RECURSION_REMAINING_r00 795 +#define _CHECK_RECURSION_REMAINING_r11 796 +#define _CHECK_RECURSION_REMAINING_r22 797 +#define _CHECK_RECURSION_REMAINING_r33 798 +#define _CHECK_STACK_SPACE_r00 799 +#define _CHECK_STACK_SPACE_OPERAND_r00 800 +#define _CHECK_STACK_SPACE_OPERAND_r11 801 +#define _CHECK_STACK_SPACE_OPERAND_r22 802 +#define _CHECK_STACK_SPACE_OPERAND_r33 803 +#define _CHECK_VALIDITY_r00 804 +#define _CHECK_VALIDITY_r11 805 +#define _CHECK_VALIDITY_r22 806 +#define _CHECK_VALIDITY_r33 807 +#define _COLD_DYNAMIC_EXIT_r00 808 +#define _COLD_EXIT_r00 809 +#define _COMPARE_OP_r21 810 +#define _COMPARE_OP_FLOAT_r03 811 +#define _COMPARE_OP_FLOAT_r13 812 +#define _COMPARE_OP_FLOAT_r23 813 +#define _COMPARE_OP_INT_r23 814 +#define _COMPARE_OP_STR_r23 815 +#define _CONTAINS_OP_r23 816 +#define _CONTAINS_OP_DICT_r23 817 +#define _CONTAINS_OP_SET_r23 818 +#define _CONVERT_VALUE_r11 819 +#define _COPY_r01 820 +#define _COPY_1_r02 821 +#define _COPY_1_r12 822 +#define _COPY_1_r23 823 +#define _COPY_2_r03 824 +#define _COPY_2_r13 825 +#define _COPY_2_r23 826 +#define _COPY_3_r03 827 +#define _COPY_3_r13 828 +#define _COPY_3_r23 829 +#define _COPY_3_r33 830 +#define _COPY_FREE_VARS_r00 831 +#define _COPY_FREE_VARS_r11 832 +#define _COPY_FREE_VARS_r22 833 +#define _COPY_FREE_VARS_r33 834 +#define _CREATE_INIT_FRAME_r01 835 +#define _DELETE_ATTR_r10 836 +#define _DELETE_DEREF_r00 837 +#define _DELETE_FAST_r00 838 +#define _DELETE_GLOBAL_r00 839 +#define _DELETE_NAME_r00 840 +#define _DELETE_SUBSCR_r20 841 +#define _DEOPT_r00 842 +#define _DEOPT_r10 843 +#define _DEOPT_r20 844 +#define _DEOPT_r30 845 +#define _DICT_MERGE_r11 846 +#define _DICT_UPDATE_r11 847 +#define _DO_CALL_r01 848 +#define _DO_CALL_FUNCTION_EX_r31 849 +#define _DO_CALL_KW_r11 850 +#define _DYNAMIC_EXIT_r00 851 +#define _DYNAMIC_EXIT_r10 852 +#define _DYNAMIC_EXIT_r20 853 +#define _DYNAMIC_EXIT_r30 854 +#define _END_FOR_r10 855 +#define _END_SEND_r31 856 +#define _ERROR_POP_N_r00 857 +#define _EXIT_INIT_CHECK_r10 858 +#define _EXIT_TRACE_r00 859 +#define _EXIT_TRACE_r10 860 +#define _EXIT_TRACE_r20 861 +#define _EXIT_TRACE_r30 862 +#define _EXPAND_METHOD_r00 863 +#define _EXPAND_METHOD_KW_r11 864 +#define _FATAL_ERROR_r00 865 +#define _FATAL_ERROR_r11 866 +#define _FATAL_ERROR_r22 867 +#define _FATAL_ERROR_r33 868 +#define _FORMAT_SIMPLE_r11 869 +#define _FORMAT_WITH_SPEC_r21 870 +#define _FOR_ITER_r23 871 +#define _FOR_ITER_GEN_FRAME_r03 872 +#define _FOR_ITER_GEN_FRAME_r13 873 +#define _FOR_ITER_GEN_FRAME_r23 874 +#define _FOR_ITER_TIER_TWO_r23 875 +#define _GET_AITER_r11 876 +#define _GET_ANEXT_r12 877 +#define _GET_AWAITABLE_r11 878 +#define _GET_ITER_r12 879 +#define _GET_LEN_r12 880 +#define _GUARD_BINARY_OP_EXTEND_r22 881 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r02 882 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r12 883 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r22 884 +#define _GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDS_r33 885 +#define _GUARD_BIT_IS_SET_POP_r00 886 +#define _GUARD_BIT_IS_SET_POP_r10 887 +#define _GUARD_BIT_IS_SET_POP_r21 888 +#define _GUARD_BIT_IS_SET_POP_r32 889 +#define _GUARD_BIT_IS_SET_POP_4_r00 890 +#define _GUARD_BIT_IS_SET_POP_4_r10 891 +#define _GUARD_BIT_IS_SET_POP_4_r21 892 +#define _GUARD_BIT_IS_SET_POP_4_r32 893 +#define _GUARD_BIT_IS_SET_POP_5_r00 894 +#define _GUARD_BIT_IS_SET_POP_5_r10 895 +#define _GUARD_BIT_IS_SET_POP_5_r21 896 +#define _GUARD_BIT_IS_SET_POP_5_r32 897 +#define _GUARD_BIT_IS_SET_POP_6_r00 898 +#define _GUARD_BIT_IS_SET_POP_6_r10 899 +#define _GUARD_BIT_IS_SET_POP_6_r21 900 +#define _GUARD_BIT_IS_SET_POP_6_r32 901 +#define _GUARD_BIT_IS_SET_POP_7_r00 902 +#define _GUARD_BIT_IS_SET_POP_7_r10 903 +#define _GUARD_BIT_IS_SET_POP_7_r21 904 +#define _GUARD_BIT_IS_SET_POP_7_r32 905 +#define _GUARD_BIT_IS_UNSET_POP_r00 906 +#define _GUARD_BIT_IS_UNSET_POP_r10 907 +#define _GUARD_BIT_IS_UNSET_POP_r21 908 +#define _GUARD_BIT_IS_UNSET_POP_r32 909 +#define _GUARD_BIT_IS_UNSET_POP_4_r00 910 +#define _GUARD_BIT_IS_UNSET_POP_4_r10 911 +#define _GUARD_BIT_IS_UNSET_POP_4_r21 912 +#define _GUARD_BIT_IS_UNSET_POP_4_r32 913 +#define _GUARD_BIT_IS_UNSET_POP_5_r00 914 +#define _GUARD_BIT_IS_UNSET_POP_5_r10 915 +#define _GUARD_BIT_IS_UNSET_POP_5_r21 916 +#define _GUARD_BIT_IS_UNSET_POP_5_r32 917 +#define _GUARD_BIT_IS_UNSET_POP_6_r00 918 +#define _GUARD_BIT_IS_UNSET_POP_6_r10 919 +#define _GUARD_BIT_IS_UNSET_POP_6_r21 920 +#define _GUARD_BIT_IS_UNSET_POP_6_r32 921 +#define _GUARD_BIT_IS_UNSET_POP_7_r00 922 +#define _GUARD_BIT_IS_UNSET_POP_7_r10 923 +#define _GUARD_BIT_IS_UNSET_POP_7_r21 924 +#define _GUARD_BIT_IS_UNSET_POP_7_r32 925 +#define _GUARD_CALLABLE_BUILTIN_CLASS_r00 926 +#define _GUARD_CALLABLE_BUILTIN_FAST_r00 927 +#define _GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS_r00 928 +#define _GUARD_CALLABLE_BUILTIN_O_r00 929 +#define _GUARD_CALLABLE_ISINSTANCE_r03 930 +#define _GUARD_CALLABLE_ISINSTANCE_r13 931 +#define _GUARD_CALLABLE_ISINSTANCE_r23 932 +#define _GUARD_CALLABLE_ISINSTANCE_r33 933 +#define _GUARD_CALLABLE_LEN_r03 934 +#define _GUARD_CALLABLE_LEN_r13 935 +#define _GUARD_CALLABLE_LEN_r23 936 +#define _GUARD_CALLABLE_LEN_r33 937 +#define _GUARD_CALLABLE_LIST_APPEND_r03 938 +#define _GUARD_CALLABLE_LIST_APPEND_r13 939 +#define _GUARD_CALLABLE_LIST_APPEND_r23 940 +#define _GUARD_CALLABLE_LIST_APPEND_r33 941 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_r00 942 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_r00 943 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_NOARGS_r00 944 +#define _GUARD_CALLABLE_METHOD_DESCRIPTOR_O_r00 945 +#define _GUARD_CALLABLE_STR_1_r03 946 +#define _GUARD_CALLABLE_STR_1_r13 947 +#define _GUARD_CALLABLE_STR_1_r23 948 +#define _GUARD_CALLABLE_STR_1_r33 949 +#define _GUARD_CALLABLE_TUPLE_1_r03 950 +#define _GUARD_CALLABLE_TUPLE_1_r13 951 +#define _GUARD_CALLABLE_TUPLE_1_r23 952 +#define _GUARD_CALLABLE_TUPLE_1_r33 953 +#define _GUARD_CALLABLE_TYPE_1_r03 954 +#define _GUARD_CALLABLE_TYPE_1_r13 955 +#define _GUARD_CALLABLE_TYPE_1_r23 956 +#define _GUARD_CALLABLE_TYPE_1_r33 957 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r00 958 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r11 959 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r22 960 +#define _GUARD_CODE_VERSION_RETURN_GENERATOR_r33 961 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r00 962 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r11 963 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r22 964 +#define _GUARD_CODE_VERSION_RETURN_VALUE_r33 965 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r00 966 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r11 967 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r22 968 +#define _GUARD_CODE_VERSION_YIELD_VALUE_r33 969 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r00 970 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r11 971 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r22 972 +#define _GUARD_CODE_VERSION__PUSH_FRAME_r33 973 +#define _GUARD_DORV_NO_DICT_r01 974 +#define _GUARD_DORV_NO_DICT_r11 975 +#define _GUARD_DORV_NO_DICT_r22 976 +#define _GUARD_DORV_NO_DICT_r33 977 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r01 978 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r11 979 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r22 980 +#define _GUARD_DORV_VALUES_INST_ATTR_FROM_DICT_r33 981 +#define _GUARD_GLOBALS_VERSION_r00 982 +#define _GUARD_GLOBALS_VERSION_r11 983 +#define _GUARD_GLOBALS_VERSION_r22 984 +#define _GUARD_GLOBALS_VERSION_r33 985 +#define _GUARD_IP_RETURN_GENERATOR_r00 986 +#define _GUARD_IP_RETURN_GENERATOR_r11 987 +#define _GUARD_IP_RETURN_GENERATOR_r22 988 +#define _GUARD_IP_RETURN_GENERATOR_r33 989 +#define _GUARD_IP_RETURN_VALUE_r00 990 +#define _GUARD_IP_RETURN_VALUE_r11 991 +#define _GUARD_IP_RETURN_VALUE_r22 992 +#define _GUARD_IP_RETURN_VALUE_r33 993 +#define _GUARD_IP_YIELD_VALUE_r00 994 +#define _GUARD_IP_YIELD_VALUE_r11 995 +#define _GUARD_IP_YIELD_VALUE_r22 996 +#define _GUARD_IP_YIELD_VALUE_r33 997 +#define _GUARD_IP__PUSH_FRAME_r00 998 +#define _GUARD_IP__PUSH_FRAME_r11 999 +#define _GUARD_IP__PUSH_FRAME_r22 1000 +#define _GUARD_IP__PUSH_FRAME_r33 1001 +#define _GUARD_IS_FALSE_POP_r00 1002 +#define _GUARD_IS_FALSE_POP_r10 1003 +#define _GUARD_IS_FALSE_POP_r21 1004 +#define _GUARD_IS_FALSE_POP_r32 1005 +#define _GUARD_IS_NONE_POP_r00 1006 +#define _GUARD_IS_NONE_POP_r10 1007 +#define _GUARD_IS_NONE_POP_r21 1008 +#define _GUARD_IS_NONE_POP_r32 1009 +#define _GUARD_IS_NOT_NONE_POP_r10 1010 +#define _GUARD_IS_TRUE_POP_r00 1011 +#define _GUARD_IS_TRUE_POP_r10 1012 +#define _GUARD_IS_TRUE_POP_r21 1013 +#define _GUARD_IS_TRUE_POP_r32 1014 +#define _GUARD_KEYS_VERSION_r01 1015 +#define _GUARD_KEYS_VERSION_r11 1016 +#define _GUARD_KEYS_VERSION_r22 1017 +#define _GUARD_KEYS_VERSION_r33 1018 +#define _GUARD_LOAD_SUPER_ATTR_METHOD_r03 1019 +#define _GUARD_LOAD_SUPER_ATTR_METHOD_r13 1020 +#define _GUARD_LOAD_SUPER_ATTR_METHOD_r23 1021 +#define _GUARD_LOAD_SUPER_ATTR_METHOD_r33 1022 +#define _GUARD_NOS_ANY_DICT_r02 1023 +#define _GUARD_NOS_ANY_DICT_r12 1024 +#define _GUARD_NOS_ANY_DICT_r22 1025 +#define _GUARD_NOS_ANY_DICT_r33 1026 +#define _GUARD_NOS_COMPACT_ASCII_r02 1027 +#define _GUARD_NOS_COMPACT_ASCII_r12 1028 +#define _GUARD_NOS_COMPACT_ASCII_r22 1029 +#define _GUARD_NOS_COMPACT_ASCII_r33 1030 +#define _GUARD_NOS_DICT_r02 1031 +#define _GUARD_NOS_DICT_r12 1032 +#define _GUARD_NOS_DICT_r22 1033 +#define _GUARD_NOS_DICT_r33 1034 +#define _GUARD_NOS_FLOAT_r02 1035 +#define _GUARD_NOS_FLOAT_r12 1036 +#define _GUARD_NOS_FLOAT_r22 1037 +#define _GUARD_NOS_FLOAT_r33 1038 +#define _GUARD_NOS_INT_r02 1039 +#define _GUARD_NOS_INT_r12 1040 +#define _GUARD_NOS_INT_r22 1041 +#define _GUARD_NOS_INT_r33 1042 +#define _GUARD_NOS_LIST_r02 1043 +#define _GUARD_NOS_LIST_r12 1044 +#define _GUARD_NOS_LIST_r22 1045 +#define _GUARD_NOS_LIST_r33 1046 +#define _GUARD_NOS_NOT_NULL_r02 1047 +#define _GUARD_NOS_NOT_NULL_r12 1048 +#define _GUARD_NOS_NOT_NULL_r22 1049 +#define _GUARD_NOS_NOT_NULL_r33 1050 +#define _GUARD_NOS_NULL_r02 1051 +#define _GUARD_NOS_NULL_r12 1052 +#define _GUARD_NOS_NULL_r22 1053 +#define _GUARD_NOS_NULL_r33 1054 +#define _GUARD_NOS_OVERFLOWED_r02 1055 +#define _GUARD_NOS_OVERFLOWED_r12 1056 +#define _GUARD_NOS_OVERFLOWED_r22 1057 +#define _GUARD_NOS_OVERFLOWED_r33 1058 +#define _GUARD_NOS_TUPLE_r02 1059 +#define _GUARD_NOS_TUPLE_r12 1060 +#define _GUARD_NOS_TUPLE_r22 1061 +#define _GUARD_NOS_TUPLE_r33 1062 +#define _GUARD_NOS_TYPE_VERSION_r02 1063 +#define _GUARD_NOS_TYPE_VERSION_r12 1064 +#define _GUARD_NOS_TYPE_VERSION_r22 1065 +#define _GUARD_NOS_TYPE_VERSION_r33 1066 +#define _GUARD_NOS_UNICODE_r02 1067 +#define _GUARD_NOS_UNICODE_r12 1068 +#define _GUARD_NOS_UNICODE_r22 1069 +#define _GUARD_NOS_UNICODE_r33 1070 +#define _GUARD_NOT_EXHAUSTED_LIST_r02 1071 +#define _GUARD_NOT_EXHAUSTED_LIST_r12 1072 +#define _GUARD_NOT_EXHAUSTED_LIST_r22 1073 +#define _GUARD_NOT_EXHAUSTED_LIST_r33 1074 +#define _GUARD_NOT_EXHAUSTED_RANGE_r02 1075 +#define _GUARD_NOT_EXHAUSTED_RANGE_r12 1076 +#define _GUARD_NOT_EXHAUSTED_RANGE_r22 1077 +#define _GUARD_NOT_EXHAUSTED_RANGE_r33 1078 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r02 1079 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r12 1080 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r22 1081 +#define _GUARD_NOT_EXHAUSTED_TUPLE_r33 1082 +#define _GUARD_THIRD_NULL_r03 1083 +#define _GUARD_THIRD_NULL_r13 1084 +#define _GUARD_THIRD_NULL_r23 1085 +#define _GUARD_THIRD_NULL_r33 1086 +#define _GUARD_TOS_ANY_DICT_r01 1087 +#define _GUARD_TOS_ANY_DICT_r11 1088 +#define _GUARD_TOS_ANY_DICT_r22 1089 +#define _GUARD_TOS_ANY_DICT_r33 1090 +#define _GUARD_TOS_ANY_SET_r01 1091 +#define _GUARD_TOS_ANY_SET_r11 1092 +#define _GUARD_TOS_ANY_SET_r22 1093 +#define _GUARD_TOS_ANY_SET_r33 1094 +#define _GUARD_TOS_DICT_r01 1095 +#define _GUARD_TOS_DICT_r11 1096 +#define _GUARD_TOS_DICT_r22 1097 +#define _GUARD_TOS_DICT_r33 1098 +#define _GUARD_TOS_FLOAT_r01 1099 +#define _GUARD_TOS_FLOAT_r11 1100 +#define _GUARD_TOS_FLOAT_r22 1101 +#define _GUARD_TOS_FLOAT_r33 1102 +#define _GUARD_TOS_FROZENDICT_r01 1103 +#define _GUARD_TOS_FROZENDICT_r11 1104 +#define _GUARD_TOS_FROZENDICT_r22 1105 +#define _GUARD_TOS_FROZENDICT_r33 1106 +#define _GUARD_TOS_FROZENSET_r01 1107 +#define _GUARD_TOS_FROZENSET_r11 1108 +#define _GUARD_TOS_FROZENSET_r22 1109 +#define _GUARD_TOS_FROZENSET_r33 1110 +#define _GUARD_TOS_INT_r01 1111 +#define _GUARD_TOS_INT_r11 1112 +#define _GUARD_TOS_INT_r22 1113 +#define _GUARD_TOS_INT_r33 1114 +#define _GUARD_TOS_LIST_r01 1115 +#define _GUARD_TOS_LIST_r11 1116 +#define _GUARD_TOS_LIST_r22 1117 +#define _GUARD_TOS_LIST_r33 1118 +#define _GUARD_TOS_OVERFLOWED_r01 1119 +#define _GUARD_TOS_OVERFLOWED_r11 1120 +#define _GUARD_TOS_OVERFLOWED_r22 1121 +#define _GUARD_TOS_OVERFLOWED_r33 1122 +#define _GUARD_TOS_SET_r01 1123 +#define _GUARD_TOS_SET_r11 1124 +#define _GUARD_TOS_SET_r22 1125 +#define _GUARD_TOS_SET_r33 1126 +#define _GUARD_TOS_SLICE_r01 1127 +#define _GUARD_TOS_SLICE_r11 1128 +#define _GUARD_TOS_SLICE_r22 1129 +#define _GUARD_TOS_SLICE_r33 1130 +#define _GUARD_TOS_TUPLE_r01 1131 +#define _GUARD_TOS_TUPLE_r11 1132 +#define _GUARD_TOS_TUPLE_r22 1133 +#define _GUARD_TOS_TUPLE_r33 1134 +#define _GUARD_TOS_UNICODE_r01 1135 +#define _GUARD_TOS_UNICODE_r11 1136 +#define _GUARD_TOS_UNICODE_r22 1137 +#define _GUARD_TOS_UNICODE_r33 1138 +#define _GUARD_TYPE_VERSION_r01 1139 +#define _GUARD_TYPE_VERSION_r11 1140 +#define _GUARD_TYPE_VERSION_r22 1141 +#define _GUARD_TYPE_VERSION_r33 1142 +#define _GUARD_TYPE_VERSION_LOCKED_r01 1143 +#define _GUARD_TYPE_VERSION_LOCKED_r11 1144 +#define _GUARD_TYPE_VERSION_LOCKED_r22 1145 +#define _GUARD_TYPE_VERSION_LOCKED_r33 1146 +#define _HANDLE_PENDING_AND_DEOPT_r00 1147 +#define _HANDLE_PENDING_AND_DEOPT_r10 1148 +#define _HANDLE_PENDING_AND_DEOPT_r20 1149 +#define _HANDLE_PENDING_AND_DEOPT_r30 1150 +#define _IMPORT_FROM_r12 1151 +#define _IMPORT_NAME_r21 1152 +#define _INIT_CALL_BOUND_METHOD_EXACT_ARGS_r00 1153 +#define _INIT_CALL_PY_EXACT_ARGS_r01 1154 +#define _INIT_CALL_PY_EXACT_ARGS_0_r01 1155 +#define _INIT_CALL_PY_EXACT_ARGS_1_r01 1156 +#define _INIT_CALL_PY_EXACT_ARGS_2_r01 1157 +#define _INIT_CALL_PY_EXACT_ARGS_3_r01 1158 +#define _INIT_CALL_PY_EXACT_ARGS_4_r01 1159 +#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r03 1160 +#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r13 1161 +#define _INSERT_2_LOAD_CONST_INLINE_BORROW_r23 1162 +#define _INSERT_NULL_r10 1163 +#define _INSTRUMENTED_FOR_ITER_r23 1164 +#define _INSTRUMENTED_INSTRUCTION_r00 1165 +#define _INSTRUMENTED_JUMP_FORWARD_r00 1166 +#define _INSTRUMENTED_JUMP_FORWARD_r11 1167 +#define _INSTRUMENTED_JUMP_FORWARD_r22 1168 +#define _INSTRUMENTED_JUMP_FORWARD_r33 1169 +#define _INSTRUMENTED_LINE_r00 1170 +#define _INSTRUMENTED_NOT_TAKEN_r00 1171 +#define _INSTRUMENTED_NOT_TAKEN_r11 1172 +#define _INSTRUMENTED_NOT_TAKEN_r22 1173 +#define _INSTRUMENTED_NOT_TAKEN_r33 1174 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r00 1175 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r10 1176 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r21 1177 +#define _INSTRUMENTED_POP_JUMP_IF_FALSE_r32 1178 +#define _INSTRUMENTED_POP_JUMP_IF_NONE_r10 1179 +#define _INSTRUMENTED_POP_JUMP_IF_NOT_NONE_r10 1180 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r00 1181 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r10 1182 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r21 1183 +#define _INSTRUMENTED_POP_JUMP_IF_TRUE_r32 1184 +#define _IS_NONE_r11 1185 +#define _IS_OP_r03 1186 +#define _IS_OP_r13 1187 +#define _IS_OP_r23 1188 +#define _ITER_CHECK_LIST_r02 1189 +#define _ITER_CHECK_LIST_r12 1190 +#define _ITER_CHECK_LIST_r22 1191 +#define _ITER_CHECK_LIST_r33 1192 +#define _ITER_CHECK_RANGE_r02 1193 +#define _ITER_CHECK_RANGE_r12 1194 +#define _ITER_CHECK_RANGE_r22 1195 +#define _ITER_CHECK_RANGE_r33 1196 +#define _ITER_CHECK_TUPLE_r02 1197 +#define _ITER_CHECK_TUPLE_r12 1198 +#define _ITER_CHECK_TUPLE_r22 1199 +#define _ITER_CHECK_TUPLE_r33 1200 +#define _ITER_JUMP_LIST_r02 1201 +#define _ITER_JUMP_LIST_r12 1202 +#define _ITER_JUMP_LIST_r22 1203 +#define _ITER_JUMP_LIST_r33 1204 +#define _ITER_JUMP_RANGE_r02 1205 +#define _ITER_JUMP_RANGE_r12 1206 +#define _ITER_JUMP_RANGE_r22 1207 +#define _ITER_JUMP_RANGE_r33 1208 +#define _ITER_JUMP_TUPLE_r02 1209 +#define _ITER_JUMP_TUPLE_r12 1210 +#define _ITER_JUMP_TUPLE_r22 1211 +#define _ITER_JUMP_TUPLE_r33 1212 +#define _ITER_NEXT_LIST_r23 1213 +#define _ITER_NEXT_LIST_TIER_TWO_r23 1214 +#define _ITER_NEXT_RANGE_r03 1215 +#define _ITER_NEXT_RANGE_r13 1216 +#define _ITER_NEXT_RANGE_r23 1217 +#define _ITER_NEXT_TUPLE_r03 1218 +#define _ITER_NEXT_TUPLE_r13 1219 +#define _ITER_NEXT_TUPLE_r23 1220 +#define _JUMP_BACKWARD_NO_INTERRUPT_r00 1221 +#define _JUMP_BACKWARD_NO_INTERRUPT_r11 1222 +#define _JUMP_BACKWARD_NO_INTERRUPT_r22 1223 +#define _JUMP_BACKWARD_NO_INTERRUPT_r33 1224 +#define _JUMP_TO_TOP_r00 1225 +#define _LIST_APPEND_r10 1226 +#define _LIST_EXTEND_r11 1227 +#define _LOAD_ATTR_r10 1228 +#define _LOAD_ATTR_CLASS_r11 1229 +#define _LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN_r11 1230 +#define _LOAD_ATTR_INSTANCE_VALUE_r02 1231 +#define _LOAD_ATTR_INSTANCE_VALUE_r12 1232 +#define _LOAD_ATTR_INSTANCE_VALUE_r23 1233 +#define _LOAD_ATTR_METHOD_LAZY_DICT_r02 1234 +#define _LOAD_ATTR_METHOD_LAZY_DICT_r12 1235 +#define _LOAD_ATTR_METHOD_LAZY_DICT_r23 1236 +#define _LOAD_ATTR_METHOD_NO_DICT_r02 1237 +#define _LOAD_ATTR_METHOD_NO_DICT_r12 1238 +#define _LOAD_ATTR_METHOD_NO_DICT_r23 1239 +#define _LOAD_ATTR_METHOD_WITH_VALUES_r02 1240 +#define _LOAD_ATTR_METHOD_WITH_VALUES_r12 1241 +#define _LOAD_ATTR_METHOD_WITH_VALUES_r23 1242 +#define _LOAD_ATTR_MODULE_r12 1243 +#define _LOAD_ATTR_NONDESCRIPTOR_NO_DICT_r11 1244 +#define _LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES_r11 1245 +#define _LOAD_ATTR_PROPERTY_FRAME_r11 1246 +#define _LOAD_ATTR_SLOT_r02 1247 +#define _LOAD_ATTR_SLOT_r12 1248 +#define _LOAD_ATTR_SLOT_r23 1249 +#define _LOAD_ATTR_WITH_HINT_r12 1250 +#define _LOAD_BUILD_CLASS_r01 1251 +#define _LOAD_BYTECODE_r00 1252 +#define _LOAD_COMMON_CONSTANT_r01 1253 +#define _LOAD_COMMON_CONSTANT_r12 1254 +#define _LOAD_COMMON_CONSTANT_r23 1255 +#define _LOAD_CONST_r01 1256 +#define _LOAD_CONST_r12 1257 +#define _LOAD_CONST_r23 1258 +#define _LOAD_CONST_INLINE_r01 1259 +#define _LOAD_CONST_INLINE_r12 1260 +#define _LOAD_CONST_INLINE_r23 1261 +#define _LOAD_CONST_INLINE_BORROW_r01 1262 +#define _LOAD_CONST_INLINE_BORROW_r12 1263 +#define _LOAD_CONST_INLINE_BORROW_r23 1264 +#define _LOAD_DEREF_r01 1265 +#define _LOAD_FAST_r01 1266 +#define _LOAD_FAST_r12 1267 +#define _LOAD_FAST_r23 1268 +#define _LOAD_FAST_0_r01 1269 +#define _LOAD_FAST_0_r12 1270 +#define _LOAD_FAST_0_r23 1271 +#define _LOAD_FAST_1_r01 1272 +#define _LOAD_FAST_1_r12 1273 +#define _LOAD_FAST_1_r23 1274 +#define _LOAD_FAST_2_r01 1275 +#define _LOAD_FAST_2_r12 1276 +#define _LOAD_FAST_2_r23 1277 +#define _LOAD_FAST_3_r01 1278 +#define _LOAD_FAST_3_r12 1279 +#define _LOAD_FAST_3_r23 1280 +#define _LOAD_FAST_4_r01 1281 +#define _LOAD_FAST_4_r12 1282 +#define _LOAD_FAST_4_r23 1283 +#define _LOAD_FAST_5_r01 1284 +#define _LOAD_FAST_5_r12 1285 +#define _LOAD_FAST_5_r23 1286 +#define _LOAD_FAST_6_r01 1287 +#define _LOAD_FAST_6_r12 1288 +#define _LOAD_FAST_6_r23 1289 +#define _LOAD_FAST_7_r01 1290 +#define _LOAD_FAST_7_r12 1291 +#define _LOAD_FAST_7_r23 1292 +#define _LOAD_FAST_AND_CLEAR_r01 1293 +#define _LOAD_FAST_AND_CLEAR_r12 1294 +#define _LOAD_FAST_AND_CLEAR_r23 1295 +#define _LOAD_FAST_BORROW_r01 1296 +#define _LOAD_FAST_BORROW_r12 1297 +#define _LOAD_FAST_BORROW_r23 1298 +#define _LOAD_FAST_BORROW_0_r01 1299 +#define _LOAD_FAST_BORROW_0_r12 1300 +#define _LOAD_FAST_BORROW_0_r23 1301 +#define _LOAD_FAST_BORROW_1_r01 1302 +#define _LOAD_FAST_BORROW_1_r12 1303 +#define _LOAD_FAST_BORROW_1_r23 1304 +#define _LOAD_FAST_BORROW_2_r01 1305 +#define _LOAD_FAST_BORROW_2_r12 1306 +#define _LOAD_FAST_BORROW_2_r23 1307 +#define _LOAD_FAST_BORROW_3_r01 1308 +#define _LOAD_FAST_BORROW_3_r12 1309 +#define _LOAD_FAST_BORROW_3_r23 1310 +#define _LOAD_FAST_BORROW_4_r01 1311 +#define _LOAD_FAST_BORROW_4_r12 1312 +#define _LOAD_FAST_BORROW_4_r23 1313 +#define _LOAD_FAST_BORROW_5_r01 1314 +#define _LOAD_FAST_BORROW_5_r12 1315 +#define _LOAD_FAST_BORROW_5_r23 1316 +#define _LOAD_FAST_BORROW_6_r01 1317 +#define _LOAD_FAST_BORROW_6_r12 1318 +#define _LOAD_FAST_BORROW_6_r23 1319 +#define _LOAD_FAST_BORROW_7_r01 1320 +#define _LOAD_FAST_BORROW_7_r12 1321 +#define _LOAD_FAST_BORROW_7_r23 1322 +#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r02 1323 +#define _LOAD_FAST_BORROW_LOAD_FAST_BORROW_r13 1324 +#define _LOAD_FAST_CHECK_r01 1325 +#define _LOAD_FAST_CHECK_r12 1326 +#define _LOAD_FAST_CHECK_r23 1327 +#define _LOAD_FAST_LOAD_FAST_r02 1328 +#define _LOAD_FAST_LOAD_FAST_r13 1329 +#define _LOAD_FROM_DICT_OR_DEREF_r11 1330 +#define _LOAD_FROM_DICT_OR_GLOBALS_r11 1331 +#define _LOAD_GLOBAL_r00 1332 +#define _LOAD_GLOBAL_BUILTINS_r01 1333 +#define _LOAD_GLOBAL_MODULE_r01 1334 +#define _LOAD_LOCALS_r01 1335 +#define _LOAD_LOCALS_r12 1336 +#define _LOAD_LOCALS_r23 1337 +#define _LOAD_NAME_r01 1338 +#define _LOAD_SMALL_INT_r01 1339 +#define _LOAD_SMALL_INT_r12 1340 +#define _LOAD_SMALL_INT_r23 1341 +#define _LOAD_SMALL_INT_0_r01 1342 +#define _LOAD_SMALL_INT_0_r12 1343 +#define _LOAD_SMALL_INT_0_r23 1344 +#define _LOAD_SMALL_INT_1_r01 1345 +#define _LOAD_SMALL_INT_1_r12 1346 +#define _LOAD_SMALL_INT_1_r23 1347 +#define _LOAD_SMALL_INT_2_r01 1348 +#define _LOAD_SMALL_INT_2_r12 1349 +#define _LOAD_SMALL_INT_2_r23 1350 +#define _LOAD_SMALL_INT_3_r01 1351 +#define _LOAD_SMALL_INT_3_r12 1352 +#define _LOAD_SMALL_INT_3_r23 1353 +#define _LOAD_SPECIAL_r00 1354 +#define _LOAD_SUPER_ATTR_ATTR_r31 1355 +#define _LOAD_SUPER_ATTR_METHOD_r32 1356 +#define _LOCK_OBJECT_r01 1357 +#define _LOCK_OBJECT_r11 1358 +#define _LOCK_OBJECT_r22 1359 +#define _LOCK_OBJECT_r33 1360 +#define _MAKE_CALLARGS_A_TUPLE_r33 1361 +#define _MAKE_CELL_r00 1362 +#define _MAKE_FUNCTION_r12 1363 +#define _MAKE_HEAP_SAFE_r01 1364 +#define _MAKE_HEAP_SAFE_r11 1365 +#define _MAKE_HEAP_SAFE_r22 1366 +#define _MAKE_HEAP_SAFE_r33 1367 +#define _MAKE_WARM_r00 1368 +#define _MAKE_WARM_r11 1369 +#define _MAKE_WARM_r22 1370 +#define _MAKE_WARM_r33 1371 +#define _MAP_ADD_r20 1372 +#define _MATCH_CLASS_r33 1373 +#define _MATCH_KEYS_r23 1374 +#define _MATCH_MAPPING_r02 1375 +#define _MATCH_MAPPING_r12 1376 +#define _MATCH_MAPPING_r23 1377 +#define _MATCH_SEQUENCE_r02 1378 +#define _MATCH_SEQUENCE_r12 1379 +#define _MATCH_SEQUENCE_r23 1380 +#define _MAYBE_EXPAND_METHOD_r00 1381 +#define _MAYBE_EXPAND_METHOD_KW_r11 1382 +#define _MONITOR_CALL_r00 1383 +#define _MONITOR_CALL_KW_r11 1384 +#define _MONITOR_JUMP_BACKWARD_r00 1385 +#define _MONITOR_JUMP_BACKWARD_r11 1386 +#define _MONITOR_JUMP_BACKWARD_r22 1387 +#define _MONITOR_JUMP_BACKWARD_r33 1388 +#define _MONITOR_RESUME_r00 1389 +#define _NOP_r00 1390 +#define _NOP_r11 1391 +#define _NOP_r22 1392 +#define _NOP_r33 1393 +#define _POP_CALL_r20 1394 +#define _POP_CALL_ONE_r30 1395 +#define _POP_CALL_TWO_r30 1396 +#define _POP_EXCEPT_r10 1397 +#define _POP_ITER_r20 1398 +#define _POP_JUMP_IF_FALSE_r00 1399 +#define _POP_JUMP_IF_FALSE_r10 1400 +#define _POP_JUMP_IF_FALSE_r21 1401 +#define _POP_JUMP_IF_FALSE_r32 1402 +#define _POP_JUMP_IF_TRUE_r00 1403 +#define _POP_JUMP_IF_TRUE_r10 1404 +#define _POP_JUMP_IF_TRUE_r21 1405 +#define _POP_JUMP_IF_TRUE_r32 1406 +#define _POP_TOP_r10 1407 +#define _POP_TOP_FLOAT_r00 1408 +#define _POP_TOP_FLOAT_r10 1409 +#define _POP_TOP_FLOAT_r21 1410 +#define _POP_TOP_FLOAT_r32 1411 +#define _POP_TOP_INT_r00 1412 +#define _POP_TOP_INT_r10 1413 +#define _POP_TOP_INT_r21 1414 +#define _POP_TOP_INT_r32 1415 +#define _POP_TOP_LOAD_CONST_INLINE_r11 1416 +#define _POP_TOP_LOAD_CONST_INLINE_BORROW_r11 1417 +#define _POP_TOP_NOP_r00 1418 +#define _POP_TOP_NOP_r10 1419 +#define _POP_TOP_NOP_r21 1420 +#define _POP_TOP_NOP_r32 1421 +#define _POP_TOP_OPARG_r00 1422 +#define _POP_TOP_UNICODE_r00 1423 +#define _POP_TOP_UNICODE_r10 1424 +#define _POP_TOP_UNICODE_r21 1425 +#define _POP_TOP_UNICODE_r32 1426 +#define _POP_TWO_r20 1427 +#define _POP_TWO_LOAD_CONST_INLINE_BORROW_r21 1428 +#define _PUSH_EXC_INFO_r02 1429 +#define _PUSH_EXC_INFO_r12 1430 +#define _PUSH_EXC_INFO_r23 1431 +#define _PUSH_FRAME_r10 1432 +#define _PUSH_NULL_r01 1433 +#define _PUSH_NULL_r12 1434 +#define _PUSH_NULL_r23 1435 +#define _PUSH_NULL_CONDITIONAL_r00 1436 +#define _PY_FRAME_EX_r31 1437 +#define _PY_FRAME_GENERAL_r01 1438 +#define _PY_FRAME_KW_r11 1439 +#define _REPLACE_WITH_TRUE_r02 1440 +#define _REPLACE_WITH_TRUE_r12 1441 +#define _REPLACE_WITH_TRUE_r23 1442 +#define _RESUME_CHECK_r00 1443 +#define _RESUME_CHECK_r11 1444 +#define _RESUME_CHECK_r22 1445 +#define _RESUME_CHECK_r33 1446 +#define _RETURN_GENERATOR_r01 1447 +#define _RETURN_VALUE_r11 1448 +#define _SAVE_RETURN_OFFSET_r00 1449 +#define _SAVE_RETURN_OFFSET_r11 1450 +#define _SAVE_RETURN_OFFSET_r22 1451 +#define _SAVE_RETURN_OFFSET_r33 1452 +#define _SEND_r33 1453 +#define _SEND_GEN_FRAME_r33 1454 +#define _SETUP_ANNOTATIONS_r00 1455 +#define _SET_ADD_r10 1456 +#define _SET_FUNCTION_ATTRIBUTE_r01 1457 +#define _SET_FUNCTION_ATTRIBUTE_r11 1458 +#define _SET_FUNCTION_ATTRIBUTE_r21 1459 +#define _SET_FUNCTION_ATTRIBUTE_r32 1460 +#define _SET_IP_r00 1461 +#define _SET_IP_r11 1462 +#define _SET_IP_r22 1463 +#define _SET_IP_r33 1464 +#define _SET_UPDATE_r11 1465 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r03 1466 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r13 1467 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r23 1468 +#define _SHUFFLE_3_LOAD_CONST_INLINE_BORROW_r33 1469 +#define _SPILL_OR_RELOAD_r01 1470 +#define _SPILL_OR_RELOAD_r02 1471 +#define _SPILL_OR_RELOAD_r03 1472 +#define _SPILL_OR_RELOAD_r10 1473 +#define _SPILL_OR_RELOAD_r12 1474 +#define _SPILL_OR_RELOAD_r13 1475 +#define _SPILL_OR_RELOAD_r20 1476 +#define _SPILL_OR_RELOAD_r21 1477 +#define _SPILL_OR_RELOAD_r23 1478 +#define _SPILL_OR_RELOAD_r30 1479 +#define _SPILL_OR_RELOAD_r31 1480 +#define _SPILL_OR_RELOAD_r32 1481 +#define _START_EXECUTOR_r00 1482 +#define _STORE_ATTR_r20 1483 +#define _STORE_ATTR_INSTANCE_VALUE_r21 1484 +#define _STORE_ATTR_SLOT_r21 1485 +#define _STORE_ATTR_WITH_HINT_r21 1486 +#define _STORE_DEREF_r10 1487 +#define _STORE_FAST_LOAD_FAST_r11 1488 +#define _STORE_FAST_STORE_FAST_r20 1489 +#define _STORE_GLOBAL_r10 1490 +#define _STORE_NAME_r10 1491 +#define _STORE_SLICE_r30 1492 +#define _STORE_SUBSCR_r30 1493 +#define _STORE_SUBSCR_DICT_r31 1494 +#define _STORE_SUBSCR_DICT_KNOWN_HASH_r31 1495 +#define _STORE_SUBSCR_LIST_INT_r32 1496 +#define _SWAP_r11 1497 +#define _SWAP_2_r02 1498 +#define _SWAP_2_r12 1499 +#define _SWAP_2_r22 1500 +#define _SWAP_2_r33 1501 +#define _SWAP_3_r03 1502 +#define _SWAP_3_r13 1503 +#define _SWAP_3_r23 1504 +#define _SWAP_3_r33 1505 +#define _SWAP_FAST_r01 1506 +#define _SWAP_FAST_r11 1507 +#define _SWAP_FAST_r22 1508 +#define _SWAP_FAST_r33 1509 +#define _SWAP_FAST_0_r01 1510 +#define _SWAP_FAST_0_r11 1511 +#define _SWAP_FAST_0_r22 1512 +#define _SWAP_FAST_0_r33 1513 +#define _SWAP_FAST_1_r01 1514 +#define _SWAP_FAST_1_r11 1515 +#define _SWAP_FAST_1_r22 1516 +#define _SWAP_FAST_1_r33 1517 +#define _SWAP_FAST_2_r01 1518 +#define _SWAP_FAST_2_r11 1519 +#define _SWAP_FAST_2_r22 1520 +#define _SWAP_FAST_2_r33 1521 +#define _SWAP_FAST_3_r01 1522 +#define _SWAP_FAST_3_r11 1523 +#define _SWAP_FAST_3_r22 1524 +#define _SWAP_FAST_3_r33 1525 +#define _SWAP_FAST_4_r01 1526 +#define _SWAP_FAST_4_r11 1527 +#define _SWAP_FAST_4_r22 1528 +#define _SWAP_FAST_4_r33 1529 +#define _SWAP_FAST_5_r01 1530 +#define _SWAP_FAST_5_r11 1531 +#define _SWAP_FAST_5_r22 1532 +#define _SWAP_FAST_5_r33 1533 +#define _SWAP_FAST_6_r01 1534 +#define _SWAP_FAST_6_r11 1535 +#define _SWAP_FAST_6_r22 1536 +#define _SWAP_FAST_6_r33 1537 +#define _SWAP_FAST_7_r01 1538 +#define _SWAP_FAST_7_r11 1539 +#define _SWAP_FAST_7_r22 1540 +#define _SWAP_FAST_7_r33 1541 +#define _TIER2_RESUME_CHECK_r00 1542 +#define _TIER2_RESUME_CHECK_r11 1543 +#define _TIER2_RESUME_CHECK_r22 1544 +#define _TIER2_RESUME_CHECK_r33 1545 +#define _TO_BOOL_r11 1546 +#define _TO_BOOL_BOOL_r01 1547 +#define _TO_BOOL_BOOL_r11 1548 +#define _TO_BOOL_BOOL_r22 1549 +#define _TO_BOOL_BOOL_r33 1550 +#define _TO_BOOL_INT_r02 1551 +#define _TO_BOOL_INT_r12 1552 +#define _TO_BOOL_INT_r23 1553 +#define _TO_BOOL_LIST_r02 1554 +#define _TO_BOOL_LIST_r12 1555 +#define _TO_BOOL_LIST_r23 1556 +#define _TO_BOOL_NONE_r01 1557 +#define _TO_BOOL_NONE_r11 1558 +#define _TO_BOOL_NONE_r22 1559 +#define _TO_BOOL_NONE_r33 1560 +#define _TO_BOOL_STR_r02 1561 +#define _TO_BOOL_STR_r12 1562 +#define _TO_BOOL_STR_r23 1563 +#define _TRACE_RECORD_r00 1564 +#define _UNARY_INVERT_r12 1565 +#define _UNARY_NEGATIVE_r12 1566 +#define _UNARY_NEGATIVE_FLOAT_INPLACE_r02 1567 +#define _UNARY_NEGATIVE_FLOAT_INPLACE_r12 1568 +#define _UNARY_NEGATIVE_FLOAT_INPLACE_r23 1569 +#define _UNARY_NOT_r01 1570 +#define _UNARY_NOT_r11 1571 +#define _UNARY_NOT_r22 1572 +#define _UNARY_NOT_r33 1573 +#define _UNPACK_EX_r10 1574 +#define _UNPACK_SEQUENCE_r10 1575 +#define _UNPACK_SEQUENCE_LIST_r10 1576 +#define _UNPACK_SEQUENCE_TUPLE_r10 1577 +#define _UNPACK_SEQUENCE_TWO_TUPLE_r12 1578 +#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r03 1579 +#define _UNPACK_SEQUENCE_UNIQUE_THREE_TUPLE_r13 1580 +#define _UNPACK_SEQUENCE_UNIQUE_TUPLE_r10 1581 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r02 1582 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r12 1583 +#define _UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE_r23 1584 +#define _WITH_EXCEPT_START_r33 1585 +#define _YIELD_VALUE_r11 1586 +#define MAX_UOP_REGS_ID 1586 #ifdef __cplusplus } diff --git a/Include/internal/pycore_uop_metadata.h b/Include/internal/pycore_uop_metadata.h index e29ce36e91ebab..b6d78470784471 100644 --- a/Include/internal/pycore_uop_metadata.h +++ b/Include/internal/pycore_uop_metadata.h @@ -307,9 +307,10 @@ const uint32_t _PyUop_Flags[MAX_UOP_ID+1] = { [_CHECK_AND_ALLOCATE_OBJECT] = HAS_ARG_FLAG | HAS_EXIT_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG, [_CREATE_INIT_FRAME] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG | HAS_SYNC_SP_FLAG, [_EXIT_INIT_CHECK] = HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG, - [_CALL_BUILTIN_CLASS] = HAS_ARG_FLAG | HAS_EXIT_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG, + [_GUARD_CALLABLE_BUILTIN_CLASS] = HAS_ARG_FLAG | HAS_EXIT_FLAG, + [_CALL_BUILTIN_CLASS] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ESCAPES_FLAG, [_GUARD_CALLABLE_BUILTIN_O] = HAS_ARG_FLAG | HAS_EXIT_FLAG, - [_CALL_BUILTIN_O] = HAS_ARG_FLAG | HAS_EXIT_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG, + [_CALL_BUILTIN_O] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG, [_GUARD_CALLABLE_BUILTIN_FAST] = HAS_ARG_FLAG | HAS_EXIT_FLAG, [_CALL_BUILTIN_FAST] = HAS_ARG_FLAG | HAS_ERROR_FLAG | HAS_ERROR_NO_POP_FLAG | HAS_ESCAPES_FLAG, [_GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS] = HAS_ARG_FLAG | HAS_EXIT_FLAG, @@ -2881,6 +2882,15 @@ const _PyUopCachingInfo _PyUop_Caching[MAX_UOP_ID+1] = { { -1, -1, -1 }, }, }, + [_GUARD_CALLABLE_BUILTIN_CLASS] = { + .best = { 0, 0, 0, 0 }, + .entries = { + { 0, 0, _GUARD_CALLABLE_BUILTIN_CLASS_r00 }, + { -1, -1, -1 }, + { -1, -1, -1 }, + { -1, -1, -1 }, + }, + }, [_CALL_BUILTIN_CLASS] = { .best = { 0, 0, 0, 0 }, .entries = { @@ -4418,6 +4428,7 @@ const uint16_t _PyUop_Uncached[MAX_UOP_REGS_ID+1] = { [_CHECK_AND_ALLOCATE_OBJECT_r00] = _CHECK_AND_ALLOCATE_OBJECT, [_CREATE_INIT_FRAME_r01] = _CREATE_INIT_FRAME, [_EXIT_INIT_CHECK_r10] = _EXIT_INIT_CHECK, + [_GUARD_CALLABLE_BUILTIN_CLASS_r00] = _GUARD_CALLABLE_BUILTIN_CLASS, [_CALL_BUILTIN_CLASS_r01] = _CALL_BUILTIN_CLASS, [_GUARD_CALLABLE_BUILTIN_O_r00] = _GUARD_CALLABLE_BUILTIN_O, [_CALL_BUILTIN_O_r03] = _CALL_BUILTIN_O, @@ -5118,6 +5129,8 @@ const char *const _PyOpcode_uop_name[MAX_UOP_REGS_ID+1] = { [_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_BUILTIN_CLASS] = "_GUARD_CALLABLE_BUILTIN_CLASS", + [_GUARD_CALLABLE_BUILTIN_CLASS_r00] = "_GUARD_CALLABLE_BUILTIN_CLASS_r00", [_GUARD_CALLABLE_BUILTIN_FAST] = "_GUARD_CALLABLE_BUILTIN_FAST", [_GUARD_CALLABLE_BUILTIN_FAST_r00] = "_GUARD_CALLABLE_BUILTIN_FAST_r00", [_GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS] = "_GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDS", @@ -6502,6 +6515,8 @@ int _PyUop_num_popped(int opcode, int oparg) return 2 + oparg; case _EXIT_INIT_CHECK: return 1; + case _GUARD_CALLABLE_BUILTIN_CLASS: + return 0; case _CALL_BUILTIN_CLASS: return 2 + oparg; case _GUARD_CALLABLE_BUILTIN_O: diff --git a/Lib/test/test_capi/test_opt.py b/Lib/test/test_capi/test_opt.py index 097a3ac4baf294..2a1abe178e5d84 100644 --- a/Lib/test/test_capi/test_opt.py +++ b/Lib/test/test_capi/test_opt.py @@ -2707,6 +2707,21 @@ class C: self.assertNotIn("_COMPARE_OP_INT", uops) self.assertNotIn(self.guard_is_true, uops) + def test_call_builtin_class(self): + def testfunc(n): + x = 0 + for _ in range(n): + y = int("42") + x += y + return x + + res, ex = self._run_with_optimizer(testfunc, TIER2_THRESHOLD) + self.assertEqual(res, TIER2_THRESHOLD * 42) + self.assertIsNotNone(ex) + uops = get_opnames(ex) + self.assertIn("_CALL_BUILTIN_CLASS", uops) + self.assertNotIn("_GUARD_CALLABLE_BUILTIN_CLASS", uops) + def test_call_builtin_o(self): def testfunc(n): x = 0 diff --git a/Modules/_testinternalcapi/test_cases.c.h b/Modules/_testinternalcapi/test_cases.c.h index c2e69d35070d78..4d9eb4998649d7 100644 --- a/Modules/_testinternalcapi/test_cases.c.h +++ b/Modules/_testinternalcapi/test_cases.c.h @@ -2279,10 +2279,8 @@ _PyStackRef res; /* Skip 1 cache entry */ /* Skip 2 cache entries */ - // _CALL_BUILTIN_CLASS + // _GUARD_CALLABLE_BUILTIN_CLASS { - args = &stack_pointer[-oparg]; - self_or_null = stack_pointer[-1 - oparg]; callable = stack_pointer[-2 - oparg]; PyObject *callable_o = PyStackRef_AsPyObjectBorrow(callable); if (!PyType_Check(callable_o)) { @@ -2291,17 +2289,22 @@ JUMP_TO_PREDICTED(CALL); } PyTypeObject *tp = (PyTypeObject *)callable_o; + if (tp->tp_vectorcall == NULL) { + UPDATE_MISS_STATS(CALL); + assert(_PyOpcode_Deopt[opcode] == (CALL)); + JUMP_TO_PREDICTED(CALL); + } + } + // _CALL_BUILTIN_CLASS + { + args = &stack_pointer[-oparg]; + self_or_null = stack_pointer[-1 - oparg]; int total_args = oparg; _PyStackRef *arguments = args; if (!PyStackRef_IsNull(self_or_null)) { arguments--; total_args++; } - if (tp->tp_vectorcall == NULL) { - UPDATE_MISS_STATS(CALL); - assert(_PyOpcode_Deopt[opcode] == (CALL)); - JUMP_TO_PREDICTED(CALL); - } STAT_INC(CALL, hit); _PyFrame_SetStackPointer(frame, stack_pointer); PyObject *res_o = _Py_CallBuiltinClass_StackRefSteal( @@ -2532,6 +2535,14 @@ JUMP_TO_PREDICTED(CALL); } } + // _CHECK_RECURSION_LIMIT + { + if (_Py_ReachedRecursionLimit(tstate)) { + UPDATE_MISS_STATS(CALL); + assert(_PyOpcode_Deopt[opcode] == (CALL)); + JUMP_TO_PREDICTED(CALL); + } + } // _CALL_BUILTIN_O { args = &stack_pointer[-oparg]; @@ -2539,11 +2550,6 @@ if (!PyStackRef_IsNull(self_or_null)) { args--; } - if (_Py_ReachedRecursionLimit(tstate)) { - UPDATE_MISS_STATS(CALL); - assert(_PyOpcode_Deopt[opcode] == (CALL)); - JUMP_TO_PREDICTED(CALL); - } STAT_INC(CALL, hit); PyCFunction cfunc = PyCFunction_GET_FUNCTION(callable_o); _PyStackRef arg = args[0]; diff --git a/Python/bytecodes.c b/Python/bytecodes.c index a7d2d652e687dc..5124c19e501c37 100644 --- a/Python/bytecodes.c +++ b/Python/bytecodes.c @@ -4570,17 +4570,20 @@ dummy_func( DEAD(should_be_none); } - op(_CALL_BUILTIN_CLASS, (callable, self_or_null, args[oparg] -- res)) { + op(_GUARD_CALLABLE_BUILTIN_CLASS, (callable, unused, unused[oparg] -- callable, unused, unused[oparg])) { PyObject *callable_o = PyStackRef_AsPyObjectBorrow(callable); EXIT_IF(!PyType_Check(callable_o)); PyTypeObject *tp = (PyTypeObject *)callable_o; + EXIT_IF(tp->tp_vectorcall == NULL); + } + + op(_CALL_BUILTIN_CLASS, (callable, self_or_null, args[oparg] -- res)) { int total_args = oparg; _PyStackRef *arguments = args; if (!PyStackRef_IsNull(self_or_null)) { arguments--; total_args++; } - EXIT_IF(tp->tp_vectorcall == NULL); STAT_INC(CALL, hit); PyObject *res_o = _Py_CallBuiltinClass_StackRefSteal( callable, @@ -4597,6 +4600,7 @@ dummy_func( _RECORD_CALLABLE + unused/1 + unused/2 + + _GUARD_CALLABLE_BUILTIN_CLASS + _CALL_BUILTIN_CLASS + _CHECK_PERIODIC_AT_END; @@ -4618,8 +4622,6 @@ dummy_func( if (!PyStackRef_IsNull(self_or_null)) { args--; } - // CPython promises to check all non-vectorcall function calls. - EXIT_IF(_Py_ReachedRecursionLimit(tstate)); STAT_INC(CALL, hit); PyCFunction cfunc = PyCFunction_GET_FUNCTION(callable_o); _PyStackRef arg = args[0]; @@ -4640,6 +4642,7 @@ dummy_func( unused/1 + unused/2 + _GUARD_CALLABLE_BUILTIN_O + + _CHECK_RECURSION_LIMIT + _CALL_BUILTIN_O + POP_TOP + POP_TOP + diff --git a/Python/executor_cases.c.h b/Python/executor_cases.c.h index ed050570909932..20f255689a7512 100644 --- a/Python/executor_cases.c.h +++ b/Python/executor_cases.c.h @@ -16455,16 +16455,11 @@ break; } - case _CALL_BUILTIN_CLASS_r01: { + case _GUARD_CALLABLE_BUILTIN_CLASS_r00: { CHECK_CURRENT_CACHED_VALUES(0); assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); - _PyStackRef *args; - _PyStackRef self_or_null; _PyStackRef callable; - _PyStackRef res; oparg = CURRENT_OPARG(); - args = &stack_pointer[-oparg]; - self_or_null = stack_pointer[-1 - oparg]; callable = stack_pointer[-2 - oparg]; PyObject *callable_o = PyStackRef_AsPyObjectBorrow(callable); if (!PyType_Check(callable_o)) { @@ -16473,17 +16468,33 @@ JUMP_TO_JUMP_TARGET(); } PyTypeObject *tp = (PyTypeObject *)callable_o; + if (tp->tp_vectorcall == NULL) { + 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 _CALL_BUILTIN_CLASS_r01: { + CHECK_CURRENT_CACHED_VALUES(0); + assert(WITHIN_STACK_BOUNDS_IGNORING_CACHE()); + _PyStackRef *args; + _PyStackRef self_or_null; + _PyStackRef callable; + _PyStackRef res; + oparg = CURRENT_OPARG(); + args = &stack_pointer[-oparg]; + self_or_null = stack_pointer[-1 - oparg]; + callable = stack_pointer[-2 - oparg]; int total_args = oparg; _PyStackRef *arguments = args; if (!PyStackRef_IsNull(self_or_null)) { arguments--; total_args++; } - if (tp->tp_vectorcall == NULL) { - UOP_STAT_INC(uopcode, miss); - SET_CURRENT_CACHED_VALUES(0); - JUMP_TO_JUMP_TARGET(); - } STAT_INC(CALL, hit); _PyFrame_SetStackPointer(frame, stack_pointer); PyObject *res_o = _Py_CallBuiltinClass_StackRefSteal( @@ -16558,11 +16569,6 @@ if (!PyStackRef_IsNull(self_or_null)) { args--; } - if (_Py_ReachedRecursionLimit(tstate)) { - UOP_STAT_INC(uopcode, miss); - SET_CURRENT_CACHED_VALUES(0); - JUMP_TO_JUMP_TARGET(); - } STAT_INC(CALL, hit); PyCFunction cfunc = PyCFunction_GET_FUNCTION(callable_o); _PyStackRef arg = args[0]; diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h index 2a2751e8a84e79..db7ee9e00914b2 100644 --- a/Python/generated_cases.c.h +++ b/Python/generated_cases.c.h @@ -2279,10 +2279,8 @@ _PyStackRef res; /* Skip 1 cache entry */ /* Skip 2 cache entries */ - // _CALL_BUILTIN_CLASS + // _GUARD_CALLABLE_BUILTIN_CLASS { - args = &stack_pointer[-oparg]; - self_or_null = stack_pointer[-1 - oparg]; callable = stack_pointer[-2 - oparg]; PyObject *callable_o = PyStackRef_AsPyObjectBorrow(callable); if (!PyType_Check(callable_o)) { @@ -2291,17 +2289,22 @@ JUMP_TO_PREDICTED(CALL); } PyTypeObject *tp = (PyTypeObject *)callable_o; + if (tp->tp_vectorcall == NULL) { + UPDATE_MISS_STATS(CALL); + assert(_PyOpcode_Deopt[opcode] == (CALL)); + JUMP_TO_PREDICTED(CALL); + } + } + // _CALL_BUILTIN_CLASS + { + args = &stack_pointer[-oparg]; + self_or_null = stack_pointer[-1 - oparg]; int total_args = oparg; _PyStackRef *arguments = args; if (!PyStackRef_IsNull(self_or_null)) { arguments--; total_args++; } - if (tp->tp_vectorcall == NULL) { - UPDATE_MISS_STATS(CALL); - assert(_PyOpcode_Deopt[opcode] == (CALL)); - JUMP_TO_PREDICTED(CALL); - } STAT_INC(CALL, hit); _PyFrame_SetStackPointer(frame, stack_pointer); PyObject *res_o = _Py_CallBuiltinClass_StackRefSteal( @@ -2532,6 +2535,14 @@ JUMP_TO_PREDICTED(CALL); } } + // _CHECK_RECURSION_LIMIT + { + if (_Py_ReachedRecursionLimit(tstate)) { + UPDATE_MISS_STATS(CALL); + assert(_PyOpcode_Deopt[opcode] == (CALL)); + JUMP_TO_PREDICTED(CALL); + } + } // _CALL_BUILTIN_O { args = &stack_pointer[-oparg]; @@ -2539,11 +2550,6 @@ if (!PyStackRef_IsNull(self_or_null)) { args--; } - if (_Py_ReachedRecursionLimit(tstate)) { - UPDATE_MISS_STATS(CALL); - assert(_PyOpcode_Deopt[opcode] == (CALL)); - JUMP_TO_PREDICTED(CALL); - } STAT_INC(CALL, hit); PyCFunction cfunc = PyCFunction_GET_FUNCTION(callable_o); _PyStackRef arg = args[0]; diff --git a/Python/optimizer_bytecodes.c b/Python/optimizer_bytecodes.c index 50005d4e968786..0708fed6c5c803 100644 --- a/Python/optimizer_bytecodes.c +++ b/Python/optimizer_bytecodes.c @@ -1284,6 +1284,19 @@ dummy_func(void) { none = sym_new_const(ctx, Py_None); } + op(_GUARD_CALLABLE_BUILTIN_CLASS, (callable, unused, unused[oparg] -- callable, unused, unused[oparg])) { + PyObject *callable_o = sym_get_const(ctx, callable); + if (callable_o && sym_matches_type(callable, &PyType_Type)) { + PyTypeObject *tp = (PyTypeObject *)callable_o; + if (tp->tp_vectorcall != NULL) { + ADD_OP(_NOP, 0, 0); + } + } + else { + sym_set_type(callable, &PyType_Type); + } + } + op(_GUARD_CALLABLE_BUILTIN_O, (callable, self_or_null, args[oparg] -- callable, self_or_null, args[oparg])) { PyObject *callable_o = sym_get_const(ctx, callable); if (callable_o && sym_matches_type(callable, &PyCFunction_Type) && diff --git a/Python/optimizer_cases.c.h b/Python/optimizer_cases.c.h index 34b535538a5c56..93b60f64e14ae1 100644 --- a/Python/optimizer_cases.c.h +++ b/Python/optimizer_cases.c.h @@ -3920,6 +3920,22 @@ break; } + case _GUARD_CALLABLE_BUILTIN_CLASS: { + JitOptRef callable; + callable = stack_pointer[-2 - oparg]; + PyObject *callable_o = sym_get_const(ctx, callable); + if (callable_o && sym_matches_type(callable, &PyType_Type)) { + PyTypeObject *tp = (PyTypeObject *)callable_o; + if (tp->tp_vectorcall != NULL) { + ADD_OP(_NOP, 0, 0); + } + } + else { + sym_set_type(callable, &PyType_Type); + } + break; + } + case _CALL_BUILTIN_CLASS: { JitOptRef res; res = sym_new_not_null(ctx); From 15d10a82439e2a83cb004dd16786b168e82cba2e Mon Sep 17 00:00:00 2001 From: Lysandros Nikolaou Date: Fri, 10 Apr 2026 20:41:12 +0200 Subject: [PATCH 10/12] gh-142518: annotate dict C-APIs for thread safety (#145875) --- Doc/c-api/dict.rst | 94 +++++++++++++++++++++++++++++++++++++++ Doc/data/threadsafety.dat | 65 ++++++++++++++++++++++++++- 2 files changed, 157 insertions(+), 2 deletions(-) diff --git a/Doc/c-api/dict.rst b/Doc/c-api/dict.rst index 7a925870a62a57..a2a0d0d80657eb 100644 --- a/Doc/c-api/dict.rst +++ b/Doc/c-api/dict.rst @@ -76,6 +76,11 @@ Dictionary objects The first argument can be a :class:`dict` or a :class:`frozendict`. + .. note:: + + The operation is atomic on :term:`free threading ` + when *key* is :class:`str`, :class:`int`, :class:`float`, :class:`bool` or :class:`bytes`. + .. versionchanged:: 3.15 Also accept :class:`frozendict`. @@ -105,6 +110,11 @@ Dictionary objects ``0`` on success or ``-1`` on failure. This function *does not* steal a reference to *val*. + .. note:: + + The operation is atomic on :term:`free threading ` + when *key* is :class:`str`, :class:`int`, :class:`float`, :class:`bool` or :class:`bytes`. + .. c:function:: int PyDict_SetItemString(PyObject *p, const char *key, PyObject *val) @@ -120,6 +130,11 @@ Dictionary objects If *key* is not in the dictionary, :exc:`KeyError` is raised. Return ``0`` on success or ``-1`` on failure. + .. note:: + + The operation is atomic on :term:`free threading ` + when *key* is :class:`str`, :class:`int`, :class:`float`, :class:`bool` or :class:`bytes`. + .. c:function:: int PyDict_DelItemString(PyObject *p, const char *key) @@ -140,6 +155,11 @@ Dictionary objects The first argument can be a :class:`dict` or a :class:`frozendict`. + .. note:: + + The operation is atomic on :term:`free threading ` + when *key* is :class:`str`, :class:`int`, :class:`float`, :class:`bool` or :class:`bytes`. + .. versionadded:: 3.13 .. versionchanged:: 3.15 @@ -162,6 +182,13 @@ Dictionary objects :meth:`~object.__eq__` methods are silently ignored. Prefer the :c:func:`PyDict_GetItemWithError` function instead. + .. note:: + + In the :term:`free-threaded build`, the returned + :term:`borrowed reference` may become invalid if another thread modifies + the dictionary concurrently. Prefer :c:func:`PyDict_GetItemRef`, which + returns a :term:`strong reference`. + .. versionchanged:: 3.10 Calling this API without an :term:`attached thread state` had been allowed for historical reason. It is no longer allowed. @@ -177,6 +204,13 @@ Dictionary objects occurred. Return ``NULL`` **without** an exception set if the key wasn't present. + .. note:: + + In the :term:`free-threaded build`, the returned + :term:`borrowed reference` may become invalid if another thread modifies + the dictionary concurrently. Prefer :c:func:`PyDict_GetItemRef`, which + returns a :term:`strong reference`. + .. versionchanged:: 3.15 Also accept :class:`frozendict`. @@ -195,6 +229,13 @@ Dictionary objects Prefer using the :c:func:`PyDict_GetItemWithError` function with your own :c:func:`PyUnicode_FromString` *key* instead. + .. note:: + + In the :term:`free-threaded build`, the returned + :term:`borrowed reference` may become invalid if another thread modifies + the dictionary concurrently. Prefer :c:func:`PyDict_GetItemStringRef`, + which returns a :term:`strong reference`. + .. versionchanged:: 3.15 Also accept :class:`frozendict`. @@ -221,6 +262,14 @@ Dictionary objects .. versionadded:: 3.4 + .. note:: + + In the :term:`free-threaded build`, the returned + :term:`borrowed reference` may become invalid if another thread modifies + the dictionary concurrently. Prefer :c:func:`PyDict_SetDefaultRef`, + which returns a :term:`strong reference`. + + .. c:function:: int PyDict_SetDefaultRef(PyObject *p, PyObject *key, PyObject *default_value, PyObject **result) @@ -240,6 +289,11 @@ Dictionary objects These may refer to the same object: in that case you hold two separate references to it. + .. note:: + + The operation is atomic on :term:`free threading ` + when *key* is :class:`str`, :class:`int`, :class:`float`, :class:`bool` or :class:`bytes`. + .. versionadded:: 3.13 @@ -257,6 +311,11 @@ Dictionary objects Similar to :meth:`dict.pop`, but without the default value and not raising :exc:`KeyError` if the key is missing. + .. note:: + + The operation is atomic on :term:`free threading ` + when *key* is :class:`str`, :class:`int`, :class:`float`, :class:`bool` or :class:`bytes`. + .. versionadded:: 3.13 @@ -403,6 +462,13 @@ Dictionary objects only be added if there is not a matching key in *a*. Return ``0`` on success or ``-1`` if an exception was raised. + .. note:: + + In the :term:`free-threaded build`, when *b* is a + :class:`dict` (with the standard iterator), both *a* and *b* are locked + for the duration of the operation. When *b* is a non-dict mapping, only + *a* is locked; *b* may be concurrently modified by another thread. + .. c:function:: int PyDict_Update(PyObject *a, PyObject *b) @@ -412,6 +478,13 @@ Dictionary objects argument has no "keys" attribute. Return ``0`` on success or ``-1`` if an exception was raised. + .. note:: + + In the :term:`free-threaded build`, when *b* is a + :class:`dict` (with the standard iterator), both *a* and *b* are locked + for the duration of the operation. When *b* is a non-dict mapping, only + *a* is locked; *b* may be concurrently modified by another thread. + .. c:function:: int PyDict_MergeFromSeq2(PyObject *a, PyObject *seq2, int override) @@ -427,6 +500,13 @@ Dictionary objects if override or key not in a: a[key] = value + .. note:: + + In the :term:`free-threaded ` build, only *a* is locked. + The iteration over *seq2* is not synchronized; *seq2* may be concurrently + modified by another thread. + + .. c:function:: int PyDict_AddWatcher(PyDict_WatchCallback callback) Register *callback* as a dictionary watcher. Return a non-negative integer @@ -434,6 +514,13 @@ Dictionary objects of error (e.g. no more watcher IDs available), return ``-1`` and set an exception. + .. note:: + + This function is not internally synchronized. In the + :term:`free-threaded ` build, callers should ensure no + concurrent calls to :c:func:`PyDict_AddWatcher` or + :c:func:`PyDict_ClearWatcher` are in progress. + .. versionadded:: 3.12 .. c:function:: int PyDict_ClearWatcher(int watcher_id) @@ -442,6 +529,13 @@ Dictionary objects :c:func:`PyDict_AddWatcher`. Return ``0`` on success, ``-1`` on error (e.g. if the given *watcher_id* was never registered.) + .. note:: + + This function is not internally synchronized. In the + :term:`free-threaded ` build, callers should ensure no + concurrent calls to :c:func:`PyDict_AddWatcher` or + :c:func:`PyDict_ClearWatcher` are in progress. + .. versionadded:: 3.12 .. c:function:: int PyDict_Watch(int watcher_id, PyObject *dict) diff --git a/Doc/data/threadsafety.dat b/Doc/data/threadsafety.dat index 7c381ecb70c836..d5432348e10638 100644 --- a/Doc/data/threadsafety.dat +++ b/Doc/data/threadsafety.dat @@ -14,10 +14,71 @@ # The function name must match the C domain identifier used in the documentation. # Synchronization primitives (Doc/c-api/synchronization.rst) -PyMutex_Lock:shared: -PyMutex_Unlock:shared: +PyMutex_Lock:atomic: +PyMutex_Unlock:atomic: PyMutex_IsLocked:atomic: + +# Dictionary objects (Doc/c-api/dict.rst) + +# Type checks - read ob_type pointer, always safe +PyDict_Check:atomic: +PyDict_CheckExact:atomic: + +# Creation - pure allocation, no shared state +PyDict_New:atomic: + +# Lock-free lookups - use _Py_dict_lookup_threadsafe(), no locking. +# Atomic with simple types. +PyDict_Contains:shared: +PyDict_ContainsString:atomic: +PyDict_GetItemRef:shared: +PyDict_GetItemStringRef:atomic: +PyDict_Size:atomic: +PyDict_GET_SIZE:atomic: + +# Borrowed-reference lookups - lock-free dict access but returned +# borrowed reference is unsafe in free-threaded builds without +# external synchronization +PyDict_GetItem:compatible: +PyDict_GetItemWithError:compatible: +PyDict_GetItemString:compatible: +PyDict_SetDefault:compatible: + +# Iteration - no locking; returns borrowed refs +PyDict_Next:compatible: + +# Single-item mutations - protected by per-object critical section +PyDict_SetItem:shared: +PyDict_SetItemString:atomic: +PyDict_DelItem:shared: +PyDict_DelItemString:atomic: +PyDict_SetDefaultRef:shared: +PyDict_Pop:shared: +PyDict_PopString:atomic: + +# Bulk reads - hold per-object lock for duration +PyDict_Clear:atomic: +PyDict_Copy:atomic: +PyDict_Keys:atomic: +PyDict_Values:atomic: +PyDict_Items:atomic: + +# Merge/update - lock target dict; also lock source when it is a dict +PyDict_Update:shared: +PyDict_Merge:shared: +PyDict_MergeFromSeq2:shared: + +# Watcher registration - no synchronization on interpreter state +PyDict_AddWatcher:compatible: +PyDict_ClearWatcher:compatible: + +# Per-dict watcher tags - non-atomic RMW on _ma_watcher_tag; +# safe on distinct dicts only +PyDict_Watch:distinct: +PyDict_Unwatch:distinct: + + # List objects (Doc/c-api/list.rst) # Type checks - read ob_type pointer, always safe From c4d95124b1aa8d2ce8661c3fb8da5da731b14656 Mon Sep 17 00:00:00 2001 From: Ken Jin Date: Sat, 11 Apr 2026 02:59:18 +0800 Subject: [PATCH 11/12] gh-139038: Credit more people for JIT in 3.15 (GH-148359) --- Doc/whatsnew/3.15.rst | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Doc/whatsnew/3.15.rst b/Doc/whatsnew/3.15.rst index 927d6035c8c4bc..c754b634ecccfa 100644 --- a/Doc/whatsnew/3.15.rst +++ b/Doc/whatsnew/3.15.rst @@ -1428,7 +1428,6 @@ end users running Python do not need LLVM installed. Instructions for installing LLVM can be found in the `JIT compiler documentation `__ for all supported platforms. - (Contributed by Savannah Ostrowski in :gh:`140973`.) .. rubric:: A new tracing frontend @@ -1440,7 +1439,6 @@ code. For example, simple Python object creation is now understood by the supported. This was made possible by an overhauled JIT tracing frontend that records actual execution paths through code, rather than estimating them as the previous implementation did. - (Contributed by Ken Jin in :gh:`139109`. Support for Windows added by Mark Shannon in :gh:`141703`.) @@ -1450,7 +1448,6 @@ A basic form of register allocation has been added to the JIT compiler's optimizer. This allows the JIT compiler to avoid certain stack operations altogether and instead operate on registers. This allows the JIT to produce more efficient traces by avoiding reads and writes to memory. - (Contributed by Mark Shannon in :gh:`135379`.) .. rubric:: More JIT optimizations @@ -1458,27 +1455,33 @@ more efficient traces by avoiding reads and writes to memory. More `constant-propagation `__ is now performed. This means when the JIT compiler detects that certain user code results in constants, the code can be simplified by the JIT. - (Contributed by Ken Jin and Savannah Ostrowski in :gh:`132732`.) -The JIT avoids :term:`reference count`\ s where possible. This generally +:term:`Reference count`\ s are avoided whenever it is safe to do so. This generally reduces the cost of most operations in Python. - (Contributed by Ken Jin, Donghee Na, Zheao Li, Hai Zhu, Savannah Ostrowski, Reiden Ong, Noam Cohen, Tomas Roun, PuQing, Cajetan Rodrigues, and Sacul in :gh:`134584`.) +The JIT optimizer now supports significantly more operations than in 3.14. +(Contributed by Kumar Aditya, Ken Jin, and Sacul in :gh:`131798`.) + .. rubric:: Better machine code generation The JIT compiler's machine code generator now produces better machine code for x86-64 and AArch64 macOS and Linux targets. In general, users should experience lower memory usage for generated machine code and more efficient -machine code versus the old JIT. - +machine code versus 3.14. (Contributed by Brandt Bucher in :gh:`136528` and :gh:`136528`. Implementation for AArch64 contributed by Mark Shannon in :gh:`139855`. Additional optimizations for AArch64 contributed by Mark Shannon and Diego Russo in :gh:`140683` and :gh:`142305`.) +.. rubric:: Maintainability + +The JIT optimizer's operations have been simplified. +This was made possible by a refactoring of JIT data structures. +(Contributed by Zhongtian Zheng in :gh:`148211` and Hai Zhu in :gh:`143421`.) + Removed ======== From dd88e77fad887aaf00ead1a3ba655fc00fd1dc25 Mon Sep 17 00:00:00 2001 From: Kumar Aditya Date: Sat, 11 Apr 2026 01:03:24 +0530 Subject: [PATCH 12/12] gh-142518: add thread safety docs for set C-APIs (#146562) Co-authored-by: Victor Stinner --- Doc/c-api/set.rst | 31 +++++++++++++++++++++++++++++++ Doc/data/threadsafety.dat | 23 +++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/Doc/c-api/set.rst b/Doc/c-api/set.rst index 6974f74fbd597a..53febd0c4c116c 100644 --- a/Doc/c-api/set.rst +++ b/Doc/c-api/set.rst @@ -89,6 +89,11 @@ the constructor functions work with any iterable Python object. actually iterable. The constructor is also useful for copying a set (``c=set(s)``). + .. note:: + + The operation is atomic on :term:`free threading ` + when *iterable* is a :class:`set`, :class:`frozenset`, :class:`dict` or :class:`frozendict`. + .. c:function:: PyObject* PyFrozenSet_New(PyObject *iterable) @@ -97,6 +102,11 @@ the constructor functions work with any iterable Python object. set on success or ``NULL`` on failure. Raise :exc:`TypeError` if *iterable* is not actually iterable. + .. note:: + + The operation is atomic on :term:`free threading ` + when *iterable* is a :class:`set`, :class:`frozenset`, :class:`dict` or :class:`frozendict`. + The following functions and macros are available for instances of :class:`set` or :class:`frozenset` or instances of their subtypes. @@ -124,6 +134,10 @@ or :class:`frozenset` or instances of their subtypes. the *key* is unhashable. Raise :exc:`SystemError` if *anyset* is not a :class:`set`, :class:`frozenset`, or an instance of a subtype. + .. note:: + + The operation is atomic on :term:`free threading ` + when *key* is :class:`str`, :class:`int`, :class:`float`, :class:`bool` or :class:`bytes`. .. c:function:: int PySet_Add(PyObject *set, PyObject *key) @@ -135,6 +149,12 @@ or :class:`frozenset` or instances of their subtypes. :exc:`SystemError` if *set* is not an instance of :class:`set` or its subtype. + .. note:: + + The operation is atomic on :term:`free threading ` + when *key* is :class:`str`, :class:`int`, :class:`float`, :class:`bool` or :class:`bytes`. + + The following functions are available for instances of :class:`set` or its subtypes but not for instances of :class:`frozenset` or its subtypes. @@ -149,6 +169,11 @@ subtypes but not for instances of :class:`frozenset` or its subtypes. temporary frozensets. Raise :exc:`SystemError` if *set* is not an instance of :class:`set` or its subtype. + .. note:: + + The operation is atomic on :term:`free threading ` + when *key* is :class:`str`, :class:`int`, :class:`float`, :class:`bool` or :class:`bytes`. + .. c:function:: PyObject* PySet_Pop(PyObject *set) @@ -164,6 +189,12 @@ subtypes but not for instances of :class:`frozenset` or its subtypes. success. Return ``-1`` and raise :exc:`SystemError` if *set* is not an instance of :class:`set` or its subtype. + .. note:: + + In the :term:`free-threaded build`, the set is emptied before its entries + are cleared, so other threads will observe an empty set rather than + intermediate states. + Deprecated API ^^^^^^^^^^^^^^ diff --git a/Doc/data/threadsafety.dat b/Doc/data/threadsafety.dat index d5432348e10638..ea5a24a5505e20 100644 --- a/Doc/data/threadsafety.dat +++ b/Doc/data/threadsafety.dat @@ -186,6 +186,29 @@ PyByteArray_GET_SIZE:atomic: PyByteArray_AsString:compatible: PyByteArray_AS_STRING:compatible: +# Creation - may iterate the iterable argument, calling arbitrary code. +# Atomic for sets, frozensets, dicts, and frozendicts. +PySet_New:shared: +PyFrozenSet_New:shared: + +# Size - uses atomic load on free-threaded builds +PySet_Size:atomic: +PySet_GET_SIZE:atomic: + +# Contains - lock-free, atomic with simple types +PySet_Contains:shared: + +# Mutations - hold per-object lock for duration +# atomic with simple types +PySet_Add:shared: +PySet_Discard:shared: + +# Pop - hold per-object lock for duration +PySet_Pop:atomic: + +# Clear - empties the set before clearing +PySet_Clear:atomic: + # Capsule objects (Doc/c-api/capsule.rst) # Type check - read ob_type pointer, always safe