403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.42
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python315/Lib/test/test_capi/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/test_capi/__pycache__/test_opt.cpython-315.opt-1.pyc
R
>lqj�ec	���]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PH s]QH$G
s
GsGsG
s
GsGs\O Q2s]QHDGsGsGs]*s\]]Q5s\.Q!l2sQQ2s\2s\O8Q2sQsQ	sQ
s Qs!Qs"Q
s#Qs$\\OJ\
Q2\QQ\OL2222s'Qs(\\OJ\
Q2\\OJ\ORQ2Q6HQ2QQ\OL22222s*\\OJ\
Q2\\OJ\ORQ2Q6HQ2QQ\OL22222s+Qs,Qs-QQ2s.\.2s/\.O`Oc\/2s2QQ2s3\4Q 6Xc\Oj2P!P!)"�)�
script_helper�requires_specialization�
import_helper�Py_GIL_DISABLED�requires_jit_enabled�
reset_code�_testinternalcapi)�_PY_NSMALLPOSINTS�TIER2_THRESHOLD�TIER2_RESUME_THRESHOLD��x�yc��\sQs]sQsP!)�_GenericKey���__name__�
__module__�__qualname__�__firstlineno__�__static_attributes__r��,C:\Python315\\Lib\test\test_capi\test_opt.pyrrs��rrc#�h �[U2Pw�[U2P![S2h9h3h�N)r)�funcs&r�clear_executorsr#s'����t���
��4���
�4��s�
2�"�
2�
/�2c���UOoUOo[][U2]2FDo[O
V2t!	P![cJ/h9h�r)�__code__�co_code�range�len�_opcode�get_executor�
ValueError)r�coder!�is&   r�get_first_executorr)-sZ���=�=�D��l�l�G�
�1�c�'�l�A�
&��	��'�'��0�0�'�
���	��	�s�A�	A!�A!� A!c���UOoUOo,o[][U2]2FD)oUO	[
OV22J+	U![cJ=h9hr)r r!r"r#�appendr$r%r&)rr'r!�	executorsr(s&    r�get_all_executorsr-7sj���=�=�D��l�l�G��I�
�1�c�'�l�A�
&��	����W�1�1�$�:�;�'�
����	��	�s�%A"�"	A1�,A1�0A1c#�< �SFDoU]*w�	J	P!3hrr��ex�items& r�iter_opnamesr2Cs������1�g�
��s�c�,�[[U22!r)�listr2�r0s&r�get_opnamesr6Hs����R� �!�!rc#�. �SFDoUw�	J
	P!3hrrr/s& r�iter_opsr8Ks������
��s�c�,�[[U22!r)r4r8r5s&r�get_opsr:Os�������rc�h�[[U2Tt,tFD
p"U6XfJUMJ	to2!ttohr)r#r2)r0�name�opnames&& r�	count_opsr>Rs,���\�"�%5�H�%5�6�4����%5�H�I�I��Hs�
/�/z3optimizer not yet supported in free-threaded buildsc�`�\sQs]VsnQs\O\OQ2Q6HQ2Q2s	Qs
QsQsUs
P!)	�TestExecutorInvalidationc��-oQOQ[]222o[[OU2V2[]2Tt,tFDp1QU0*MJ	oo[]2Tt,tFD
o[2MJ	ooSFD
oU2J	STt,tFDo[
U2MJ	oo[U2FDlvq�UOU
O22UPU	]*FDo[OV�2J	UOU
O22Jn	QFDuo	[OVi*2V�PFD"o
UOU
O22J$	UPU	FD"o
UOU
O22J$	Jw	P!ttohttohttoh)�
c3�H�SF �DoQUQ[Q0w�	J	P!3h)z
            def fz#():
                for _ in range(z():
                    pass
            �r
)�.0�ns& r�	<genexpr>�BTestExecutorInvalidation.test_invalidate_object.<locals>.<genexpr>^s6��
"���
"�A�	��� � /�0�1
�
�"�s�"�f)����r)�joinr"�exec�textwrap�dedent�objectr)�	enumerate�
assertTrue�is_validr�add_executor_dependency�invalidate_executors�assertFalse)�self�ns�func_srcrF�funcs�_�objectsrIr,r(�exe�objs&           r�test_invalidate_object�/TestExecutorInvalidation.test_invalidate_object[sh��
���9�9�
�
�q��
�
��	
�X�_�_�X�
&��/�',�Q�x�0�x�!�q���W�+�+�x��0�%*�1�X�.�X��6�8�X��.��A�
�C��49�:�E�q�'��*�E�	�:� �	�*�F�A��O�O�C�L�L�N�+��t��!��}��!�9�9�#�C�%��O�O�C�L�L�N�+�	+��A��2�2�7�:�>� ��}��� � �����0�%� ��!�}���������/�%�	��!1��.��;s�F1�4F6�F;�PYTHON_UOPS_OPTIMIZE�0�Needs uop optimizer to run.c�n�-o[[OQ[Q02V2UQ*oU2[	U2oUOU2UO
UO22[OUO2UOUO22P!)z5
            def f():
                for i in range(z$):
                    pass
        rI)rOrPrQr
r)�assertIsNotNonerTrUrrWr rX)rYrZrIr_s&   r�test_uop_optimizer_invalidation�8TestExecutorInvalidation.test_uop_optimizer_invalidation}s������X�_�_�" � /�0�1	��
��		�

�s�G��	�� ��#�����S�!��������'��.�.�q�z�z�:��������(rc�2�QoU2[U2oUOU2UOUO22[O
2UO
UO22[U2oUOU2P!)c�6�[[2FDoJ	P!r�r"r
�r]s rrI�CTestExecutorInvalidation.test_sys__clear_internal_caches.<locals>.f�s���?�+���,r)r)rgrTrU�sys�_clear_internal_cachesrX�assertIsNone)rYrIr_s&  r�test_sys__clear_internal_caches�8TestExecutorInvalidation.test_sys__clear_internal_caches�sp��	�	
�� ��#�����S�!��������'��"�"�$��������(� ��#�����#�rc�\`�U1QknR][]2R][]*Q2P!)c�:�[V2FDKoV"*oU[6�fJ[ORO2[O2JM	P!r)r"r
rrWr �clear_executor_deletion_list)�start�end�wayr
rrIs&&&  �rrI�JTestExecutorInvalidation.test_prev_executor_freed_while_tracing.<locals>.f�sA����5�&���I����'�%�:�:�1�:�:�F�%�B�B�D�'r��?rD�rYrIs&@r�&test_prev_executor_freed_while_tracing�?TestExecutorInvalidation.test_prev_executor_freed_while_tracing�s(���	E�	
�!�_�a� �	�!�_�q�
 �#�&rr)rrrrra�unittest�skipIf�os�getenvrhrrr}r�__classdictcell__��
__classdict__s@rr@r@VsJ����
 0�D�_�_�R�Y�Y�5�6�#�=�?\�]�)�^�)� �'�'rr@c��[P	2[P
2*o[]]2FDRoU]U**%fJ[P	2]U**%cQU0QU01t!QU0QU01t!	Q!)T�_GUARD_BIT_IS_UNSET_POP_�_GUARD_BIT_IS_SET_POP_)�_GUARD_IS_FALSE_POP�_GUARD_IS_TRUE_POP)�idr")�delta�bits  r�get_bool_guard_opsr��s����t�H�r�%�y� �E��Q��{���A��H����$�x�1��8�$�$�1�#��7�;Q�RU�QV�9W�W�W�/��u�5�9Q�RU�QV�7W�W�W��7�6rrcrdrec�`�\sQs]�snQsQsQsQsQsQs	Qs
QsQ	sQ
s
QsQsQ
sQsQsQsQsQsQsQsQsQsQsQsUsP!)�TestUopsc�6�[2vUmUmP!r�r��guard_is_false�
guard_is_true�rYs&r�setUp�TestUops.setUp����2D�2F�/���T�/rc��QoU[2[U2oUOU2[U2oUO	QU2UO	QU2P!)c�.�]oV6cU]*
oJP!rr)r
r(s& r�testfunc�*TestUops.test_basic_loop.<locals>.testfunc�����A��%��Q���r�_JUMP_TO_TOP�_LOAD_FAST_BORROW_0�r
r)rgr6�assertIn�rYr�r0�uopss&   r�test_basic_loop�TestUops.test_basic_loop�sO��	�
	��!�
��
)�����R� ��2����
�
�n�d�+��
�
�+�T�2rc��-o[[OQ[Q02V2UQ*o[	U2oUOU2U2[	U2oUO
U2SO[9PIc1Q[U22D%fJP	2P!	P
2P!Q[U2222P!)z2Check EXTENDED_ARG handling in superblock creationaU
            def many_vars():
                # 260 vars, so z9 should have index 259
                a0 = a1 = a2 = a3 = a4 = a5 = a6 = a7 = a8 = a9 = 42
                b0 = b1 = b2 = b3 = b4 = b5 = b6 = b7 = b8 = b9 = 42
                c0 = c1 = c2 = c3 = c4 = c5 = c6 = c7 = c8 = c9 = 42
                d0 = d1 = d2 = d3 = d4 = d5 = d6 = d7 = d8 = d9 = 42
                e0 = e1 = e2 = e3 = e4 = e5 = e6 = e7 = e8 = e9 = 42
                f0 = f1 = f2 = f3 = f4 = f5 = f6 = f7 = f8 = f9 = 42
                g0 = g1 = g2 = g3 = g4 = g5 = g6 = g7 = g8 = g9 = 42
                h0 = h1 = h2 = h3 = h4 = h5 = h6 = h7 = h8 = h9 = 42
                i0 = i1 = i2 = i3 = i4 = i5 = i6 = i7 = i8 = i9 = 42
                j0 = j1 = j2 = j3 = j4 = j5 = j6 = j7 = j8 = j9 = 42
                k0 = k1 = k2 = k3 = k4 = k5 = k6 = k7 = k8 = k9 = 42
                l0 = l1 = l2 = l3 = l4 = l5 = l6 = l7 = l8 = l9 = 42
                m0 = m1 = m2 = m3 = m4 = m5 = m6 = m7 = m8 = m9 = 42
                n0 = n1 = n2 = n3 = n4 = n5 = n6 = n7 = n8 = n9 = 42
                o0 = o1 = o2 = o3 = o4 = o5 = o6 = o7 = o8 = o9 = 42
                p0 = p1 = p2 = p3 = p4 = p5 = p6 = p7 = p8 = p9 = 42
                q0 = q1 = q2 = q3 = q4 = q5 = q6 = q7 = q8 = q9 = 42
                r0 = r1 = r2 = r3 = r4 = r5 = r6 = r7 = r8 = r9 = 42
                s0 = s1 = s2 = s3 = s4 = s5 = s6 = s7 = s8 = s9 = 42
                t0 = t1 = t2 = t3 = t4 = t5 = t6 = t7 = t8 = t9 = 42
                u0 = u1 = u2 = u3 = u4 = u5 = u6 = u7 = u8 = u9 = 42
                v0 = v1 = v2 = v3 = v4 = v5 = v6 = v7 = v8 = v9 = 42
                w0 = w1 = w2 = w3 = w4 = w5 = w6 = w7 = w8 = w9 = 42
                x0 = x1 = x2 = x3 = x4 = x5 = x6 = x7 = x8 = x9 = 42
                y0 = y1 = y2 = y3 = y4 = y5 = y6 = y7 = y8 = y9 = 42
                z0 = z1 = z2 = z3 = z4 = z5 = z6 = z7 = z8 = z9 = z_
                while z9 > 0:
                    z9 = z9 - 1
                    +z9
        �	many_varsc3�B�SF �Dvqq4VU1Q6Hw�	J	P!3h)�_LOAD_FAST_BORROW)r��rr)rE�opcode�opargr]�operands&    rrG�-TestUops.test_extended_arg.<locals>.<genexpr>�s&��=E���=E� 9��q�$�G�4�8U�U�=E���)
rOrPrQr
r)rqrgrT�anyr4)rYrZr�r0s&   r�test_extended_arg�TestUops.test_extended_arg�s���
���X�_�_�"C�8DS�BS�T	�9 � 
�@�A 	�B�{�O�	�
�	�
*�����"����
�	�
*�����R� ������G�=A�"�X�G���	H��	H��G�=A�"�X�G�G�	Hrc��QoU[2[U2oUOU2[U2oUO	QU2P!)c�d�]oV6cU]*
o]]]]-vq#J]oV6cU]*
oJP!rr)r
r(�a�bs&   rr��4TestUops.test_unspecialized_unpack.<locals>.testfunc�s>���A��%��Q����1�a��|���1��A��%��Q���r�_UNPACK_SEQUENCEr�r�s&   r�test_unspecialized_unpack�"TestUops.test_unspecialized_unpack�sA��	�	��!�
��
)�����R� ��2����
�
�(�$�/rc��QoU[2[U2oUOU2[U2oUO	UO
U2P!)c�.�]oV6cU]*
oJP!rr�rFr(s& rr��1TestUops.test_pop_jump_if_false.<locals>.testfuncr�r)r
r)rgr6r�r�r�s&   r�test_pop_jump_if_false�TestUops.test_pop_jump_if_false
sF��	�
	��!�
��
)�����R� ��2����
�
�d�(�(�$�/rc���QoU[[22[U2oUOU2[	U2oUOQU2UOQU2P!)c�,�SFDoUdJ	]oJ
	P!rr�r�r
s& rr��0TestUops.test_pop_jump_if_none.<locals>.testfuncs�����9��A�r�_GUARD_IS_NONE_POP�_GUARD_IS_NOT_NONE_POP�r"r
r)rgr6�assertNotInr�s&   r�test_pop_jump_if_none�TestUops.test_pop_jump_if_nonesY��	�
	���'�(�
��
)�����R� ��2������-�t�4����1�4�8rc���QoU[[22[U2oUOU2[	U2oUOQU2UOQU2P!)c�0�SFD
oPoUeJ]oJ	P!rrr�s& rr��4TestUops.test_pop_jump_if_not_none.<locals>.testfunc)s�������=��A�rr�r�r�r�s&   r�test_pop_jump_if_not_none�"TestUops.test_pop_jump_if_not_none(sY��	�	���'�(�
��
)�����R� ��2������-�t�4����1�4�8rc��QoU[2[U2oUOU2[U2oUO	UO
U2P!)c�.�]oV6�fU]*
oJP!rrr�s& rr��0TestUops.test_pop_jump_if_true.<locals>.testfunc8s���A��f��Q���r�r
r)rgr6r�r�r�s&   r�test_pop_jump_if_true�TestUops.test_pop_jump_if_true7sF��	�
	��!�
��
)�����R� ��2����
�
�d�)�)�4�0rc��QoU[2[U2oUOU2[U2oUO	QU2P!)c�.�]oV6cU]*
oJP!rrr�s& rr��-TestUops.test_jump_backward.<locals>.testfuncEr�rr�r�r�s&   r�test_jump_backward�TestUops.test_jump_backwardDs@��	�
	��!�
��
)�����R� ��2����
�
�n�d�+rc��`�U1Qkn[[]c*]d*2FDoR]e2J
	[R2oUOU2[	U2oUOU]*Q2P!)c�6:�U]6:c]!RU]*
2!�rMr)r
r�s&�rr��&TestUops.test_resume.<locals>.testfuncRs����A�v���A�a�C�=� r�_TIER2_RESUME_CHECK)r"rr)rgr6�assertEqual)rYr]r0r�r�s&   @r�test_resume�TestUops.test_resumeQse���	!�
�.��3�c�9�:�A��S�M�;� ��
)�����R� ��2���	
����a��"7�8rc��QoU[2[U2oUOU2[U2oUO	QU2P!)c�J�]oV6cU]6cU'oLU3oU]*
oJU!rr)rFr�s& rr��,TestUops.test_jump_forward.<locals>.testfunccs/���A��%��q�5���A���A��Q����Hr�_BINARY_OP_ADD_INTr�r�s&   r�test_jump_forward�TestUops.test_jump_forwardbsC��	�	��!�
��
)�����R� ��2���	
�
�
�*�D�1rc�`�[[]
22nU1QkoU[2oUOU[	[[222[U2oUO
U2[U2oUOQU2UOQU2UOQU2UOQU2UOQU2P!)�
c�\:�]oU%c U]*oV*
oRFDoJ#	J'U!rr)rF�totalr(�ls&  �rr��-TestUops.test_get_iter_list.<locals>.testfuncx�-����E���Q����
���A����Lr�_PUSH_TAGGED_ZERO�	_GET_ITER�_GET_ITER_TRAD�_GET_ITER_VIRTUAL�_GET_ITER_SELF)
r4r"r
r��sumr)rgr6r�r�)rYr�r�r0r�r�s&    @r�test_get_iter_list�TestUops.test_get_iter_listvs������r��O��	���)�������E�/�$:� ;�<�
��
)�����R� ��2����
�
�)�4�0�����d�+����)�4�0����,�d�3����)�4�0rc�`�QnU1QkoU[2oUOU[[[222[	U2oUOU2[
U2oUOQU2UOQU2UOQU2UOQU2UOQU2P!)c3� �]w�	J3h�Trrrr�gen�'TestUops.test_get_iter_gen.<locals>.gen�s
������s�
c�f:�]oU%c%U]*oV*
oR2FDoJ(	J,U!rr)rFr�r(r�s&  �rr��,TestUops.test_get_iter_gen.<locals>.testfunc�s/����E���Q����
����A����Lr�
_PUSH_NULLr�r�r�r��	r
r�r�r"r)rgr6r�r�)rYr�r�r0r�r�s&    @r�test_get_iter_gen�TestUops.test_get_iter_gen�s����	�	���)�������E�/�$:� ;�<�
��
)�����R� ��2����
�
�l�D�)�����d�+����)�4�0����,�d�3����)�4�0rc�`�[]
2Tt-tFDpUaJ	tonU1QkoU[2oUOU[[[222[	U2oUOU2[
U2oUOQU2UOQU2UOQU2UOQU2P!ttoh)r�c�\:�]oU%c U]*oV*
oRFDoJ#	J'U!rr)rFr�r(�ds&  �rr��-TestUops.test_get_iter_trad.<locals>.testfunc�r�rr�r�r�r�)	r"r
r�r�r)rgr6r�r�)rY�vr�r�r0r�rs&     @r�test_get_iter_trad�TestUops.test_get_iter_trad�s������)�$�)�Q�q�S�)�$��	���)�������E�/�$:� ;�<�
��
)�����R� ��2����
�
�&��-�����d�+����,�d�3����)�4�0��%
%s�
C
c���QoU[2oUOU[[[222[	U2oUOU2[
U2oUOQU2P!)c�B�]o[U2FDoV*
oJ
	U!r�r")rFr�r(s&  rr��.TestUops.test_for_iter_range.<locals>.testfunc�s!���E��1�X���
����Lr�_GUARD_NOT_EXHAUSTED_RANGE)r
r�r�r"r)rgr6r�)rYr�r�r0r�s&    r�test_for_iter_range�TestUops.test_for_iter_range�s_��	���)�������E�/�$:� ;�<�
��
)�����R� ��2����
�
�2�D�9rc��Qo[[[22oUU2oUOU[	U22[U2oUO
U2[U2oUOQU2P!)c�0�]oSFDoV*
oJ
	U!rr�r�r�r(s&  rr��-TestUops.test_for_iter_list.<locals>.testfunc�����E����
����Lr�_GUARD_NOT_EXHAUSTED_LIST)	r4r"r
r�r�r)rgr6r��rYr�r�r�r0r�s&     r�test_for_iter_list�TestUops.test_for_iter_list�sg��	�
���'�(�����������A��'�
��
)�����R� ��2����
�
�1�4�8rc��Qo[[[22oUU2oUOU[	U22[U2oUO
U2[U2oUOQU2P!)c�0�]oSFDoV*
oJ
	U!rrrs&  rr��.TestUops.test_for_iter_tuple.<locals>.testfunc�rr�_GUARD_NOT_EXHAUSTED_TUPLE)	�tupler"r
r�r�r)rgr6r�rs&     r�test_for_iter_tuple�TestUops.test_for_iter_tuple�sg��	�
�%��(�)�����������A��'�
��
)�����R� ��2����
�
�2�D�9rc���Qo,QNo[U2oUU2UO]2UO[29^tt^2[	U2PPP2P!)%fhP!9h)c��SFDoJ	P!rr)�itr
s& rr��.TestUops.test_list_edge_case.<locals>.testfunc�s�����r�rMrLrK)�iterr+�assertRaises�
StopIteration�next)rYr�r�r#s&   r�test_list_edge_case�TestUops.test_list_edge_case�sP��	�
��
�!�W�����	�����
�
�
�}�
-�
-���H�.�
-�
-�
-�s�
A � A1	�)A1	c��QoU[2[U2oUOU2[U2oUO	QU2UO	QU2P!)c�D�Qo[U2FDoUU2J
	P!)c��U]*!r�r�r
s&r�dummy�ATestUops.test_call_py_exact_args.<locals>.testfunc.<locals>.dummy�����s�
rr�rFr0r(s&  rr��2TestUops.test_call_py_exact_args.<locals>.testfunc���
��1�X���a��r�_PUSH_FRAMEr�r�r�s&   r�test_call_py_exact_args� TestUops.test_call_py_exact_argssO��	�	��!�
��
)�����R� ��2����
�
�m�T�*��
�
�*�D�1rc��QoU[2[U2oUOU2[U2oUO	QU2UO	QU2P!)c�N�Qo[U2FDoQo-oUU-U@J	P!)c��]!r�r)�args�kwargss*,r�ex_py�9TestUops.test_call_py_ex.<locals>.testfunc.<locals>.ex_py���rr%r)rFr>r]r<r=s&    rr��*TestUops.test_call_py_ex.<locals>.testfuncs.��
��1�X�� �����t�&�v�&�rr6�_PY_FRAME_EXr�r�s&   r�test_call_py_ex�TestUops.test_call_py_exsN��	'�	��!�
��
)�����R� ��2����
�
�m�T�*��
�
�n�d�+rc��QoU[2[U2oUOU2[U2oUO	UO
U2P!)c�H�[U2FDoU]6c]oJ]oJ	P!rrr�s& rr��,TestUops.test_branch_taken.<locals>.testfunc$s!���1�X���q�5��A��A�	rr�r�s&   r�test_branch_taken�TestUops.test_branch_taken#sF��	�	��!�
��
)�����R� ��2����
�
�d�)�)�4�0rc��QoU[2o[U2oUOU[[	]
222UOU2P!)c	��[U2FD5o[]
2Tt,tFDo,OU2%fUMJ	ooJ7	W!ttoh�r��r"r+)rFr]r
�rs&   rr��9TestUops.test_branch_coincident_targets.<locals>.testfunc4sA���1�X�� %�b�	�B�	�1�R�Y�Y�q�\�\�Q�	��B����H��Cs
�A	�A	)r
r)r�r4r"rg�rYr��resr0s&   r�test_branch_coincident_targets�'TestUops.test_branch_coincident_targets2sC��	�
��'��
��
)������d�5��9�o�.����R� rc�8`�QQ2nU1QkoU[]2oUOU[[[22]*2[	U2oUOU2[
U2oUOQU2UOQU2P!)c�4`�\sQsQsnQsQsQsQsUsP!)�/TestUops.test_for_iter_tier_two.<locals>.MyIter�@c��VmP!r�rF)rYrFs&&r�__init__�8TestUops.test_for_iter_tier_two.<locals>.MyIter.__init__A����rc��U!rrr�s&r�__iter__�8TestUops.test_for_iter_tier_two.<locals>.MyIter.__iter__C����rc�|�U9O]*tmUO]6c[gUO!r�)rFr(r�s&r�__next__�8TestUops.test_for_iter_tier_two.<locals>.MyIter.__next__Es)�����!����6�6�A�:�'�'��v�v�
rrY)	rrrrrZr^rbrr�r�s@r�MyIterrV@s����
�
�
�
rrdc�d:�]o[U2FDoRU2FDoV$*
oJ
	J	U!rr)rF�mr
r(�jrds&&   �rr��1TestUops.test_for_iter_tier_two.<locals>.testfuncKs2����A��1�X�����A��F�A�#���Hr�_FOR_ITER_TIER_TWO�_ITER_NEXT_INLINEr)rYr�r
r0r�rds&    @r�test_for_iter_tier_two�TestUops.test_for_iter_tier_two?s����		�		�	�
�_�a�(������C��o� 6�7�!�;�<�
��
)�����R� ��2����
�
�*�D�1����,�d�3r�r�r�)rrrrr�r�r�r�r�r�r�r�r�r�r�r�rrrrrr*r7rCrHrRrkrr�r�s@rr�r��s�����G�3�-H�^0�&0�9�
9�1�,�9�"2�(1�,1�21�,:�&9�(:�(
�
2�,�$
1�!�4�4rr�c�`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs \!ODQ2Q 2s#\!ODQ2Q!2s$\!ODQ2Q"2s%Q#s&Q$s'Q%s(Q&s)Q's*Q(s+Q)s,Q*s-Q+s.Q,s/Q-s0Q.s1Q/s2Q0s3Q1s4Q2s5Q3s6Q4s7Q5s8Q6s9Q7s:Q8s;Q9s<Q:s=Q;s>Q<s?Q=s@Q>sAQ?sBQ@sCQAsDQBsEQCsFQDsGQEsHQFsIQGsJQHsKQIsLQJsMQKsNQLsOQMsPQNsQQOsRQPsSQQsTQRsUQSsVQTsWQUsXQVsYQWsZQXs[QYs\QZs]Q[s^Q\s_Q]s`Q^saQ_sbQ`scQasdQbseQcsfQdsgQeshQfsiQgsjQhskQislQjsmQksnQlsoQmspQnsqQosrQpssQqstQrsuQssvQtswQusxQvsyQwszQxs{Qys|Qzs}Q{s~Q|sQ}s�Q~s�Qs�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�CsQ�CsQ�CsCQCsCQCsCQCsCQCsCQCsCQCsCQCs	CQCs
CQCsCQ	CsCQ
Cs
CQCsCQCsCQ
CsCQCsCQCsCQCsCQCsCQCsCQCsCQCsCQCsCQCsCQCsCQCsCQCsCQCsCQCsCQCsUCs P!(�TestUopsOptimization�]c�6�[2vUmUmP!rr�r�s&rr��TestUopsOptimization.setUpcr�rc�0�UU2o[U2oV41!r)r))rYr��argrQr0s&&&  r�_run_with_optimizer�(TestUopsOptimization._run_with_optimizerfs���s�m��
��
)���w�rc�H�QoUOU[2vq#UOU2UOU[]*
]*]*2[	U2Tt,tFD
pDQ6XfJUMJ	oo[	U2Tt,tFD
pDQ6XfJUMJ	oo[	U2Tt,tFD
pDQ6XfJUMJ	ooUO[
U2]2UO[
U2]2UO[
U2]2P!ttohttohttoh)c�f�]o[U2FDoV*oU]*oU]*
oJ	W!rr)�loops�numr(r
r�s&    rr��@TestUopsOptimization.test_int_type_propagation.<locals>.testfuncns5���C��5�\���I����E���q���"��Hrr��_GUARD_TOS_INT�_GUARD_NOS_INT)rur
rgr�r2�assertGreaterEqualr#�assertLessEqual)rYr�rQr0r=�binop_count�guard_tos_int_count�guard_nos_int_counts&       r�test_int_type_propagation�.TestUopsOptimization.test_int_type_propagationms��	��*�*�8�_�E������R� �������2�a�7�!�;�<�,8��,<�_�,<�&�J^�@^�v�v�,<��_�4@��4D�c�4D�&�Rb�Hb�v�v�4D��c�4@��4D�c�4D�&�Rb�Hb�v�v�4D��c�����K� 0�!�4����S�!4�5�q�9����S�!4�5�q�9��`��c��cs$�%
D�4D�
D�D�+
D�:Dc�F`�QnU1QkoU[2o[U2oUOU2UOU[]*
]*2[	U2Tt,tFD
pDQ6XfJUMJ	oo[	U2Tt,tFD
pDQ6XfJUMJ	oo[	U2Tt,tFD
pDQ6XfJUMJ	ooUO[
U2]2UO[
U2]2UO[
U2]2P!ttohttohttoh)c��V*!rrr/s&r�double�LTestUopsOptimization.test_int_type_propagation_through_frame.<locals>.double��	���5�Lrc�f:�]o[U2FDoV*oRU2oU]*
oJ	W!rr)ryrzr(r
r�r�s&    �rr��NTestUopsOptimization.test_int_type_propagation_through_frame.<locals>.testfunc�s6����C��5�\���I���1�I���q���"��Hrr�r|r}�r
r)rgr�r2r~r#r�	rYr�rQr0r=r�r�r�r�s	&       @r�'test_int_type_propagation_through_frame�<TestUopsOptimization.test_int_type_propagation_through_frame�����	�	���'��
��
)�����R� �������2�a�7�8�,8��,<�_�,<�&�J^�@^�v�v�,<��_�4@��4D�c�4D�&�Rb�Hb�v�v�4D��c�4@��4D�c�4D�&�Rb�Hb�v�v�4D��c�����K� 0�!�4����S�!4�5�q�9����S�!4�5�q�9��`��c��c�$�$
D�3D�
D�D�*
D�9Dc�F`�QnU1QkoU[2o[U2oUOU2UOU[]*
]*2[	U2Tt,tFD
pDQ6XfJUMJ	oo[	U2Tt,tFD
pDQ6XfJUMJ	oo[	U2Tt,tFD
pDQ6XfJUMJ	ooUO[
U2]2UO[
U2]2UO[
U2]2P!ttohttohttoh)c��V*!rrr/s&rr��ITestUopsOptimization.test_int_type_propagation_from_frame.<locals>.double�r�rc�f:�]o[U2FDoRU2oV3*oU]*
oJ	W!rr)ryrzr(r�r
r�s&    �rr��KTestUopsOptimization.test_int_type_propagation_from_frame.<locals>.testfunc�s6����C��5�\���3�K���E���q���"��Hrr�r|r}r�r�s	&       @r�$test_int_type_propagation_from_frame�9TestUopsOptimization.test_int_type_propagation_from_frame�r�r�c���QoUOU[2vq#UOU2[U2Tt,tFD
pDQ6XfJUMJ	ooUO	[U2]2P!ttoh)c�d�]oV6c'V*o]oU]*V#*oU]*
oJ,W!rr)ryrzr
rr�s&    rr��=TestUopsOptimization.test_int_impure_region.<locals>.testfunc�s4���C��+��I�����Q���E���q����Hrr�)rur
rgr2r~r#)rYr�rQr0r=r�s&     r�test_int_impure_region�+TestUopsOptimization.test_int_impure_region�si��	��*�*�8�_�E������R� �,8��,<�_�,<�&�J^�@^�v�v�,<��_�����K� 0�!�4��`s�
A.�	A.c�*�QoUOU[2vq#UOU2[U2oUO	QU2UO	QU2UOQU2UOQU2UOQU2P!)c�D�Qo[U2FDoUU2J
	P!)c��U]*!r�rr/s&rr0�MTestUopsOptimization.test_call_py_exact_args.<locals>.testfunc.<locals>.dummy�r2rrr3s&  rr��>TestUopsOptimization.test_call_py_exact_args.<locals>.testfunc�r5rr6r��_CHECK_PEP_523�_GUARD_CODE_VERSION__PUSH_FRAME�_GUARD_IP__PUSH_FRAME�rur
rgr6r�r��rYr�rQr0r�s&    rr7�,TestUopsOptimization.test_call_py_exact_args�s���	��*�*�8�_�E������R� ��2����
�
�m�T�*��
�
�*�D�1����)�4�0����:�D�A����0�$�7rc��QoUOU[2vq#UOU[]*
]*2UOU2[	U2oUOQU2UOQU2P!)c�>�[U2FDoV*oJ
	W!rr)rFr(r
s&  rr��LTestUopsOptimization.test_int_type_propagate_through_range.<locals>.testfunc�s���1�X���E����Hrr|r}�rur
r�rgr6r�r�s&    r�%test_int_type_propagate_through_range�:TestUopsOptimization.test_int_type_propagate_through_range�sp��	��*�*�8�_�E���������2�a�7�8����R� ��2������)�4�0����)�4�0rc�h�QoUOU[2vq#UOU]2UOU2[	U2oUOQU2UO
QU2[U2Tt,tFD
pUQ6XfJUMJ	ooUO[U2]2P!ttoh)c�n�]o[U2FD!oSoSoSoSoV4*U*U*oJ#	W!r�r)rFrr(r
�zr�r�rQs&       rr��?TestUopsOptimization.test_int_value_numbering.<locals>.testfunc�s?���A��1�X�����������e�a�i�!�m����Jrr|r})	rur
r�rgr6r�r�r2r#)rYr�rQr0r�r=�guard_tos_counts&      r�test_int_value_numbering�-TestUopsOptimization.test_int_value_numbering�s���		��*�*�8�_�E�������a� ����R� ��2����
�
�&��-����)�4�0�0<�R�0@�_�0@�f�N^�D^�6�6�0@��_�����_�-�q�1��`s�;
B/�
B/c���QoUOU[2vq#UOU[[	[222UOU2[
U2oUOQU2P!)c�p�[U2FDo[U2Tt,tFDp"MJ	tot!	P!ttohrr)rFr]r(s&  rr��9TestUopsOptimization.test_comprehension.<locals>.testfunc�s,���1�X��#(��8�,�8�a��8�,�,���,s�3r�)rur
r�r4r"rgr6r�r�s&    r�test_comprehension�'TestUopsOptimization.test_comprehension�s_��	-��*�*�8�_�E�������d�5��#9�:�;����R� ��2������-�t�4rc�`�QnU1QkoU]2<[O2QnU] 2[U2oP!)c��U]*!r�rr/s&rr0�HTestUopsOptimization.test_call_py_exact_args_disappearing.<locals>.dummy�s���Q�3�Jrc�@:�[U2FDoRU2J
	P!rr)rFr(r0s& �rr��KTestUopsOptimization.test_call_py_exact_args_disappearing.<locals>.testfuncs����1�X���a��rc��U]*!�rLrr/s&rr0r�	����q�5�Lr)�gc�collectr))rYr�r0r0s&  @r�$test_call_py_exact_args_disappearing�9TestUopsOptimization.test_call_py_exact_args_disappearing�s8���	�	�
	����
�
�
��	����
��
)�rc��[OQ[OQ2QQ5oUO	U]*O
]U2P!)�-caL
        import _testinternalcapi
        import opcode
        import _opcode

        def get_first_executor(func):
            code = func.__code__
            co_code = code.co_code
            for i in range(0, len(co_code), 2):
                try:
                    return _opcode.get_executor(code, i)
                except ValueError:
                    pass
            return None

        def get_opnames(ex):
            return {item[0] for item in ex}

        def testfunc(n):
            for i in range(n):
                x = range(i)
            return x

        testfunc(_testinternalcapi.TIER2_THRESHOLD)

        ex = get_first_executor(testfunc)
        assert ex is not None
        uops = get_opnames(ex)
        assert "_LOAD_GLOBAL_BUILTINS" not in uops
        assert "_LOAD_CONST_INLINE_BORROW" in uops
        �1��
PYTHON_JIT�r�run_python_until_endrPrQr��rc�rY�results& r�!test_promote_globals_to_constants�6TestUopsOptimization.test_promote_globals_to_constantssF���3�3�D�(�/�/�K�;
�<�=��>	
��������q�&�1rc���QoUOU[2vq#UOU[]*2UOU2[	U2o[U2Tt,tFD
pUQ6XfJUMJ	oo[U2Tt,tFD
pUQ6XfJUMJ	ooUO
[U2]2UO
[U2]2UOQU2P!ttohttoh)c�z�Qo[U2FD'oUQ*oUQ*oUQ*oUQ*oJ)	U!�r{g�?r�rFr�r]s&  rr��JTestUopsOptimization.test_float_add_constant_propagation.<locals>.testfunc7�@���A��1�X����H����H����H����H��	�
�Hr�_GUARD_TOS_FLOAT�_GUARD_NOS_FLOAT�_POP_TOP_NOP�	rur
�assertAlmostEqualrgr6r2rr#r��rYr�rQr0r�r=�guard_tos_float_count�guard_nos_float_counts&       r�#test_float_add_constant_propagation�8TestUopsOptimization.test_float_add_constant_propagation6s���	��*�*�8�_�E������s�O�a�$7�8����R� ��2���6B�2�6F� g�6F�F�Tf�Jf���6F�� g�6B�2�6F� g�6F�F�Tf�Jf���6F�� g����S�!6�7��;����S�!6�7��;�	
�
�
�n�d�+��
!h�� gs�"
C&�1C&�
C+�C+c���QoUOU[2vq#UOU[']*2UOU2[	U2o[U2Tt,tFD
pUQ6XfJUMJ	oo[U2Tt,tFD
pUQ6XfJUMJ	ooUO
[U2]2UO
[U2]2UOQU2P!ttohttoh)c�z�Qo[U2FD'oUQ*
oUQ*
oUQ*
oUQ*
oJ)	U!r�rr�s&  rr��OTestUopsOptimization.test_float_subtract_constant_propagation.<locals>.testfuncMr�rr�r�r�r�r�s&       r�(test_float_subtract_constant_propagation�=TestUopsOptimization.test_float_subtract_constant_propagationLs���	��*�*�8�_�E������s�_�$4�q�$8�9����R� ��2���6B�2�6F� g�6F�F�Tf�Jf���6F�� g�6B�2�6F� g�6F�F�Tf�Jf���6F�� g����S�!6�7��;����S�!6�7��;�	
�
�
�n�d�+��
!h�� gs�#
C'�2C'�
C,�C,c���QoUOU[2vq#UOUQ2UOU2[	U2o[U2Tt,tFD
pUQ6XfJUMJ	oo[U2Tt,tFD
pUQ6XfJUMJ	ooUO
[U2]2UO
[U2]2UOQU2P!ttohttoh)c�z�Qo[U2FD'oUQ*oUQ*oUQ*oUQ*oJ)	U!�r{rr�s&  rr��OTestUopsOptimization.test_float_multiply_constant_propagation.<locals>.testfunccs@���A��1�X����G����G����G����G��	�
�Hrr{r�r�r�r�r�s&       r�(test_float_multiply_constant_propagation�=TestUopsOptimization.test_float_multiply_constant_propagationbs���	��*�*�8�_�E������s�C�(����R� ��2���6B�2�6F� g�6F�F�Tf�Jf���6F�� g�6B�2�6F� g�6F�F�Tf�Jf���6F�� g����S�!6�7��;����S�!6�7��;�	
�
�
�n�d�+��
!h�� g��
C�&C�:
C �	C c���QoUOU[2vq#UOUP2UOU2[	U2o[U2Tt,tFD
pUQ6XfJUMJ	oo[U2Tt,tFD
pUQ6XfJUMJ	ooUO
[U2]2UO
[U2]2UOQU2P!ttohttoh)c�r�Po[U2FD#oV*V*V*V*J%	U!��rr�s&  rr��CTestUopsOptimization.test_add_unicode_propagation.<locals>.testfuncys2���A��1�X�����������	�
�Hr�_GUARD_TOS_UNICODE�_GUARD_NOS_UNICODE�_BINARY_OP_ADD_UNICODE�	rur
r�rgr6r2rr#r��rYr�rQr0r�r=�guard_tos_unicode_count�guard_nos_unicode_counts&       r�test_add_unicode_propagation�1TestUopsOptimization.test_add_unicode_propagationxs���	��*�*�8�_�E�������b�!����R� ��2���8D�R�8H�"k�8H�f�Vj�Lj�6�6�8H��"k�8D�R�8H�"k�8H�f�Vj�Lj�6�6�8H��"k����S�!8�9�1�=����S�!8�9�1�=��
�
�.��5��	#l��"kr�c���QoUOU[2vq#UOU2UOU2[	U2o[U2Tt,tFD
pUQ6XfJUMJ	oo[U2Tt,tFD
pUQ6XfJUMJ	ooUO
[U2]2UO
[U2]2UOQU2P!ttohttoh)c�R�Qo[U2FDoV6HoV6HoV6HoV6HoJ	W!r�r�rFr�r]r
s&   rr��MTestUopsOptimization.test_compare_op_type_propagation_float.<locals>.testfunc�s8���A��1�X���F���F���F���F��	�
�Hrr�r��_COMPARE_OP_FLOAT�	rur
rTrgr6r2rr#r�r�s&       r�&test_compare_op_type_propagation_float�;TestUopsOptimization.test_compare_op_type_propagation_float�s���	��*�*�8�_�E�����������R� ��2���6B�2�6F� g�6F�F�Tf�Jf���6F�� g�6B�2�6F� g�6F�F�Tf�Jf���6F�� g����S�!6�7��;����S�!6�7��;��
�
�)�4�0��	!h�� g��
C�%C�9
C�Cc���QoUOU[2vq#UOU2UOU2[	U2o[U2Tt,tFD
pUQ6XfJUMJ	oo[U2Tt,tFD
pUQ6XfJUMJ	ooUO
[U2]2UO
[U2]2UOQU2P!ttohttoh)c�R�]o[U2FDoV6HoV6HoV6HoV6HoJ	W!r�rr�s&   rr��KTestUopsOptimization.test_compare_op_type_propagation_int.<locals>.testfunc�s8���A��1�X���F���F���F���F��	�
�Hrr|r}�_COMPARE_OP_INTr)rYr�rQr0r�r=r�r�s&       r�$test_compare_op_type_propagation_int�9TestUopsOptimization.test_compare_op_type_propagation_int�s���	��*�*�8�_�E�����������R� ��2���4@��4D�c�4D�&�Rb�Hb�v�v�4D��c�4@��4D�c�4D�&�Rb�Hb�v�v�4D��c����S�!4�5�q�9����S�!4�5�q�9��
�
�'��.��	d��crc���QoUOU[2vq#UOU]2UOU2[	U2o[U2Tt,tFD
pUQ6XfJUMJ	oo[U2Tt,tFD
pUQ6XfJUMJ	ooUO
[U2]2UO[U2]2UOQU2P!ttohttoh)c�Z�]o[U2FDoU]6�c]oU]6fJ]oJ	W!r�rr�s&   rr��STestUopsOptimization.test_compare_op_type_propagation_int_partial.<locals>.testfunc�s4���A��1�X���q�5��A��q�5��A�	�
�Hrr}r|r	r�)rYr�rQr0r�r=r�r�s&       r�,test_compare_op_type_propagation_int_partial�ATestUopsOptimization.test_compare_op_type_propagation_int_partial�s���	��*�*�8�_�E�������a� ����R� ��2���4@��4D�c�4D�&�Rb�Hb�v�v�4D��c�4@��4D�c�4D�&�Rb�Hb�v�v�4D��c����S�!4�5�q�9�����0�1�1�5��
�
�'��.��	d��cr�c���QoUOU[2vq#UOU]2UOU2[	U2o[U2Tt,tFD
pUQ6XfJUMJ	oo[U2Tt,tFD
pUQ6XfJUMJ	ooUO
[U2]2UO[U2]2UOQU2P!ttohttoh)c�Z�Qo[U2FDoUQ6�c]oUQ6fJ]oJ	W!�r{�@rr�s&   rr��UTestUopsOptimization.test_compare_op_type_propagation_float_partial.<locals>.testfunc�s4���A��1�X���s�7��A��s�7��A�	�
�Hrr�r�rr�)rYr�rQr0r�r=r�r�s&       r�.test_compare_op_type_propagation_float_partial�CTestUopsOptimization.test_compare_op_type_propagation_float_partial�s���	��*�*�8�_�E�������a� ����R� ��2���6B�2�6F� g�6F�F�Tf�Jf���6F�� g�6B�2�6F� g�6F�F�Tf�Jf���6F�� g����S�!6�7��;�����2�3�Q�7��
�
�)�4�0��	!h�� gr�c���QoUOU[2vq#UOU2UOU2[	U2o[U2Tt,tFD
pUQ6XfJUMJ	oo[U2Tt,tFD
pUQ6XfJUMJ	ooUO
[U2]2UO
[U2]2UOQU2P!ttohttoh)c�R�Po[U2FDoV6HoV6HoV6HoV6HoJ	W!r�rr�s&   rr��OTestUopsOptimization.test_compare_op_type_propagation_unicode.<locals>.testfunc�s8���A��1�X���F���F���F���F��	�
�Hrr�r��_COMPARE_OP_STRrr�s&       r�(test_compare_op_type_propagation_unicode�=TestUopsOptimization.test_compare_op_type_propagation_unicode�s���	��*�*�8�_�E�����������R� ��2���8D�R�8H�"k�8H�f�Vj�Lj�6�6�8H��"k�8D�R�8H�"k�8H�f�Vj�Lj�6�6�8H��"k����S�!8�9�1�=����S�!8�9�1�=��
�
�'��.��	#l��"krc���QoUOU[2vq#UOU[2UOU2[	U2oUO[
UQ2]2P!)c�|�Qo]oU2o[U2FDoU]6XfJU]6XfJU]*
oJ 	U!)c��]!r�rrrr�return_1�YTestUopsOptimization.test_compare_int_eq_narrows_to_constant.<locals>.f.<locals>.return_1�r@rr�rFr!�hitsrr]s&    rrI�GTestUopsOptimization.test_compare_int_eq_narrows_to_constant.<locals>.f�sA��
��D��
�A��1�X����6��A�v���	����Krr	�rur
r�rgr6rr>�rYrIrQr0r�s&    r�'test_compare_int_eq_narrows_to_constant�<TestUopsOptimization.test_compare_int_eq_narrows_to_constant�s^��
	��*�*�1�o�>�������o�.����R� ��2���	
���Y�r�+<�=�q�Arc���QoUOU[2vq#UOU[]*2UOU2[	U2oUO[
UQ2]2P!)c��Qo]oU2o[U2FD-oU]6wcUQ*
oJU]6XfJV#]**
oJ/	U!)c��]!r�rrrrr!�YTestUopsOptimization.test_compare_int_ne_narrows_to_constant.<locals>.f.<locals>.return_1r@r��rr#s&    rrI�GTestUopsOptimization.test_compare_int_ne_narrows_to_constant.<locals>.fsL��
��D��
�A��1�X����6��D�L�D��A�v��A��
����Krr	r&r's&    r�'test_compare_int_ne_narrows_to_constant�<TestUopsOptimization.test_compare_int_ne_narrows_to_constantsc��	��*�*�1�o�>�������o��1�2����R� ��2���	
���Y�r�+<�=�q�Arc���QoUOU[2vq#UOU[2UOU2[	U2oUO[
UQ2]2P!)c�|�Qo]oU2o[U2FDoUQ6XfJUQ6XfJU]*
oJ 	U!)c��Q!�皙�����?rrrr�return_tenth�_TestUopsOptimization.test_compare_float_eq_narrows_to_constant.<locals>.f.<locals>.return_tenth���rr6r�rFr7r$rr]s&    rrI�ITestUopsOptimization.test_compare_float_eq_narrows_to_constant.<locals>.fsA��
��D���A��1�X����8��C�x���	����Krrr&r's&    r�)test_compare_float_eq_narrows_to_constant�>TestUopsOptimization.test_compare_float_eq_narrows_to_constants^��
	��*�*�1�o�>�������o�.����R� ��2���	
���Y�r�+>�?��Crc���QoUOU[2vq#UOU[2UOU2[	U2oUO[
UQ2]2P!)c��Qo]oU2o[U2FD'oUQ6wcUQ*
oJUQ6XfJU]*
oJ)	U!)c��Q!r5rrrrr7�_TestUopsOptimization.test_compare_float_ne_narrows_to_constant.<locals>.f.<locals>.return_tenth3r9rr6r.rr:s&    rrI�ITestUopsOptimization.test_compare_float_ne_narrows_to_constant.<locals>.f2sJ��
��D���A��1�X����8��D�L�D��C�x���	����Krrr&r's&    r�)test_compare_float_ne_narrows_to_constant�>TestUopsOptimization.test_compare_float_ne_narrows_to_constant1s^��	��*�*�1�o�>�������o�.����R� ��2���	
���Y�r�+>�?��Crc
�`
`�Qn
QnU
U1QkoUOU[2vq#UOU[]*2UOU2STTTt,tFD
voqVVF1MJ	ooooSTt,tFDp�]*MJ
	o	oUOU	O	Q2]2UOU	O	Q2]2UOU	O	Q2]2UOU	O	Q2]2UOQ[OR
O21U2UOQ[ORO21U2P!ttooohttoh)c��U]*
!r�rr/s&r�dummy12�PTestUopsOptimization.test_combine_stack_space_checks_sequential.<locals>.dummy12Ir�rc��U]*oV1!r�r�rr�s& r�dummy13�PTestUopsOptimization.test_combine_stack_space_checks_sequential.<locals>.dummy13K����A��A��4�Krc�:�]o[U2FD+oR]2oR]	2vqEVU*U**
oJ-	U!rr)rFr�r]r��crrGrKs&     ��rr��QTestUopsOptimization.test_combine_stack_space_checks_sequential.<locals>.testfuncNs@����A��1�X���A�J���q�z�����U�Q�Y�����Hrr6�
_RETURN_VALUE�_CHECK_STACK_SPACE�_CHECK_STACK_SPACE_OPERAND�	rur
r�rg�countr�r�get_co_framesizer )rYr�rQr0r�r]r��uops_and_operands�uop�	uop_namesrGrKs&         @@r�*test_combine_stack_space_checks_sequential�?TestUopsOptimization.test_combine_stack_space_checks_sequentialHsM���	�	�	��*�*�8�_�E�������o��2�3����R� �LN�O�B�3H�6�1�a�f�.�B��O�'8�9�'8���V�V�'8�	�9��������7��;��������9�1�=�������)=�>��B�������)E�F��J��
�
�3�(�9�9�'�:J�:J�K�M�N_�	a��
�
�3�(�9�9�'�:J�:J�K�M�N_�	a��P��9s�E2�5E9c
�`
`�Qn
U
1QknU1QkoUOU[2vq#UOU[]*2UOU2STTTt,tFD
voqVVF1MJ	ooooSTt,tFDp�]*MJ
	o	oUOU	O	Q2]2UOU	O	Q2]2UOU	O	Q2]2UOU	O	Q2]2UOQ[ORO21U2UOQ[OR
O21U2P!ttooohttoh)c��U]*!�rKrr/s&rrG�LTestUopsOptimization.test_combine_stack_space_checks_nested.<locals>.dummy12hr�rc�:�RU2oV1!rr)rr�rGs& �r�dummy15�LTestUopsOptimization.test_combine_stack_space_checks_nested.<locals>.dummy15js�����
�A��4�Krc�f:�]o[U2FDoR]2vq4VU**
oJ	U!rr)rFr�r]r�rOras&    �rr��MTestUopsOptimization.test_combine_stack_space_checks_nested.<locals>.testfuncms3����A��1�X���q�z�����U�
����Hrr6rQrRrSrT)rYr�rQr0r�r]r�rWrXrYrGras&         @@r�&test_combine_stack_space_checks_nested�;TestUopsOptimization.test_combine_stack_space_checks_nestedgsM���	�	�	��*�*�8�_�E�������o��1�2����R� �LN�O�B�3H�6�1�a�f�.�B��O�'8�9�'8���V�V�'8�	�9��������7��;��������9�1�=�������)=�>��B�������)E�F��J��
�
�3�(�9�9�'�:J�:J�K�M�N_�	a��
�
�3�(�9�9�'�:J�:J�K�M�N_�	a��P��9s�E4�7E;c
�n`
``�Qn
QnU
U1QknU
U1QkoUOU[2vq#UOU[]*2UOU2STTTt,tFD
voqVVF1MJ	ooooSTt,tFDp�]*MJ
	o	oUOU	O	Q2]2UOU	O	Q2]2UOU	O	Q2]2UOU	O	Q2]2UOQ[OR
O21U2UOQ[ORO21U2UOQ[ORO21U2P!ttooohttoh)c��U]*!r^rr/s&rrG�STestUopsOptimization.test_combine_stack_space_checks_several_calls.<locals>.dummy12�r�rc��U]*oV1!r�rrJs& rrK�STestUopsOptimization.test_combine_stack_space_checks_several_calls.<locals>.dummy13�rMrc�2:�RU2oRU2vq#VU1!rr�rr�r
�wrGrKs&   ��r�dummy18�STestUopsOptimization.test_combine_stack_space_checks_several_calls.<locals>.dummy18�� �����
�A��1�:�D�A���7�Nrc�:�]o[U2FD3oR]2oR]2vqEoVU*U*U**
oJ5	U!rr)	rFr�r]r�rOr�erGros	&      ��rr��TTestUopsOptimization.test_combine_stack_space_checks_several_calls.<locals>.testfunc�sG����A��1�X���A�J��!�!�*���a���U�Q�Y��]�"����Hrr6rQrRrSrT�
rYr�rQr0r�r]r�rWrXrYrGrKros
&         @@@r�-test_combine_stack_space_checks_several_calls�BTestUopsOptimization.test_combine_stack_space_checks_several_calls�s���	�	�	�	��*�*�8�_�E�������o��2�3����R� �LN�O�B�3H�6�1�a�f�.�B��O�'8�9�'8���V�V�'8�	�9��������7��;��������9�1�=�������)=�>��B�������)E�F��J��
�
�3�(�9�9�'�:J�:J�K�M�N_�	a��
�
�3�(�9�9�'�:J�:J�K�M�N_�	a��
�
�3�(�9�9�'�:J�:J�K�M�N_�	a��P��9��$F+�=F2c
�n`
``�Qn
QnU
U1QknU
U1QkoUOU[2vq#UOU[]*2UOU2STTTt,tFD
voqVVF1MJ	ooooSTt,tFDp�]*MJ
	o	oUOU	O	Q2]2UOU	O	Q2]2UOU	O	Q2]2UOU	O	Q2]2UOQ[OR
O21U2UOQ[ORO21U2UOQ[ORO21U2P!ttooohttoh)c��U]*!r^rr/s&rrG�cTestUopsOptimization.test_combine_stack_space_checks_several_calls_different_order.<locals>.dummy12�r�rc��U]*oV1!r�rrJs& rrK�cTestUopsOptimization.test_combine_stack_space_checks_several_calls_different_order.<locals>.dummy13�rMrc�2:�RU2oRU2vq#VU1!rrrms&   ��rro�cTestUopsOptimization.test_combine_stack_space_checks_several_calls_different_order.<locals>.dummy18�rqrc�:�]o[U2FD3oR]2vq4oR]2oVU*U*U**
oJ5	U!rr)	rFr�r]rOrrsr�rGros	&      ��rr��dTestUopsOptimization.test_combine_stack_space_checks_several_calls_different_order.<locals>.testfunc�sG����A��1�X��!�!�*���a��A�J����U�Q�Y��]�"����Hrr6rQrRrSrTrus
&         @@@r�=test_combine_stack_space_checks_several_calls_different_order�RTestUopsOptimization.test_combine_stack_space_checks_several_calls_different_order�s���	�	�	�	��*�*�8�_�E�������o��2�3����R� �LN�O�B�3H�6�1�a�f�.�B��O�'8�9�'8���V�V�'8�	�9��������7��;��������9�1�=�������)=�>��B�������)E�F��J��
�
�3�(�9�9�'�:J�:J�K�M�N_�	a��
�
�3�(�9�9�'�:J�:J�K�M�N_�	a��
�
�3�(�9�9�'�:J�:J�K�M�N_�	a��P��9rxz;reopen when we combine multiple stack space checks into onec
�```
````�QnU1QknU1Qkn
U1QknUU1QknU
1QknUUU1QknUUU1QkoUOU[2vq#UOU[]*2UOU2STTTt,tFD
voqVVF1MJ	ooooSTt,tFDp�]*MJ
	o	oUOU	O	Q2]2UOU	O	Q	2]2UOU	O	Q
2]2UOU	O	Q2]2[
O
RO2[
O
RO2*[
O
R
O2*[
O
RO2*[
O
RO2*o
UOQU
1U2P!ttooohttoh)c��U!rrr/s&r�dummy0�ETestUopsOptimization.test_combine_stack_space_complex.<locals>.dummy0�����Hrc�:�RU2!rr�r
r�s&�r�dummy1�ETestUopsOptimization.test_combine_stack_space_complex.<locals>.dummy1��
����!�9�rc�:�RU2!rr)r
r�s&�r�dummy2�ETestUopsOptimization.test_combine_stack_space_complex.<locals>.dummy2�r�rc�:�RU2!rrr�s&�r�dummy3�ETestUopsOptimization.test_combine_stack_space_complex.<locals>.dummy3�r�rc�&:�RU2oRU2!rr)r
rr�r�s& ��r�dummy4�ETestUopsOptimization.test_combine_stack_space_complex.<locals>.dummy4�s����q�	�A��!�9�rc�:�RU2!rr)r
r�s&�r�dummy5�ETestUopsOptimization.test_combine_stack_space_complex.<locals>.dummy5�r�rc�6:�RU2oRU2oRU2!rr)r
rr�r�r�r�s&  ���r�dummy6�ETestUopsOptimization.test_combine_stack_space_complex.<locals>.dummy6�s����q�	�A��q�	�A��!�9�rc�:�]o[U2FD1oR]2oR]2oR]2oVU*U**
oJ3	U!rr)	rFr�r]r�rOrr�r�r�s	&     ���rr��GTestUopsOptimization.test_combine_stack_space_complex.<locals>.testfunc�sG����A��1�X���1�I���1�I���1�I����U�Q�Y���	�
�Hrr6rQrRrS)	rur
r�rgrUrrVr r�)rYr�rQr0r�r]r�rWrXrY�
largest_stackr�r�r�r�r�r�r�s&          @@@@@@@r� test_combine_stack_space_complex�5TestUopsOptimization.test_combine_stack_space_complex�s����	�	�	�	�	�	�	�	��*�*�8�_�E�������o��1�2����R� �LN�O�B�3H�6�1�a�f�.�B��O�'8�9�'8���V�V�'8�	�9��������7��<��������9�2�>�������)=�>��B�������)E�F��J��.�.�v���?��.�.�v���?�
@��.�.�v���?�
@�
�.�.�v���?�
@�
�.�.�v���?�	
@�	�	
�
�
�
)�=�9�;L�	
��P��9s�G=�Hc�.``�Qo-oQoPO[U2Tt,tFDoQU]*QUQ0MJ	to2oQU]*
Q0o[[OV5*U*2V"2UQ*nU1QknU1Q	koUOU[2vq�UOU[U]	**2UOU	2S	T
TTt,tFD
vo
q�V�1MJ	o
oo
oS
Tt,tFDp�]*MJ
	ooUOUOQ
2]2UOUOQ2]2UOUOQ2]],2UOQ2]6XcE[ORO2[ORO2*oL[ORO2oUOQU1U
2P!ttohttooo
httoh)
�'z*
            def dummy_large(a0):
        z
                az = az
 + 1
        z
                return az	
        �dummy_largec�(:�RU2oU]*!r^r)r�rr�s& �rra�UTestUopsOptimization.test_combine_stack_space_checks_large_framesize.<locals>.dummy15s����A��A��q�5�Lrc�R:�]o[U2FDoUR]2*
oJ	U!rr)rFr�r]ras&  �rr��VTestUopsOptimization.test_combine_stack_space_checks_large_framesize.<locals>.testfunc�(����A��1�X���W�Q�Z�����Hrr6rSrR)rNr"rOrPrQrur
r�rgrUr�rrVr )rY�repetitionsrZ�headerrF�body�return_r�rQr0r�r]r�rWrXrYr�rar�s&                @@r�/test_combine_stack_space_checks_large_framesize�DTestUopsOptimization.test_combine_stack_space_checks_large_framesize�s������
�����w�w��;�'�)�'����A�#��d�1�#�	��'�)�*���$�Q���(	���	
�X�_�_�V�]�W�4�
5�r�>���'��	�	��*�*�8�_�E�������o��q��A�B����R� �LN�O�B�3H�6�1�a�f�.�B��O�'8�9�'8���V�V�'8�	�9��������7��;�������)E�F��J�	
�
�
�i�o�o�&:�;�a��V�D��?�?�/�0�A�5�!�2�2�7�3C�3C�D�!�2�2�;�3G�3G�H�I�
�
.�>�>�w�?O�?O�P�M��
�
�
)�=�9�;L�	
��_)��@P��9s�H�$H�=Hc
�j`�U1QknU1Qko[O2o[O[U*2UO	U[2vq4[OU2UOU[]**2UO
U2STTTt,tFD
voqgVW1MJ	ooooST	t,tFDp�]*MJ
	o
o	UOU
OQ2]2UOU
OQ2]2UOU
OQ2]2UOU
OQ2]2[ORO2oUOQU1U2P![OS2h9httooohtto	h)c�6:�U]6�cRU]*
2!]*!rr)r
ras&�rra�OTestUopsOptimization.test_combine_stack_space_checks_recursion.<locals>.dummy15<s����a�%��q�1�u�~�%�rc�R:�]o[U2FDoURU2*
oJ	U!rr)rFr�r]ras&  �rr��PTestUopsOptimization.test_combine_stack_space_checks_recursion.<locals>.testfunc@r�rr6rQrRrS)ro�getrecursionlimit�setrecursionlimitr
rur�rgrUrrVr r�)
rYr��recursion_limitrQr0r�r]r�rWrXrYr�ras
&           @r�)test_combine_stack_space_checks_recursion�>TestUopsOptimization.test_combine_stack_space_checks_recursion:s^���	�	��/�/�1��	3��!�!�/�O�"C�D��.�.�x��I�G�C��!�!�/�2�����o��2�3����R� �LN�O�B�3H�6�1�a�f�.�B��O�'8�9�'8���V�V�'8�	�9��������7��;��������9�1�=�������)=�>��B�������)E�F��J�)�:�:�7�;K�;K�L�
��
�
�3�]�C�EV�W��
�!�!�/�2��P��9s�9F�'F)�F0�F&c��``````	`
`�QnU1QknU1QknU1QknU1QknU1Qkn	U	1Qkn
U
1QknU1QkoUOU] 2vq#UOUQ	2UOU2P!)
c��U!rrr/s&r�dummy_a�6TestUopsOptimization.test_many_nested.<locals>.dummy_aZr�rc�:�RU2!rr)r
r�s&�r�dummy_b�6TestUopsOptimization.test_many_nested.<locals>.dummy_b\�
����1�:�rc�:�RU2!rr)r
r�s&�r�dummy_c�6TestUopsOptimization.test_many_nested.<locals>.dummy_c^r�rc�:�RU2!rr)r
r�s&�r�dummy_d�6TestUopsOptimization.test_many_nested.<locals>.dummy_d`r�rc�:�RU2!rr)r
r�s&�r�dummy_e�6TestUopsOptimization.test_many_nested.<locals>.dummy_ebr�rc�:�RU2!rr)r
r�s&�r�dummy_f�6TestUopsOptimization.test_many_nested.<locals>.dummy_fdr�rc�:�RU2!rr)r
r�s&�r�dummy_g�6TestUopsOptimization.test_many_nested.<locals>.dummy_gfr�rc�:�RU2!rr)r
r�s&�r�dummy_h�6TestUopsOptimization.test_many_nested.<locals>.dummy_hhr�rc�R:�]o[U2FDoURU2*
oJ	U!rr)rFr�r]r�s&  �rr��7TestUopsOptimization.test_many_nested.<locals>.testfuncjr�r�)rur�rq)rYr�rQr0r�r�r�r�r�r�r�r�s&   @@@@@@@@r�test_many_nested�%TestUopsOptimization.test_many_nestedXsd���	�	�	�	�	�	�	�	�	��*�*�8�R�8�������g�&����"�rc��`�QnU1QkoUOU[2vq#UOU[]*
2UOU2UO	Q[U22P!)c3� �Pw�	P!3hrrrrrr��7TestUopsOptimization.test_return_generator.<locals>.genus
����J�s�	c�>:�[U2FD
oR2J	W!rr)rFr(r�s& �rr��<TestUopsOptimization.test_return_generator.<locals>.testfuncws����1�X������Hr�_RETURN_GENERATOR�rur
r�rgr�r6)rYr�rQr0r�s&   @r�test_return_generator�*TestUopsOptimization.test_return_generatortsY���	�	��*�*�8�_�E�������o��1�2����R� ��
�
�)�;�r�?�;rc��`�QnU1QkoUOU[2vq#UOU2UOU2[	U2oUOQU2UO
QU2P!)c��P!rrrrr�returns_immortal�UTestUopsOptimization.test_make_heap_safe_optimized_immortal.<locals>.returns_immortal�s��rc�B:�]o[U2FD
oR2oJ	U!rr)rFr�r]r�s&  �rr��MTestUopsOptimization.test_make_heap_safe_optimized_immortal.<locals>.testfunc�s#����A��1�X��$�&����Hr�_MAKE_HEAP_SAFErQ)rur
rqrgr6r�r�)rYr�rQr0r�r�s&    @r�&test_make_heap_safe_optimized_immortal�;TestUopsOptimization.test_make_heap_safe_optimized_immortal�sg���	�	�
�*�*�8�_�E������#�����R� ��2������*�D�1��
�
�o�t�,rc�`�QnU1QkoU[]*2[R2o[U2oS9%fSoUOU2[U2oUO	QU2UOQU2P!)c3�@ �[U2FDo]w�	J
	P!3hr�r�rFr]s& rr��ETestUopsOptimization.test_make_heap_safe_optimized_yield.<locals>.gen�s����1�X�����s�c�*:�RU2FDoJ	P!rr)rFr]r�s& �rr��JTestUopsOptimization.test_make_heap_safe_optimized_yield.<locals>.testfunc�s�����V���rr��_YIELD_VALUE)r
r)rgr6r�r�)rYr��gen_ex�testfunc_exr0r�r�s&     @r�#test_make_heap_safe_optimized_yield�8TestUopsOptimization.test_make_heap_safe_optimized_yield�su���	�	�	��1�$�%�$�C�(��(��2��
�
"�
"�{�����R� ��2������*�D�1��
�
�n�d�+rc�`�QnU1QkoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2P!)c��U]*!r�rr/s&r�
returns_owned�WTestUopsOptimization.test_make_heap_safe_not_optimized_for_owned.<locals>.returns_owned�r�rc�D:�]o[U2FDoRU2oJ
	U!rr)rFr�r]r�s&  �rr��RTestUopsOptimization.test_make_heap_safe_not_optimized_for_owned.<locals>.testfunc�s%����A��1�X��!�!�$����Hrr�rQ�rur
r�rgr6r�)rYr�rQr0r�r�s&    @r�+test_make_heap_safe_not_optimized_for_owned�@TestUopsOptimization.test_make_heap_safe_not_optimized_for_owned�sg���	�	�
�*�*�8�_�E�������o�.����R� ��2����
�
�'��.��
�
�o�t�,rc���QoUOU[2vq#UOU[[]*
*]*2UOU2UO	Q[U22P!)c�T�]o[[U22FDoV*
oJ
	U!r��setr")rF�tr(s&  rr��4TestUopsOptimization.test_for_iter.<locals>.testfunc�s%���A���q��]�����#��Hrrjr�rPs&   r�
test_for_iter�"TestUopsOptimization.test_for_iter�s]��	�
�*�*�8�_�E�������o��1�1D�E��J�K����R� ��
�
�)�;�r�?�;rc��Qo]o[]
2Tt-tFDp3U]*aJ	oo[[2FD,oUO2FDvqgV&U**
oJ	J.	UOU[2vq�UO	V�2UOU	2[
U	2o
UOQU
2UOQU
2P!ttoh)c���[]
2Tt-tFDpU]*aJ	oo]o[U2FD,oUO2FDvqVV5U**
oJ	J.	U!ttohrL)r"�items)rFr(rr�r]�krs&      rr��FTestUopsOptimization.test_for_iter_direct_dict_items.<locals>.testfunc�s\��#(��9�-�9�a�A��E��9�A�-��E��1�X���G�G�I�D�A���U�N�E�&���L��.s�A$rjri)	r"r
r	rur�rgr6r�r�)rYr��expectedr(rr]r
rrQr0r�s&          r�test_for_iter_direct_dict_items�4TestUopsOptimization.test_for_iter_direct_dict_items�s���	���$�R�y�)�y�!��A��X�y��)���'�A����	�����E�!��"�(��*�*�8�_�E�������'����R� ��2����
�
�)�4�0����-�t�4��
*s�Cc��Qo[[[]
22*oUOU[2vq4UO	V22UOU2[
U2oUOQU2UOQU2P!)c��[]
2Tt-tFDpUaJ	oo]o[U2FD#oUO2FDoV5*
oJ
	J%	U!ttohrL)r"�keys)rFr(rr�r]r
s&     rr��ETestUopsOptimization.test_for_iter_direct_dict_keys.<locals>.testfunc�sR��$�R�y�)�y�!�A��y�A�)��E��1�X������A��J�E�"���L��*s�
Arjri�	r
r�r"rur�rgr6r�r��rYr�rrQr0r�s&     r�test_for_iter_direct_dict_keys�3TestUopsOptimization.test_for_iter_direct_dict_keys��t��	�#�S��r��^�3���*�*�8�_�E�������'����R� ��2����
�
�)�4�0����-�t�4rc�*�Qo[[Q[]
222*oUOU[2vq4UO	V22UOU2[
U2oUOQU2UOQU2P!)c��[]
2Tt-tFDpU]*aJ	oo]o[U2FD#oUO2FDoV5*
oJ
	J%	U!ttohrL)r"�values)rFr(rr�r]rs&     rr��GTestUopsOptimization.test_for_iter_direct_dict_values.<locals>.testfunc�sV��#(��9�-�9�a�A��E��9�A�-��E��1�X������A��J�E�$���L��.s�Ac3�>�SF �Dp]*w�	J	P!3hr^r�rEr(s& rrG�HTestUopsOptimization.test_for_iter_direct_dict_values.<locals>.<genexpr>�s��	���	�1�Q���	���rjrirrs&     r� test_for_iter_direct_dict_values�5TestUopsOptimization.test_for_iter_direct_dict_values�s{��	�#�S�(B��b�	�(B�%B�B���*�*�8�_�E�������'����R� ��2����
�
�)�4�0����-�t�4rc��Qo[[[]
22*oUOU[2vq4UO	V22UOU2[
U2oUOQU2UOQU2P!)c�~�[[]
22o]o[U2FDoSFDoV$*
oJ
	J	U!rLr)rF�sr�r]r
s&    rr��?TestUopsOptimization.test_for_iter_direct_set.<locals>.testfunc�s:���E�"�I��A��E��1�X���A��J�E����Lrrjrirrs&     r�test_for_iter_direct_set�-TestUopsOptimization.test_for_iter_direct_set�rrc��Qo[[[]
22*oUOU[2vq4UO	V22UOU2[
U2oUOQU2UOQU2P!)c��[[]
22o]o[U2FDo[U2FDoV$*
oJ
	J 	U!rL)r4r"�reversed)rF�lstr�r]r
s&    rr��DTestUopsOptimization.test_for_iter_direct_reversed.<locals>.testfuncs>���u�R�y�/�C��E��1�X��!�#��A��J�E�'���Lrrjrirrs&     r�test_for_iter_direct_reversed�2TestUopsOptimization.test_for_iter_direct_reversedrrc	�<�Qo[[Q[[]
2222*oUO	U[2vq4UOV22UO
U2[U2oUOQU2UOQU2P!)c��[[]
22o]o[U2FD'o[U2FDvqEV$U**
oJ	J)	U!rL)r4r"rS)rFr+r�r]r(r
s&     rr��ETestUopsOptimization.test_for_iter_direct_enumerate.<locals>.testfuncsD���u�R�y�/�C��E��1�X��%�c�N�D�A���U�N�E�+���Lrc3�B�SF �DvqV*w�	J	P!3hrr)rEr(r
s&  rrG�FTestUopsOptimization.test_for_iter_direct_enumerate.<locals>.<genexpr>s��;O���;O�4�1����;O�r�rjri)
r
r�rSr"rur�rgr6r�r�rs&     r�test_for_iter_direct_enumerate�3TestUopsOptimization.test_for_iter_direct_enumerates���	�#�S�(P�9�U�2�Y�;O�(P�%P�P���*�*�8�_�E�������'����R� ��2����
�
�)�4�0����-�t�4rc�R�Qo[[Q[[]
2[]
]2222*oUO	U[2vq4UOV22UO
U2[U2oUOQU2UOQU2P!)c���[[]
22o[[]
]22o]o[U2FD'o[V2FDvqVV5U**
oJ	J)	U!rL)r4r"�zip)rFr�r�r�r]r
rs&      rr��?TestUopsOptimization.test_for_iter_direct_zip.<locals>.testfunc'sT���U�2�Y��A��U�2�r�]�#�A��E��1�X����I�D�A���U�N�E�&���Lrc3�B�SF �DvqV*w�	J	P!3hrr)rEr
rs&  rrG�@TestUopsOptimization.test_for_iter_direct_zip.<locals>.<genexpr>0s��;X���;X�4�1����;X�r�rjri)
r
r�r8r"rur�rgr6r�r�rs&     r�test_for_iter_direct_zip�-TestUopsOptimization.test_for_iter_direct_zip&s���	�#�S�(Y�3�u�R�y�%�PR�TV�-�;X�(Y�%Y�Y���*�*�8�_�E�������'����R� ��2����
�
�)�4�0����-�t�4rc�Z�[O2Oo]o]o[Q2FD&oV"*QUQU]	*	*$V2*
oJ(	UO	[U2[2UO	[U2[2UOUQ2P!)rMr{�xag�@r�)ro�	_getframe�f_localsr"�assertIs�type�floatr�)rYr�r�r$rgs&    r�-test_modified_local_is_seen_by_optimized_code�BTestUopsOptimization.test_modified_local_is_seen_by_optimized_code8s~���M�M�O�$�$��
��
���w��A�
�E�!�A�d�1��6�l�O�
�F�A� �	
�
�
�d�1�g�u�%��
�
�d�1�g�u�%�����F�#rc��QoQQ2oUOV22vq4[[U22oUOU2UO	U[
]*2UO
Q2oUO	U]2P!)c��]o[[2FD'oVO*
oVO*
oJ)	U!r�r"r
�attr)r�r
r]s&  r�thing�CTestUopsOptimization.test_guard_type_version_removed.<locals>.thingE�3���A��?�+���V�V����V�V���,��Hrc��\sQsQs]sQsP!)�ATestUopsOptimization.test_guard_type_version_removed.<locals>.FooiLr�rrrrrJrrrr�FoorOL����DrrQ�_GUARD_TYPE_VERSION�rur4r2rgr�r
rU)rYrKrQrQr0�opnames�guard_type_version_counts&      r�test_guard_type_version_removed�4TestUopsOptimization.test_guard_type_version_removedDs|��	�	�	��*�*�5�#�%�8����|�B�'�(�����R� �����o��1�2�#*�=�=�1F�#G� ����1�1�5rc�*`�QnU1QkoQQ2oUOV22vq4[[U22oUOU2UO	U[
]*2UO
Q2oUO	U]2P!)zC
Verify that the guard type version if we have an inlined function
c��P!rrrrr�fn�HTestUopsOptimization.test_guard_type_version_removed_inlined.<locals>.fn[s��rc�:�]o[[2FD.oVO*
oR2VO*
oJ0	U!rrI)r�r
r]r[s&  �rrK�KTestUopsOptimization.test_guard_type_version_removed_inlined.<locals>.thing^s9����A��?�+���V�V������V�V���,��Hrc��\sQsQs]sQsP!)�ITestUopsOptimization.test_guard_type_version_removed_inlined.<locals>.FooifrrPrrrrQr`frRrrQrSrT)rYrKrQrQr0rUrVr[s&      @r�'test_guard_type_version_removed_inlined�<TestUopsOptimization.test_guard_type_version_removed_inlinedVs����
	�	�	�	��*�*�5�#�%�8����|�B�'�(�����R� �����o��1�2�#*�=�=�1F�#G� ����1�1�5rc��``	�UU	1QkoQQ2n	QQ2nUOUR	22vq#[[U22oUOU[]*]*2UOQ2oUOQ]U2oUOQU2oUOUPUO
Q2]2UOVEUO
Q2]2P!)	c��:�]o[[]*2FDKoVO*
o[RR1U[]*6H*Q]2VO*
oJM	U!)rrJ)r"r
rJ�setattr)r�r
r(�BarrQs&  ��rrK�PTestUopsOptimization.test_guard_type_version_removed_invalidation.<locals>.thingrsZ����A��?�Q�.�/���V�V���
��c�
�1��!�(;�#;�<�f�a�H��V�V���0��Hrc��\sQsQs]sQsP!)�NTestUopsOptimization.test_guard_type_version_removed_invalidation.<locals>.Fooi~rrPrrrrQri~rRrrQc��\sQsQsQsP!)�NTestUopsOptimization.test_guard_type_version_removed_invalidation.<locals>.Bari�rrrrrrfrk����rrf�_CALL_BUILTIN_FAST�_LOAD_CONST_INLINE_BORROWrS�_CHECK_VALIDITY)rur4r2r�r
�indexrU)
rYrKrQr0rU�call�
load_attr_top�load_attr_bottomrfrQs
&       @@r�,test_guard_type_version_removed_invalidation�ATestUopsOptimization.test_guard_type_version_removed_invalidationps����
	�	�	�	�	��*�*�5�#�%�8����|�B�'�(������o��1�A�5�6��}�}�1�2���
�
�&A�1�d�K�
�"�=�=�)D�d�K�������-�0�6�6�7L�M�q�Q�����&6�7�=�=�>O�P�RS�Trc���QoQQ2oUOV22vq4[[U22oUOU2UO	U[
]*2UO
Q2oUO
Q]U2oUO
QU2oUO	UPUOQ2]2UO	VVUOQ2]2P!)c��]o[[2FD2oVO*
o[Q2VO*
oJ4	U!)r�None)r"r
rJ�eval�r�r
r(s&  rrK�LTestUopsOptimization.test_guard_type_version_removed_escaping.<locals>.thing�s:���A��?�+���V�V����V���V�V���	,�
�Hrc��\sQsQs]sQsP!)�JTestUopsOptimization.test_guard_type_version_removed_escaping.<locals>.Fooi�rrPrrrrQr}�rRrrQ� _CALL_BUILTIN_FAST_WITH_KEYWORDSrnrSro)rur4r2rgr�r
rprU)	rYrKrQrQr0rUrqrrrss	&        r�(test_guard_type_version_removed_escaping�=TestUopsOptimization.test_guard_type_version_removed_escaping�s���	�	�	��*�*�5�#�%�8����|�B�'�(�����R� �����o��1�2��}�}�?�@���
�
�&A�1�d�K�
�"�=�=�)D�d�K�������-�0�6�6�7L�M�q�Q�����&6�7�=�=�>O�P�RS�Trc��QoQQ2oUOV22vq4UOU[]*2UOU2UO[	[U22O
Q2]2UOUO22]Um	UOUO22P!)z9
Verify that the executor is invalided on a type change.
c��]o[[2FD'oVO*
oVO*
oJ)	U!rrIrzs&  rrK�PTestUopsOptimization.test_guard_type_version_executor_invalidated.<locals>.thing�rMrc��\sQsQs]sQsP!)�NTestUopsOptimization.test_guard_type_version_executor_invalidated.<locals>.Fooi�rrPrrrrQr��rRrrQrS)rur�r
rgr4r2rUrTrUrJrX)rYrKrQrQr0s&    r�,test_guard_type_version_executor_invalidated�ATestUopsOptimization.test_guard_type_version_executor_invalidated�s���
	�	�	��*�*�5�#�%�8�������o��1�2����R� �����l�2�.�/�5�5�6K�L�a�P�������
�&�����������'rc��`�QQ2nU1QkoUOU[2vq#UOU2[[	U22oUOQ2oUO
U]2P!)z~
Verify that redundant _GUARD_TYPE_VERSION_LOCKED guards are
eliminated for sequential STORE_ATTR_INSTANCE_VALUE in __init__.
c�(`�\sQsQsnQsQsUsP!)�HTestUopsOptimization.test_guard_type_version_locked_removed.<locals>.Fooi�c�2�]Um]Um]UmP!r��r�r�rOr�s&rrZ�QTestUopsOptimization.test_guard_type_version_locked_removed.<locals>.Foo.__init__�s����������rr��rrrrrZrr�r�s@rrQr��s����
�
rrQc�>:�[U2FD
oR2J	P!rr)rFr]rQs& �rrK�JTestUopsOptimization.test_guard_type_version_locked_removed.<locals>.thing�s����1�X����r�_GUARD_TYPE_VERSION_LOCKED)rur
rgr4r2rUr�)rYrKrQr0rU�guard_locked_countrQs&     @r�&test_guard_type_version_locked_removed�;TestUopsOptimization.test_guard_type_version_locked_removed�sf���	�	�	��*�*�5�/�B������R� ��|�B�'�(��$�]�]�+G�H�����+�Q�/rc�<�QQ2oQoUU22P!)z]
Tests that setting a type version doesn't cause a segfault when later looking at the stack.
c�.`�\sQsQsnQsQsQsUsP!)�ATestUopsOptimization.test_type_version_doesnt_segfault.<locals>.Ai�c��-UmP!r�rJr�s&rrZ�JTestUopsOptimization.test_type_version_doesnt_segfault.<locals>.A.__init__�s	����	rc�&�PUOU$P!rr�)rYrts&&r�method�HTestUopsOptimization.test_type_version_doesnt_segfault.<locals>.A.method�s��!%��	�	�#�rr�)rrrrrZr�rr�r�s@r�Ar��s����
�
&�
&rr�c�n�[]d2FD#oQ,2QUOP2,2J%	P!)�dc3�0�SF �Dpw�	J		P!3hrr�rEr]s& rrG�UTestUopsOptimization.test_type_version_doesnt_segfault.<locals>.fn.<locals>.<genexpr>�s��B���B�q��B���c3�0�SF �Dpw�	J		P!3hrrr�s& rrGr��s��,���,�q��,�r�)r"r�)r�r]s& rr[�BTestUopsOptimization.test_type_version_doesnt_segfault.<locals>.fn�s*���3�Z���B��-�Q�X�X�d�^�,�-� rr)rYr�r[s&  r�!test_type_version_doesnt_segfault�6TestUopsOptimization.test_type_version_doesnt_segfault�s��	&�	&�	.�
	�1�3�rc��`�QQ2nU1QkoUOU[2vq#UOU2[U2oUO	QU2UOQU2P!)z�
_CHECK_AND_ALLOCATE_OBJECT should resolve __init__ to a constant,
enabling the optimizer to propagate type information through the frame
and eliminate redundant function version and arg count checks.
c�(`�\sQsQsnQsQsUsP!)�ATestUopsOptimization.test_init_resolves_callable.<locals>.MyPointi�c�H�[]2Um[]2UmP!r��r"r
r�rYr
rs&&&rrZ�JTestUopsOptimization.test_init_resolves_callable.<locals>.MyPoint.__init__�s���q�����q���rrr�r�s@r�MyPointr��s����
"�
"rr�c�B:�[U2FDoRQQ2oJ	P!rr)rFr]�pr�s&  �rr��BTestUopsOptimization.test_init_resolves_callable.<locals>.testfunc�s����1�X���C��%��rr6�_LOAD_GLOBAL_BUILTINSr�)rYr�r]r0r�r�s&    @r�test_init_resolves_callable�0TestUopsOptimization.test_init_resolves_callable�s^���	"�	"�	&��(�(��?�C������R� ��2����
�
�m�T�*����0�$�7rc��`�QQ2nU1QkoUOU[2vq#UOU2[UQ2oUO	U]2[UQ2oUO	U]2P!)c�(`�\sQsQsnQsQsUsP!)�>TestUopsOptimization.test_init_guards_removed.<locals>.MyPointic��P!rrr�s&&&rrZ�GTestUopsOptimization.test_init_guards_removed.<locals>.MyPoint.__init__���rrr�r�s@rr�r�s����
�
rr�c�X:�Ro[U2FDoUQQ2oUQQ2oJ	P!rr)rF�point_localr]r�r�s&   �rr��?TestUopsOptimization.test_init_guards_removed.<locals>.testfuncs.���!�K��1�X����S�)����S�)��r�_CREATE_INIT_FRAME�
_CHECK_OBJECT�rur
rgr>r�)rYr�r]r0rUr�s&    @r�test_init_guards_removed�-TestUopsOptimization.test_init_guards_removedso���	�	�	*��(�(��?�C������R� ��"�2�3�������"��"�o�.�������"rc���QoUOU[2vq#UOU2[UQ2oUO	U]2[UQ2oUO	U]2P!)c�^�[U2FDo[QQ2o[QQ2oJ	P!r)r"�
MyGlobalPoint)rFr]r�s&  rr��FTestUopsOptimization.test_init_guards_removed_global.<locals>.testfuncs(���1�X��!�#�s�+��!�#�s�+��rr�r�r�)rYr�r]r0rUs&    r�test_init_guards_removed_global�4TestUopsOptimization.test_init_guards_removed_globalsd��	,�
�(�(��?�C������R� ��"�2�3�������"��"�o�.�������"rc�t`�QQ2nU1QkoUOU[2vq#UOU[]U*2UOU2[	U2oUOUOQ2]2UOUOQ2]2UO
QU2P!)zy
_GUARD_TYPE_VERSION_LOCKED should set the type version on the
symbol so repeated accesses to the same type can benefit.
c�4`�\sQsQsnQsQsQsQsUsP!)�LTestUopsOptimization.test_guard_type_version_locked_propagates.<locals>.Itemi)c��VmP!r��val�rYr�s&&rrZ�UTestUopsOptimization.test_guard_type_version_locked_propagates.<locals>.Item.__init__*����rc��UO!rr�r�s&r�get�PTestUopsOptimization.test_guard_type_version_locked_propagates.<locals>.Item.get-s���x�x�rc�*�UO]*!r�r�r�s&r�get2�QTestUopsOptimization.test_guard_type_version_locked_propagates.<locals>.Item.get20s���x�x�!�|�#rr�)	rrrrrZr�r�rr�r�s@r�Itemr�)s����
�
 �
$�
$rr�c�:�R]*2o]o[U2FD.oV!O2UO2**
oJ0	U!��*)r"r�r�)rFr1r�r]r�s&   �rr��PTestUopsOptimization.test_guard_type_version_locked_propagates.<locals>.testfunc3sA�����8�D��E��1�X������d�i�i�k�1�1����Lrr6rS�_CHECK_FUNCTION_VERSION)rur
r�rgr6rUr�)rYr�rQr0r�r�s&    @r�)test_guard_type_version_locked_propagates�>TestUopsOptimization.test_guard_type_version_locked_propagates$s����
	$�	$�	��*�*�8�_�E�������o��9�:����R� ��2���������M�2�A�6�������$9�:�A�>��
�
�/��6rc�X`�QQ2nU1QkoUOU[2vq#UOU[]*2UOU2[	U2oUOQ2oUOU]2UOQ2oUOU]2P!)u�
Calling two methods on the same object should share the outer
type guard — only one _GUARD_TYPE_VERSION for the two lookups.
c�.`�\sQsQsnQsQsQsUsP!)�FTestUopsOptimization.test_method_chain_guard_elimination.<locals>.CalciLc��VmP!rr�r�s&&rrZ�OTestUopsOptimization.test_method_chain_guard_elimination.<locals>.Calc.__init__Mr�rc�:�U9OU*
tmU!rr��rYr
s&&r�add�JTestUopsOptimization.test_method_chain_guard_elimination.<locals>.Calc.addPs�����A�
���rr�)rrrrrZr�rr�r�s@r�Calcr�Ls����
�
�
rr�c�:�R]2o[U2FD#oUO]2O]2J%	UO!r)r"r�r�)rFrOr]r�s&  �rr��JTestUopsOptimization.test_method_chain_guard_elimination.<locals>.testfuncTs6����Q��A��1�X�����a����Q����5�5�Lrr6rS�rur
r�rgr6rU)rYr�rQr0r��
push_count�guard_version_countr�s&      @r�#test_method_chain_guard_elimination�8TestUopsOptimization.test_method_chain_guard_eliminationGs����
	�	�	��*�*�8�_�E�������o��1�2����R� ��2����Z�Z�
�.�
�����Q�'�#�j�j�)>�?�����,�a�0rc���QoU[2[U2oUOU2[U2oUO	QU2UO	QU2UOQU2P!)c�D�[U2FDo[U2J	P!r�r"�global_identityr�s& rr��JTestUopsOptimization.test_func_guards_removed_or_reduced.<locals>.testfuncgs���1�X����"�rr6r��_CHECK_FUNCTION_EXACT_ARGS)r
r)rgr6r�r�r�s&   r�#test_func_guards_removed_or_reduced�8TestUopsOptimization.test_func_guards_removed_or_reducedfs`��	#�
	��!�
��
)�����R� ��2����
�
�m�T�*��
�
�/��6����5�t�<rc�2�QoUOU[2vq#UOU[[	[222UOU2[
U2oUOQU2UOQU2UOQU2P!)c�V�]o[U2FDoU[U2*
oJ	U!r)r"�test_bound_method)rFr�r(s&  rr��LTestUopsOptimization.test_method_guards_removed_or_reduced.<locals>.testfuncws*���F��1�X���+�A�.�.����Mrr6�_CHECK_FUNCTION_VERSION_INLINE�_CHECK_METHOD_VERSION�	rur
r�r�r"rgr6r�r�r�s&    r�%test_method_guards_removed_or_reduced�:TestUopsOptimization.test_method_guards_removed_or_reducedvs|��	�
�*�*�8�_�E�������c�%��"8�9�:����R� ��2����
�
�m�T�*��
�
�6��=����0�$�7rc	�`�QQ2nU1QkoUOU[2vq#UOU[Q[	[2222UOU2[
U2oUOQU2P!)c�(`�\sQsQsnQsQsUsP!)�FTestUopsOptimization.test_record_bound_method_general.<locals>.MyClassi�c�$�U]*]*!rr�rYr<s&*rr��MTestUopsOptimization.test_record_bound_method_general.<locals>.MyClass.method�s���A�w��{�"rr�rrrrr�rr�r�s@r�MyClassr�s����
#�
#rrc�v:�R2oUOo]o[U2FDoV2U2*
oJ	U!r�r�r"�rFr`�boundr�r(rs&    �rr��GTestUopsOptimization.test_record_bound_method_general.<locals>.testfunc��9����)�C��J�J�E��F��1�X���%��(�"����Mrc3�>�SF �Dp]*w�	J	P!3hr�rrs& rrG�HTestUopsOptimization.test_record_bound_method_general.<locals>.<genexpr>����$:���$:�q��U�U�$:�rr6)rur
r�r�r"rgr6r��rYr�rQr0r�rs&    @r� test_record_bound_method_general�5TestUopsOptimization.test_record_bound_method_general�sr���	#�	#�	��*�*�8�_�E��������;�E�/�$:�;�;�	
�	
���R� ��2����
�
�m�T�*rc	�6`�QQ2nU1QkoUOU[2vq#UOU[Q[	[2222UOU2[
U2oUOQU2UOQU2P!)c�(`�\sQsQsnQsQsUsP!)�ITestUopsOptimization.test_record_bound_method_exact_args.<locals>.MyClassi�c��U]*!r�rr�s&&rr��PTestUopsOptimization.test_record_bound_method_exact_args.<locals>.MyClass.method�s���1�u�rrr
r�s@rrr�s����
�
rrc�v:�R2oUOo]o[U2FDoV2U2*
oJ	U!rr
rs&    �rr��JTestUopsOptimization.test_record_bound_method_exact_args.<locals>.testfunc�rrc3�>�SF �Dp]*w�	J	P!3hr�rrs& rrG�KTestUopsOptimization.test_record_bound_method_exact_args.<locals>.<genexpr>�rrr6r�rrs&    @r�#test_record_bound_method_exact_args�8TestUopsOptimization.test_record_bound_method_exact_args�s����	�	�	��*�*�8�_�E��������;�E�/�$:�;�;�	
�	
���R� ��2����
�
�m�T�*����5�t�<rc���]P,*,,*oUO[29^tt^2STt.tFDp"jJ	oPPP2P!ttoh)%fhP!9h)zG
Tests that the correct number of pops are inserted into the
exit stub
)r'�	TypeError)rYr	r1s&  r�test_jit_error_pops�(TestUopsOptimization.test_jit_error_pops�sP��
�d�V��r�d�"��
�
�
�y�
)�
)�#�$�e�d�T�e�$�*�
)��$�*�
)�
)�s"�A�A
�A�
A�A#	�A#	c	�N�[OQ2o,QNo[OU]Q5FDXvvq4vqVUO	V4VVQ5oUOV4VVQ59^tt^2[OQU2PPP2JZ	P!)%fhJo9h)a�
            import _testinternalcapi

            L, R, X, Y = {l}, {r}, {x}, {y}

            def check(actual: complex, expected: complex) -> None:
                assert actual == expected, (actual, expected)
                assert type(actual) is type(expected), (actual, expected)

            def f(l: complex, r: complex) -> None:
                expected_local_local = pow(l, r) + pow(l, r)
                expected_const_local = pow(L, r) + pow(L, r)
                expected_local_const = pow(l, R) + pow(l, R)
                expected_const_const = pow(L, R) + pow(L, R)
                for _ in range(_testinternalcapi.TIER2_THRESHOLD):
                    # Narrow types:
                    l + l, r + r
                    # The powers produce results, and the addition is unguarded:
                    check(l ** r + l ** r, expected_local_local)
                    check(L ** r + L ** r, expected_const_local)
                    check(l ** R + l ** R, expected_local_const)
                    check(L ** R + L ** R, expected_const_const)

            # JIT for one pair of values...
            f(L, R)
            # ...then run with another:
            f(X, Y)
        )�repeat)r�rNr
rr�))rMrM)rM���)r{rM)rMr{)r)��?)r{r{)g�r*)rPrQ�	itertools�product�format�subTestr�assert_python_ok)rY�template�interestingr�rNr
rr$s&       r�'test_power_type_depends_on_input_values�<TestUopsOptimization.test_power_type_depends_on_input_values�s����?�?�$�
��8
��(�/�/��A�F�F�N�F�Q�F�Q����!�A��3�A�����!��1�1��.�.�t�Q�7�2�1�G�1�1�1�s�-B	�B$
�B$
c��QoUOU[2vq#UOU]2UOU2[	U2oUOQU2UOQU2UOQU2P!)c�T�[U2FDo]o]oV#1oUvqVVV*oJ	W!r�r)rFr]r�r�rr
rrNs&       rr��GTestUopsOptimization.test_symbols_flow_through_tuples.<locals>.testfunc�s6���1�X�������D������E����Hrr�r}r|r�r�s&    r� test_symbols_flow_through_tuples�5TestUopsOptimization.test_symbols_flow_through_tuples�sw��	��*�*�8�_�E�������a� ����R� ��2������-�t�4����)�4�0����)�4�0rc�8`�QQ2nU1QkoU2P!)c�(`�\sQsQsnQsQsUsP!)�CTestUopsOptimization.test_decref_escapes.<locals>.Convert9999ToNonei�c��[O]2OoUQ*[O6XcPUQ$P!P!)rMr()ror@rArr
)rYrZs& r�__del__�KTestUopsOptimization.test_decref_escapes.<locals>.Convert9999ToNone.__del__�s8���]�]�1�%�.�.���c�7�/�?�?�?�"�B�s�G�@rr)rrrrr=rr�r�s@r�Convert9999ToNoner;�s����
#�
#rr?c�:�[[O]*2FDoR2oV*PoV*J	P![cP!h9hr�)r"rr
r$)r(rFr?s  �r�crash_addition�@TestUopsOptimization.test_decref_escapes.<locals>.crash_addition�sQ���
��0�@�@�1�D�E�A�)�+�A��E��A��E�E�	F��
�
��
�s�AA�	A�A�Ar)rYrAr?s& @r�test_decref_escapes�(TestUopsOptimization.test_decref_escapes�s���	#�	#�	�	�rc���QoUOU[2vq#UOU[Q2[*2UO	U2[U2oUOUO
UO2]2UOUO
UO2]2UOUO
Q2[Q22P!)c��,o[U2FD�oU[6HoUOQ2U%ffUOQ2U%fUOQ2UOQ2U%cUOQ2UOQ2UOQ2U%cUOQ2UOQ2J�	U!)r��B�C�D�X�E�F�G�r"r
r+)rF�tracer(�falses&   rrI�GTestUopsOptimization.test_narrow_type_to_constant_bool_false.<locals>.f
s����E��1�X���_�,�����S�!���L�L��%� ����S�)��L�L��%�����S�)��L�L��%����S�!���L�L��%����S�!�� �Lr�ABCDEFG�_CALL_LIST_APPEND�
rur
r�r4rgr6rUr�r�r#�rYrIrOr0r�s&    r�'test_narrow_type_to_constant_bool_false�<TestUopsOptimization.test_narrow_type_to_constant_bool_false	���	�(�,�,�Q��@�	�������Y��/� A�B����R� ��2���������D�$7�$7�8�!�<�������D�$6�$6�7��;�������$7�8�#�i�.�Irc���QoUOU[2vq#UOU[Q2[*2UO	U2[U2oUOUO
UO2]2UOUO
UO2]2UOUO
Q2[Q22P!)c��,o[U2FD�oU[6goUOQ2U%cfUOQ2U%fUOQ2UOQ2U%cUOQ2UOQ2UOQ2U%fUOQ2UOQ2J�	U!)r�rGrJrHrIrKrLrMrN)rFrOr(�trues&   rrI�FTestUopsOptimization.test_narrow_type_to_constant_bool_true.<locals>.f)s����E��1�X���O�+�����S�!���L�L��%�����S�)��L�L��%�����S�)��L�L��%����S�!���L�L��%����S�!�� �LrrRrSrTrUs&    r�&test_narrow_type_to_constant_bool_true�;TestUopsOptimization.test_narrow_type_to_constant_bool_true(rXrc���QoUOU[2vq#UOU[Q2[*2UO	U2[U2oUOUO
UO2]2UOUO
UO2]2UOUO
Q2[Q22P!)c���,o[U2FD�oU[6HoU]*oUOQ2U%ffUOQ2U%fUOQ2UOQ2U%cUOQ2UOQ2UOQ2U%cUOQ2UOQ2J�	U!)	rr�rGrHrIrJrKrLrMrN)rFrOr(rP�zeros&    rrI�ETestUopsOptimization.test_narrow_type_to_constant_int_zero.<locals>.fHs����E��1�X���_�,���q�y�����S�!���L�L��%�����S�)��L�L��%�����S�)��L�L��%����S�!���L�L��%����S�!�!�"�LrrRrSrTrUs&    r�%test_narrow_type_to_constant_int_zero�:TestUopsOptimization.test_narrow_type_to_constant_int_zeroGs���	�*�,�,�Q��@�	�������Y��/� A�B����R� ��2���������D�$7�$7�8�!�<�������D�$6�$6�7��;�������$7�8�#�i�.�Irc���QoUOU[2vq#UOU[Q2[*2UO	U2[U2oUOUO
UO2]2UOUO
UO2]2UOUO
Q2[Q22P!)c��,o[U2FD�oU[6HoQPUoUOQ2U%ffUOQ2U%fUOQ2UOQ2U%cUOQ2UOQ2UOQ2U%cUOQ2UOQ2J�	U!)rJr�rGrHrIrKrLrMrN)rFrOr(rP�emptys&    rrI�FTestUopsOptimization.test_narrow_type_to_constant_str_empty.<locals>.fhs����E��1�X���_�,���F�U������S�!���L�L��%� ����S�)��L�L��%�����S�)��L�L��%����S�!���L�L��%����S�!�#�$�LrrRrSrTrUs&    r�&test_narrow_type_to_constant_str_empty�;TestUopsOptimization.test_narrow_type_to_constant_str_emptygs���	�,�,�,�Q��@�	�������Y��/� A�B����R� ��2���������D�$7�$7�8�!�<�������D�$6�$6�7��;�������$7�8�#�i�.�Irc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2P!)c�`�]o[U2FDo]oU'oU]6fJU]*
oJ	U!rr�rFr
r(r�r�s&    rr��[TestUopsOptimization.test_unary_negative_pop_top_load_const_inline_borrow.<locals>.testfunc��8���A��1�X��������A�:���F�A�	�
�Hr�_UNARY_NEGATIVEr�r�s&    r�4test_unary_negative_pop_top_load_const_inline_borrow�ITestUopsOptimization.test_unary_negative_pop_top_load_const_inline_borrow�sU��	��*�*�8�_�E�������o�.����R� ��2������*�D�1rc��QoUOU[2vq#UOU]2UOU2[	U2oUOQU2P!)c�j�]o[U2FDo]*oU%(oU%fJU]*
oJ!	U!rrrms&    rr��VTestUopsOptimization.test_unary_not_pop_top_load_const_inline_borrow.<locals>.testfunc�s6�����q��A��A�!"�U�F��v��Q���	"�
�r�
_UNARY_NOTr�r�s&    r�/test_unary_not_pop_top_load_const_inline_borrow�DTestUopsOptimization.test_unary_not_pop_top_load_const_inline_borrow�sT��	��*�*�8�_�E�������a� ����R� ��2�������t�,rc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2P!)c�`�]o[U2FDo]oU&oU]6fJU]*
oJ	U!rrrms&    rr��ZTestUopsOptimization.test_unary_invert_insert_1_load_const_inline_borrow.<locals>.testfunc�ror�
_UNARY_INVERTrn�rur
r�rgr6r�r�r�s&    r�3test_unary_invert_insert_1_load_const_inline_borrow�HTestUopsOptimization.test_unary_invert_insert_1_load_const_inline_borrow�sc��	��*�*�8�_�E�������o�.����R� ��2�������$�/��
�
�1�4�8rc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2P!)c�\�]o[U2FDo]
oQoV46XfJU]*
oJ	U!)r�$@r�rFr
r]r�r�s&    rr��WTestUopsOptimization.test_compare_op_pop_two_load_const_inline_borrow.<locals>.testfunc�s4���A��1�X�������6���F�A�	�
�Hr�_COMPARE_OPr�r�s&    r�0test_compare_op_pop_two_load_const_inline_borrow�ETestUopsOptimization.test_compare_op_pop_two_load_const_inline_borrow�sT��	��*�*�8�_�E�������o�.����R� ��2��������-rc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2P!)c�\�]o[U2FDo]
o]
oV46XfJU]*
oJ	U!rrr�s&    rr��^TestUopsOptimization.test_compare_op_int_insert_two_load_const_inline_borrow.<locals>.testfunc�s4���A��1�X�������6���F�A�	�
�Hrr	rnr}r�s&    r�7test_compare_op_int_insert_two_load_const_inline_borrow�LTestUopsOptimization.test_compare_op_int_insert_two_load_const_inline_borrow��d��	��*�*�8�_�E�������o�.����R� ��2������*�D�1��
�
�1�4�8rc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2P!)c�\�]o[U2FDoQoQoV46XfJU]*
oJ	U!�r�foorr�s&    rr��^TestUopsOptimization.test_compare_op_str_insert_two_load_const_inline_borrow.<locals>.testfunc�s4���A��1�X�������6���F�A�	�
�Hrrrnr}r�s&    r�7test_compare_op_str_insert_two_load_const_inline_borrow�LTestUopsOptimization.test_compare_op_str_insert_two_load_const_inline_borrow�r�rc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2P!)c�\�]o[U2FDoQoQoV46XfJU]*
oJ	U!)rr{rr�s&    rr��`TestUopsOptimization.test_compare_op_float_insert_two_load_const_inline_borrow.<locals>.testfunc�s4���A��1�X�������6���F�A�	�
�Hrrrnr}r�s&    r�9test_compare_op_float_insert_two_load_const_inline_borrow�NTestUopsOptimization.test_compare_op_float_insert_two_load_const_inline_borrow�sd��	��*�*�8�_�E�������o�.����R� ��2������,�d�3��
�
�1�4�8rc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2P!)c�\�]o[U2FDoQoQoV47fJU]*
oJ	U!)rr�zfoo bar bazr)rFr
r]r�r$s&    rr��XTestUopsOptimization.test_contains_op_pop_two_load_const_inline_borrow.<locals>.testfunc	s4���A��1�X����!���6���F�A�	�
�Hr�_CONTAINS_OPr�r�s&    r�1test_contains_op_pop_two_load_const_inline_borrow�FTestUopsOptimization.test_contains_op_pop_two_load_const_inline_borrow	sT��	��*�*�8�_�E�������o�.����R� ��2��������.rc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2P!)z]
Test that _TO_BOOL_BOOL is removed from code like:

res = foo in some_set
if res:
    ....

c�l�]o.Qlo[U2FDo]oVB7oU%fJU]*
oJ	U!�r�rMrLrKr)rFr
r$r]r��in_sets&     rr��HTestUopsOptimization.test_to_bool_bool_contains_op_set.<locals>.testfunc	s;���A��A��1�X��������6���F�A�	�
�Hr�_CONTAINS_OP_SET�
_TO_BOOL_BOOL�rur
r�rgr6r�r�r�s&    r�!test_to_bool_bool_contains_op_set�6TestUopsOptimization.test_to_bool_bool_contains_op_set	sc��	��*�*�8�_�E�������o�.����R� ��2����
�
�(�$�/�����$�/rc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2P!)z^
Test that _TO_BOOL_BOOL is removed from code like:

res = foo in some_dict
if res:
    ....

c�t�]o]]]]]]-o[U2FDo]oVB7oU%fJU]*
oJ	U!rr)rFr
r$r]r��in_dicts&     rr��ITestUopsOptimization.test_to_bool_bool_contains_op_dict.<locals>.testfunc4	sH���A��A�q�!�Q��"�A��1�X�����&���7���F�A�	�
�Hr�_CONTAINS_OP_DICTr�r�r�s&    r�"test_to_bool_bool_contains_op_dict�7TestUopsOptimization.test_to_bool_bool_contains_op_dict+	sc��	��*�*�8�_�E�������o�.����R� ��2����
�
�)�4�0�����$�/rc���QoUOU[2vq#UOU]2UOU2[	U2oUOQU2UO
QU2P!)c�b�[U2FDoU[6HoQPUoU%fJ]!	]!�rJrl�rFr(rPrgs&   rrI�DTestUopsOptimization.test_remove_guard_for_known_type_str.<locals>.fF	�2���1�X���_�,���F�U����5��	�
r�_TO_BOOL_STRr�r�r's&    r�$test_remove_guard_for_known_type_str�9TestUopsOptimization.test_remove_guard_for_known_type_strE	sc��	��*�*�1�o�>�������a� ����R� ��2����
�
�n�d�+����-�t�4rc�h�QoUOU[2vq#UOU[2UOU2[	U2oUOUOQ2]2UOUOQ2]2UOUOQ2]2P!)c�^�]o[U2FDo-o]UQ$VQ**
oJ	U!)r�Spamr)rFr
r]rs&   rrI�ETestUopsOptimization.test_remove_guard_for_known_type_dict.<locals>.fV	s5���A��1�X������&�	��v�Y�����Hr�_GUARD_NOS_DICT_SUBSCRIPT�_GUARD_NOS_DICT_STORE_SUBSCRIPT�!_BINARY_OP_SUBSCR_DICT_KNOWN_HASHr�r's&    r�%test_remove_guard_for_known_type_dict�:TestUopsOptimization.test_remove_guard_for_known_type_dictU	s���	��*�*�1�o�>�������o�.����R� ��2���������$?�@�!�D�������$E�F��J�������$G�H�!�Lrc�`�]PHnU1QkoUOU[2vq#UOU[2UO	U2[U2oUOUO
Q2]2UOUO
Q2]2UOUO
Q2]2UOUO
Q2]2UOUO
Q2]2P!)rc�:�]oRO[2o[U2FDo]UQ$VQ**
oJ	U!)r�key)�defaultdict�intr"�rFr
rr]�collectionss&   �rrI�9TestUopsOptimization.test_dict_subclass_subscr.<locals>.fi	sA����A��'�'��,�A��1�X����%���u�X�
����Hrr��_STORE_SUBSCR_DICT_KNOWN_HASHr�r��_GUARD_TYPE)r�rur
r�rgr6rU)rYrIrQr0r�r�s&    @r�test_dict_subclass_subscr�.TestUopsOptimization.test_dict_subclass_subscrf	s�����	��*�*�1�o�>�������o�.����R� ��2���������$G�H�!�L�������$C�D�a�H�������$?�@�!�D�������$E�F��J�������M�2�A�6rc�`�QQ[2nU1QkoUOU[2vq#UOU]*[*2UO	U2[U2oUOUO
Q2]2P!)c�(`�\sQsQsnQsQsUsP!)�LTestUopsOptimization.test_dict_subclass_subscr_with_override.<locals>.MyDicti|	c��]*!r�r)rYr�s&&r�__getitem__�XTestUopsOptimization.test_dict_subclass_subscr_with_override.<locals>.MyDict.__getitem__}	���rr�rrrrr�rr�r�s@r�MyDictr�|	s����
�
rr�c�`:�R2o]o[U2FDoV!Q**
oJ	U!)r�anythingr)rFrr
r]r�s&   �rrI�GTestUopsOptimization.test_dict_subclass_subscr_with_override.<locals>.f�	s.�����A��A��1�X���z�]�"����Hr�_BINARY_OP_SUBSCR_INIT_CALL)�dictrur
r�rgr6rU)rYrIrQr0r�r�s&    @r�'test_dict_subclass_subscr_with_override�<TestUopsOptimization.test_dict_subclass_subscr_with_override{	sp���	�T�	�	��*�*�1�o�>�������b�?�2�3����R� ��2���������$A�B�A�Frc�<�QoUOU[2vq#UOU][*2UOU2[	U2oUOUOQ2]2UOUOQ2]2UOUOQ2]2UOUOQ2]2UOUOQ2]2UOUOQ2]2P!)c��]o[U2FD1o],o]U]$UvoU]*oU%fJ"VU**
oJ3	U!rr)rFr
r]r�r�r�s&     rrI�ETestUopsOptimization.test_remove_guard_for_known_type_list.<locals>.f�	sL���A��1�X���C����!������a�D���1��Q��J�A�
��Hr�_GUARD_NOS_LIST�_STORE_SUBSCR_LIST_INT�_GUARD_TOS_LIST�_UNPACK_SEQUENCE_LIST�_BINARY_OP_SUBSCR_LIST_INT�
_TO_BOOL_LISTr�r's&    r�%test_remove_guard_for_known_type_list�:TestUopsOptimization.test_remove_guard_for_known_type_list�	s���		��*�*�1�o�>�������a�/�1�2����R� ��2���������$5�6��:�������$<�=�q�A�������$5�6��:�������$;�<�a�@�������$@�A�1�E�������O�4�a�8rc��QoUOU[2vq#UOU[]*2UOU2[	U2oUOQU2UOQU2UO
QU2P!)c��Qo]o[U2FD+oU]2vqEqgV$U*U*U**
oJ-	U!)c��VV1!rrr/s&r�
four_tuple�LTestUopsOptimization.test_unique_tuple_unpack.<locals>.f.<locals>.four_tuple�	����a�|�#rr)rFr�r$r(rnr
rr�s&       rrI�8TestUopsOptimization.test_unique_tuple_unpack.<locals>.f�	sB��
$��D��1�X��'��]�
��a��A���	�A�
�%����Kr�_BUILD_TUPLE�_UNPACK_SEQUENCE_UNIQUE_TUPLE�_UNPACK_SEQUENCE_TUPLEr�r's&    r�test_unique_tuple_unpack�-TestUopsOptimization.test_unique_tuple_unpack�	sw��	��*�*�1�o�>�������o��1�2����R� ��2����
�
�n�d�+��
�
�5�t�<����1�4�8rc��QoUOU[2vq#UOU[]*2UOU2[	U2oUOQU2UOQU2UO
QU2P!)c��Qo]o[U2FD-oU]2oUvqVqxV%U*U*U**
oJ/	U!)c��VV1!rrr/s&rr��PTestUopsOptimization.test_non_unique_tuple_unpack.<locals>.f.<locals>.four_tuple�	r�rr)	rFr�r$r(rrnr
rr�s	&        rrI�<TestUopsOptimization.test_non_unique_tuple_unpack.<locals>.f�	sG��
$��D��1�X���q�M���
��a��A���	�A�
�%����Krr�r�r�r�r's&    r�test_non_unique_tuple_unpack�1TestUopsOptimization.test_non_unique_tuple_unpack�	sw��	��*�*�1�o�>�������o��1�2����R� ��2����
�
�n�d�+��
�
�.��5����8�$�?rc��QoUOU[2vq#UOU[]*2UOU2[	U2oUOQU2UOQU2UO
QU2P!)c�z�Qo]o[U2FD$oU]2vqEoV$U*U**
oJ&	U!)c��VU1!rrr/s&r�three_tuple�STestUopsOptimization.test_unique_three_tuple_unpack.<locals>.f.<locals>.three_tuple�	����a�y� rr)rFrr$r(r
rr�s&      rrI�>TestUopsOptimization.test_unique_three_tuple_unpack.<locals>.f�	s>��
!��D��1�X��%�a�.���a��A���	�!����Krr��#_UNPACK_SEQUENCE_UNIQUE_THREE_TUPLEr�r�r's&    r�test_unique_three_tuple_unpack�3TestUopsOptimization.test_unique_three_tuple_unpack�	sw��	��*�*�1�o�>�������o��1�2����R� ��2����
�
�n�d�+��
�
�;�T�B����1�4�8rc��QoUOU[2vq#UOU[]*2UOU2[	U2oUOQU2UOQU2UO
QU2P!)c�~�Qo]o[U2FD&oU]2oUvqVoV%U*U**
oJ(	U!)c��VU1!rrr/s&rr�WTestUopsOptimization.test_non_unique_three_tuple_unpack.<locals>.f.<locals>.three_tuple�	rrr)rFrr$r(rr
rr�s&       rrI�BTestUopsOptimization.test_non_unique_three_tuple_unpack.<locals>.f�	sC��
!��D��1�X����N�����a��A���	�!����Krr�r�rr�r's&    r�"test_non_unique_three_tuple_unpack�7TestUopsOptimization.test_non_unique_three_tuple_unpack�	sw��	��*�*�1�o�>�������o��1�2����R� ��2����
�
�n�d�+��
�
�.��5����>��Erc�@�QoUOU[2vq#UOU[]*2UOU2[	U2oUOQU2UOQU2UO
QU2UO
QU2P!)c�j�Qo]o[U2FDoU]2vqEV$U**
oJ	U!)c�
�V1!rrr/s&r�	two_tuple�OTestUopsOptimization.test_unique_two_tuple_unpack.<locals>.f.<locals>.two_tuple�	�	���v�
rr)rFrr$r(r
rs&     rrI�<TestUopsOptimization.test_unique_two_tuple_unpack.<locals>.f�	s7��
��D��1�X�� ��|����A��
����Krr��!_UNPACK_SEQUENCE_UNIQUE_TWO_TUPLE�_UNPACK_SEQUENCE_TWO_TUPLEr�r�r's&    r�test_unique_two_tuple_unpack�1TestUopsOptimization.test_unique_two_tuple_unpack�	s���	��*�*�1�o�>�������o��1�2����R� ��2����
�
�n�d�+��
�
�9�4�@����5�t�<����1�4�8rc�@�QoUOU[2vq#UOU[]*2UOU2[	U2oUOQU2UOQU2UO
QU2UO
QU2P!)c�n�Qo]o[U2FDoU]2oUvqVV%U**
oJ 	U!)c�
�V1!rrr/s&rr�STestUopsOptimization.test_non_unique_two_tuple_unpack.<locals>.f.<locals>.two_tuple
rrr)rFrr$r(�ttr
rs&      rrI�@TestUopsOptimization.test_non_unique_two_tuple_unpack.<locals>.f
s<��
��D��1�X���q�\������A��
����Krr�rr�rr�r's&    r� test_non_unique_two_tuple_unpack�5TestUopsOptimization.test_non_unique_two_tuple_unpack
s���	��*�*�1�o�>�������o��1�2����R� ��2����
�
�n�d�+��
�
�2�D�9����1�4�8����<�d�Crc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2P!)c�J�]o[U2FDoUQQ7*
oJ	U!)rr�>r�r�rFr
r]s&  rrI�DTestUopsOptimization.test_remove_guard_for_known_type_set.<locals>.f
s)���A��1�X���V�x�'�'����Hr�_GUARD_TOS_ANY_SETrnr}r's&    r�$test_remove_guard_for_known_type_set�9TestUopsOptimization.test_remove_guard_for_known_type_set
sd��	��*�*�1�o�>�������o�.����R� ��2������-�t�4��
�
�1�4�8rc�d�QoUOU[2vq#UOU]
[*2UOU2[	U2oUOQU2UO
QU2UO
QU2UOQU2UO
QU2P!)c��]o[U2FD2oQoUvqEvqgU]*oVU*U*U**
oJ4	U!)r)rMrL)rK)rJr)	rFr
r]r�t_0�t_1�t_2_0�t_2_1�t_2_1_0s	&        rrI�FTestUopsOptimization.test_remove_guard_for_known_type_tuple.<locals>.f+
sL���A��1�X��%��+,�(��.�5���(���3�Y��&��0�0��	�
�Hr�_GUARD_TOS_TUPLEr�r�_GUARD_NOS_TUPLE�_BINARY_OP_SUBSCR_TUPLE_INTr}r's&    r�&test_remove_guard_for_known_type_tuple�;TestUopsOptimization.test_remove_guard_for_known_type_tuple*
s���	��*�*�1�o�>�������b�?�2�3����R� ��2������+�T�2��
�
�.��5��
�
�2�D�9����+�T�2��
�
�3�T�:rc���QoUOU[2vq#UOU[]*2[U2o[	UQ2oUOU]2UOQU2P!)c��]o[U2FD?o,QNo[]]2oVU*]**
oVU*]**
oJA	U!�rr%)r"�slice)rFr
r]r��	slice_objs&    rrI�FTestUopsOptimization.test_remove_guard_for_known_type_slice.<locals>.f?
sL���A��1�X����!�!�Q�K�	��y�\�!�_�$���y�\�!�_�$��	�
�Hr�_GUARD_TOS_SLICEr�)rur
r�r6r>r�)rYrIrQr0r�rUs&     r�&test_remove_guard_for_known_type_slice�;TestUopsOptimization.test_remove_guard_for_known_type_slice>
sg��	��*�*�1�o�>�������o��1�2��2����"�0�1�������"��
�
�2�D�9rc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2P!)c�T�]o[U2FDoQoV]**
oJ	U!r8r�rFr
r]rs&   rrI�HTestUopsOptimization.test_remove_guard_for_tuple_bounds_check.<locals>.fP
s,���A��1�X�����q�T�	����Hr�(_GUARD_BINARY_OP_SUBSCR_TUPLE_INT_BOUNDSr3r}r's&    r�(test_remove_guard_for_tuple_bounds_check�=TestUopsOptimization.test_remove_guard_for_tuple_bounds_checkO
sd��	��*�*�1�o�>�������o�.����R� ��2������C�T�J��
�
�3�T�:rc��QoUOU[2vq#UOUQ,[*2UOU2[	U2oUOQU2UO
QU2UOQU2P!)c�|�,oQo[U2FD&oU]*oQU*oUOU2J(	U!)r��barrM�rFr
r$r]rr�s&     rr��PTestUopsOptimization.test_binary_subcsr_str_int_narrows_to_str.<locals>.testfunc_
s>���A��A��1�X���a�D���A�I���������Hr�barf�_BINARY_OP_SUBSCR_STR_INTr�r�r�r�s&    r�)test_binary_subcsr_str_int_narrows_to_str�>TestUopsOptimization.test_binary_subcsr_str_int_narrows_to_str^
s|��	��*�*�8�_�E�������v�h��8�9����R� ��2����
�
�1�4�8�	
���-�t�4��
�
�.��5rc��QoUOU[2vq#UOUQ,[*2UOU2[	U2oUOQU2UO
QU2UOQU2P!)c�|�,oQo[U2FD&oU]*oQU*oUOU2J(	U!)u바이트코f드_특수화rHrMrIs&     rr��QTestUopsOptimization.test_binary_subcsr_ustr_int_narrows_to_str.<locals>.testfuncs
s>���A�,�A��1�X���a�D���A�I���������HrrK�_BINARY_OP_SUBSCR_USTR_INTr�r�r�r�s&    r�*test_binary_subcsr_ustr_int_narrows_to_str�?TestUopsOptimization.test_binary_subcsr_ustr_int_narrows_to_strr
s|��	��*�*�8�_�E�������v�h��8�9����R� ��2����
�
�2�D�9�	
���-�t�4��
�
�.��5rc�~�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2UOQU2UO
[UQ2]2UO
[UQ2]2P!)c�l�]oQo[U2FDoU]*oUQ6XfJU]*
oJ 	U!)r�hellorsr�rFr
r$r]rOs&    rr��DTestUopsOptimization.test_binary_op_subscr_str_int.<locals>.testfunc�
s:���A��A��1�X���a�D����8���F�A���HrrLrr��_POP_TOP�_POP_TOP_INT�rur
r�rgr6r�rr>r�s&    r�test_binary_op_subscr_str_int�2TestUopsOptimization.test_binary_op_subscr_str_int�
s���	��*�*�8�_�E�������o�.����R� ��2����
�
�1�4�8��
�
�'��.��
�
�n�d�+����Y�r�:�6��:����Y�r�>�:�A�>rc�~�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2UOQU2UO
[UQ2]2UO
[UQ2]2P!)c�l�]oQo[U2FDoU]*oUQ6XfJU]*
oJ 	U!)ruhello바rsrrXs&    rr��ETestUopsOptimization.test_binary_op_subscr_ustr_int.<locals>.testfunc�
s:���A��A��1�X���a�D����8���F�A���HrrRrr�rZr[r\r�s&    r�test_binary_op_subscr_ustr_int�3TestUopsOptimization.test_binary_op_subscr_ustr_int�
s���	��*�*�8�_�E�������o�.����R� ��2����
�
�2�D�9��
�
�'��.��
�
�n�d�+����Y�r�:�6��:����Y�r�>�:�A�>rc��QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
[UQ2]2P!)c�t�]oQ]Q]-o[U2FDoUQ*oU]6XfJU]*
oJ 	U!�rr�r�r)rFr
rr]rs&    rr��ATestUopsOptimization.test_binary_op_subscr_dict.<locals>.testfunc�
sC���A��a��a� �A��1�X���c�F����6���F�A���Hrr�rZr\r�s&    r�test_binary_op_subscr_dict�/TestUopsOptimization.test_binary_op_subscr_dict�
sj��	��*�*�8�_�E�������o�.����R� ��2����
�
�9�4�@����Y�r�:�6��:rc��QoUOU[2vq#UOU][*2UOU2[	U2oUOQU2UO
QU2P!)c�(�]oQ]]]Q]Q][]Q]Q]-o[U2FDjoVQ*U]**UQ**UQ**U[**UQ**UQ***
oJl	U!)rr��b��?�rMrL��?@��_GENERIC_KEYr"�rFr
rr]s&   rr��LTestUopsOptimization.test_binary_op_subscr_dict_known_hash.<locals>.testfunc�
s����A��a��A�t�Q���<��C��D�RS�T�A��1�X���s�V�a��d�]�Q�t�W�,�q��y�8�1�\�?�J�Q�s�V�S�VW�X\�V]�]�]����Hrr��_BINARY_OP_SUBSCR_DICTr�r�s&    r�%test_binary_op_subscr_dict_known_hash�:TestUopsOptimization.test_binary_op_subscr_dict_known_hash�
si��	��*�*�8�_�E�������b�?�2�3����R� ��2����
�
�9�4�@����1�4�8rc�`�]PHnU1QkoUOU[2vq#UOU][*2UO	U2[U2oUO
QU2UOQU2P!)rc�&:�]oROQ2o[U2FDjoVQ*U]**UQ**UQ**U[**UQ**UQ***
oJl	U!)rc��]!r�rrrr�<lambda>�eTestUopsOptimization.test_binary_op_subscr_defaultdict_known_hash.<locals>.testfunc.<locals>.<lambda>�
���rr�rlrmrnro�r�r"rqr�s&   �rr��STestUopsOptimization.test_binary_op_subscr_defaultdict_known_hash.<locals>.testfunc�
so����A��'�'�	�2�A��1�X���s�V�a��d�]�Q�t�W�,�q��y�8�1�\�?�J�Q�s�V�S�VW�X\�V]�]�]����Hrr�rt�r�rur
r�rgr6r�r��rYr�rQr0r�r�s&    @r�,test_binary_op_subscr_defaultdict_known_hash�ATestUopsOptimization.test_binary_op_subscr_defaultdict_known_hash�
sm����	��*�*�8�_�E�������a�/�1�2����R� ��2����
�
�9�4�@����1�4�8rc��QoUOU][*2vq#UOU][*2UOU2[	U2oUOQU2UOQU2P!)c�Z�]o[U2FDoU[Q**
oJ	U!�rr
�r"�FROZEN_DICT_CONSTr$s&  rr��[TestUopsOptimization.test_binary_op_subscr_constant_frozendict_known_hash.<locals>.testfunc�
�*���A��1�X���&�s�+�+����Hrr�rtr�r�s&    r�4test_binary_op_subscr_constant_frozendict_known_hash�ITestUopsOptimization.test_binary_op_subscr_constant_frozendict_known_hash�
sp��	��*�*�8�Q��5H�I�������a�/�1�2����R� ��2������<�d�C����1�4�8rc��QoUOU[2vq#UOU][*2UOU2[	U2oUOQU2UO
QU2P!)c�B�Q]]]Q]Q][]Q]Q]-o[U2FD�oUQ99*]*
tt$U]99*]*
tt$UQ99*]*
tt$UQ99*]*
tt$U[99*]*
tt$UQ99*]*
tt$UQ99*]*
tt$J�	UQ*U]**UQ**UQ**U[**UQ**UQ**!)r�rlrmrnrorp�rFrr]s&  rr��HTestUopsOptimization.test_store_subscr_dict_known_hash.<locals>.testfunc�
s����a��A�t�Q���<��C��D�RS�T�A��1�X���#��!����!���	���$��1����&�	�Q��	��,��1�$���#��!����$��1�����S�6�A�a�D�=�1�T�7�*�Q�v�Y�6��<��H�1�S�6�Q�TU�VZ�T[�[�[rr��_STORE_SUBSCR_DICTr�r�s&    r�!test_store_subscr_dict_known_hash�6TestUopsOptimization.test_store_subscr_dict_known_hash�
sj��
	\��*�*�8�_�E�������b�?�2�3����R� ��2����
�
�5�t�<����-�t�4rc�`�]PHnU1QkoUOU[2vq#UOU][*2UO	U2[U2oUO
QU2UOQU2P!)rc�@:�ROQ2o[U2FD�oUQ99*]*
tt$U]99*]*
tt$UQ99*]*
tt$UQ99*]*
tt$U[99*]*
tt$UQ99*]*
tt$UQ99*]*
tt$J�	UQ*U]**UQ**UQ**U[**UQ**UQ**!)c��]!rrrrrrz�aTestUopsOptimization.test_store_subscr_defaultdict_known_hash.<locals>.testfunc.<locals>.<lambda>r|rr�rlrmrnror})rFrr]r�s&  �rr��OTestUopsOptimization.test_store_subscr_defaultdict_known_hash.<locals>.testfuncs�����'�'�	�2�A��1�X���#��!����!���	���$��1����&�	�Q��	��,��1�$���#��!����$��1�����S�6�A�a�D�=�1�T�7�*�Q�v�Y�6��<��H�1�S�6�Q�TU�VZ�T[�[�[rr�r�rr�s&    @r�(test_store_subscr_defaultdict_known_hash�=TestUopsOptimization.test_store_subscr_defaultdict_known_hashsn����
	\��*�*�8�_�E�������b�?�2�3����R� ��2����
�
�5�t�<����-�t�4rc�"�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2UO
[UQ2]2P!)c�^�]o,QNo[U2FDo]U7fJU]*
oJ	U!r8r)rFr
r	r]s&   rr��7TestUopsOptimization.test_contains_op.<locals>.testfuncs1���A��E��1�X����:���F�A���Hrr�r�rZr\r�s&    r�test_contains_op�%TestUopsOptimization.test_contains_opsw��	��*�*�8�_�E�������o�.����R� ��2����
�
�n�d�+��
�
�n�d�+����Y�r�:�6��:rc�"�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2UO
[UQ2]2P!)c�^�]o.Qlo[U2FDo]U7fJU]*
oJ	U!r�r)rFr
r$r]s&   rr��;TestUopsOptimization.test_contains_op_set.<locals>.testfunc,s1���A��A��1�X����6���F�A���Hrr�r�rZr\r�s&    r�test_contains_op_set�)TestUopsOptimization.test_contains_op_set+sx��	��*�*�8�_�E�������o�.����R� ��2����
�
�(�$�/��
�
�n�d�+����Y�r�:�6��:rc�"�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2UO
[UQ2]2P!)c�b�]oQ]Q]-o[U2FDoQU7fJU]*
oJ	U!rfrrrs&   rr��<TestUopsOptimization.test_contains_op_dict.<locals>.testfunc=s:���A��a��a� �A��1�X���!�8���F�A���Hrr�r�rZr\r�s&    r�test_contains_op_dict�*TestUopsOptimization.test_contains_op_dict<sx��	��*�*�8�_�E�������o�.����R� ��2����
�
�)�4�0��
�
�n�d�+����Y�r�:�6��:rc��QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2UO
QU2P!)c�x�]o[U2FD&o[Q2oU[U2[I*
oJ(	U!�r�42�r"ryrCr��rFr
r]r�s&   rr��FTestUopsOptimization.test_call_type_1_guards_removed.<locals>.testfuncN�8���A��1�X���4�j���T�#�Y�#�%�%����Hr�_CALL_TYPE_1�_GUARD_NOS_NULL�_GUARD_CALLABLE_TYPE_1r�r�s&    r�test_call_type_1_guards_removed�4TestUopsOptimization.test_call_type_1_guards_removedMst��	��*�*�8�_�E�������o�.����R� ��2����
�
�n�d�+����*�D�1����1�4�8rc��QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
[UQ2]2P!)c�b�]o[U2FDoU[]*2[I*
oJ	U!r)r"rCr�r$s&  rr��BTestUopsOptimization.test_call_type_1_known_type.<locals>.testfunc^s,���A��1�X���T�"�X��_�$����Hrr�r�)rur
r�rgr6r�r~r>r�s&    r�test_call_type_1_known_type�0TestUopsOptimization.test_call_type_1_known_type]sm��	��*�*�8�_�E�������o�.����R� ��2��������.�	
���	�"�n� =�q�Arc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2P!)c�f�]o[U2FDo[]*2oUeJU]*
oJ	U!r)r"rCrAs&   rr��GTestUopsOptimization.test_call_type_1_result_is_const.<locals>.testfuncos3���A��1�X����H���=���F�A���Hrr�r�r�s&    r� test_call_type_1_result_is_const�5TestUopsOptimization.test_call_type_1_result_is_constnsU��	��*�*�8�_�E�������o�.����R� ��2������1�4�8rc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2P!)c�x�]o[U2FD&o[Q2oU[U2[I*
oJ(	U!r�r�r�s&   rr��?TestUopsOptimization.test_call_type_1_pop_top.<locals>.testfunc~r�rr�r�r�r�s&    r�test_call_type_1_pop_top�-TestUopsOptimization.test_call_type_1_pop_top}s`��	��*�*�8�_�E�������o�.����R� ��2����
�
�n�d�+��
�
�n�d�+rc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2P!)c�r�]o[U2FD#o[Q2oU[U2]6H*
oJ%	U!)rr)r"rr#rAs&   rr��@TestUopsOptimization.test_call_tuple_1_pop_top.<locals>.testfunc�s7���A��1�X���"�I���S��V�q�[� ����Hr�
_CALL_TUPLE_1r�r�r�s&    r�test_call_tuple_1_pop_top�.TestUopsOptimization.test_call_tuple_1_pop_top�s`��	��*�*�8�_�E�������o�.����R� ��2����
�
�o�t�,��
�
�n�d�+rc��QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2UO
QU2P!)c�l�]o[U2FD o[]*2oUQ6XfJU]*
oJ"	U!r��r"�str�rFr
r]rs&   rr��6TestUopsOptimization.test_call_str_1.<locals>.testfunc�s5���A��1�X����G����9���F�A���Hr�_CALL_STR_1r��_GUARD_CALLABLE_STR_1r�r�s&    r�test_call_str_1�$TestUopsOptimization.test_call_str_1�st��	��*�*�8�_�E�������o�.����R� ��2����
�
�m�T�*����*�D�1����0�$�7rc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2P!)c�~�]o[U2FD)o[P2oS[U2]6Xc]L]*
oJ+	U!r)r"r�r#rAs&   rr��>TestUopsOptimization.test_call_str_1_pop_top.<locals>.testfunc�s;���A��1�X����G���#�a�&�A�+�Q�1�,����Hrr�r�r�r�s&    r�test_call_str_1_pop_top�,TestUopsOptimization.test_call_str_1_pop_top�s`��	��*�*�8�_�E�������o�.����R� ��2����
�
�m�T�*��
�
�n�d�+rc�2�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2UO
QU2UO
QU2P!)c�z�]o[U2FD'o[]*2Q*oUQ6XfJU]*
oJ)	U!)rr��42foor�r�s&   rr��DTestUopsOptimization.test_call_str_1_result_is_str.<locals>.testfunc�s9���A��1�X����G�e�O����<���F�A���Hrr�r�r�r�r�r�s&    r�test_call_str_1_result_is_str�2TestUopsOptimization.test_call_str_1_result_is_str�s���	��*�*�8�_�E�������o�.����R� ��2����
�
�m�T�*��
�
�.��5����-�t�4����-�t�4rc�"�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2UO
UOU2P!)c�n�]o[U2FD!o[Q2oU%fJU]*
oJ#	U!r�r�r�s&   rr��TTestUopsOptimization.test_call_str_1_result_is_const_for_str_input.<locals>.testfunc�s3���A��1�X����J���1���F�A���Hrr�r��rur
r�rgr6r�r�r�r�s&    r�-test_call_str_1_result_is_const_for_str_input�BTestUopsOptimization.test_call_str_1_result_is_const_for_str_input�sx��
	��*�*�8�_�E�������o�.����R� ��2����
�
�m�T�*������.�����+�+�T�2rc��QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2UO
QU2P!)c�p�]o[U2FD"o[]],2oUQ6XfJU]*
oJ$	U!�rrn�r"rr�s&   rr��8TestUopsOptimization.test_call_tuple_1.<locals>.testfunc�s9���A��1�X���1�a�&�M����;���F�A���Hrr�r��_GUARD_CALLABLE_TUPLE_1r�r�s&    r�test_call_tuple_1�&TestUopsOptimization.test_call_tuple_1�st��	��*�*�8�_�E�������o�.����R� ��2����
�
�o�t�,����*�D�1����2�D�9rc��QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2UO
QU2P!)c�~�]o[U2FD)o[]],2oU]*]6XfJ U]*
oJ+	U!rr�r�s&   rr��HTestUopsOptimization.test_call_tuple_1_result_is_tuple.<locals>.testfunc�s=���A��1�X���1�a�&�M���Q�4�1�9���F�A���Hrr�r3r2r�r�s&    r�!test_call_tuple_1_result_is_tuple�6TestUopsOptimization.test_call_tuple_1_result_is_tuple�sr��	��*�*�8�_�E�������o�.����R� ��2����
�
�o�t�,��
�
�3�T�:����+�T�2rc�F�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2UO
QU2UO
UOU2P!)c�t�]o[U2FD$o[Q2oUvqBU]6XfJU]*
oJ&	U!r�r�)rFr
r]rr�s&    rr��ZTestUopsOptimization.test_call_tuple_1_result_propagates_for_tuple_input.<locals>.testfuncs<���A��1�X���&�M�������6���F�A�	�
�Hrr�rr	r�r�s&    r�3test_call_tuple_1_result_propagates_for_tuple_input�HTestUopsOptimization.test_call_tuple_1_result_propagates_for_tuple_inputs���
	��*�*�8�_�E�������o�.����R� ��2����
�
�o�t�,��
�
�2�D�9����*�D�1�����+�+�T�2rc�,�QoUOU[2vq#[U2oUOQU2UOQU2UO	QU2UOQU2UOQU2UO	QU2P!)c�Z�,QNo[U2FDo[U2]*
oJ	P!)rM�rMrLrKrJ�r"r#r�s&  rr��4TestUopsOptimization.test_call_len.<locals>.testfuncs"���A��1�X����F�Q�J��rr��_GUARD_CALLABLE_LEN�	_CALL_LENr}r|r�)rur
r6r�r��rYr�r]r0r�s&    r�
test_call_len�"TestUopsOptimization.test_call_lens���	�
�(�(��?�C����2������*�D�1����.��5��
�
�k�4�(����)�4�0����)�4�0��
�
�n�d�+rc���QoUOU[2vq#UOU][*2UOU2[	U2oUOQU2P!)c�^�]o[oQo[U2FDoVU2*
oJ	U!r8)r#r")rFr�rI�xsr]s&    rr��DTestUopsOptimization.test_check_is_not_py_callable.<locals>.testfunc*s1���E��A��B��1�X����2������Lr�_CHECK_IS_NOT_PY_CALLABLEr�r�s&    r�test_check_is_not_py_callable�2TestUopsOptimization.test_check_is_not_py_callable)sZ��	��*�*�8�_�E�������a�/�1�2����R� ��2������4�d�;rc���QoUOU[2vq#UOU][*2UOU2[	U2oUOQU2P!)c�^�]oQoU1o[U2FDoU[U*
oJ	U!r8r�)rFr�rr<r]s&    rr��GTestUopsOptimization.test_check_is_not_py_callable_ex.<locals>.testfunc9s4���E��B��5�D��1�X����d��#����Lr�_CHECK_IS_NOT_PY_CALLABLE_EXr�r�s&    r� test_check_is_not_py_callable_ex�5TestUopsOptimization.test_check_is_not_py_callable_ex8sZ��	��*�*�8�_�E�������a�/�1�2����R� ��2������7��>rc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2P!)c�l�]oQo[U2FDoU[UP
Q5]**
oJ 	U!)r)�reverse�rKrMrL�r"�sorted)rFr�rr]s&   rr��GTestUopsOptimization.test_check_is_not_py_callable_kw.<locals>.testfuncHs5���E��B��1�X�����E�2�1�5�5����Lr�_CHECK_IS_NOT_PY_CALLABLE_KWr�r�s&    r� test_check_is_not_py_callable_kw�5TestUopsOptimization.test_check_is_not_py_callable_kwGsU��	��*�*�8�_�E�������o�.����R� ��2������7��>rc���QoUOU[2vq#UOU2[U2oUO	QU2UO[
UQ2]2P!)c��[U2FD1o[Q2oPo[U2o[Q2o[Q2oJ3	P!)�abcsdefrr�)rFr]rs&  rr��;TestUopsOptimization.test_call_len_string.<locals>.testfuncVs9���1�X����J������F����K����H��rr�rn)rur
rgr6r�r~r>r�s&    r�test_call_len_string�)TestUopsOptimization.test_call_len_stringUs\��	��(�(��?�C������R� ��2�������d�+����	�"�.I� J�A�Nrc���UO[]2QoUOU[2vq#UO	U[2UOU2[
U2oUOQU2P!)�c�l�]o[U2FD oQo[U2]6XfJU]*
oJ"	U!)r)rMrLrKrJr r�rAs&   rr��KTestUopsOptimization.test_call_len_known_length_small_int.<locals>.testfuncis5���A��1�X��#���q�6�Q�;���F�A���Hrr�)�
assertGreaterr	rur
r�rgr6r�r�s&    r�$test_call_len_known_length_small_int�9TestUopsOptimization.test_call_len_known_length_small_intdsi��	
���,�a�0�	��*�*�8�_�E�������o�.����R� ��2���	
����d�+rc�N�UO[Q2QoUOU[2vq#UO	U[2UOU2[
U2oUOQU2UOQU2UOUOU2P!)�c��QQ2o]o[U2FD(o[UO2Q6XfJU]*
oJ*	U!)c�4�\sQsQs\\Q22sQsP!)�LTestUopsOptimization.test_call_len_known_length.<locals>.testfunc.<locals>.Cir'r)rrrrrr"rrrrrrHr*s���%��+�&�rrHr')r"r#r)rFrHr
r]s&   rr��ATestUopsOptimization.test_call_len_known_length.<locals>.testfunc~sA��
'�
'��A��1�X���q�s�s�8�t�#���F�A���Hrr�r	)
�
assertLessr	rur
r�rgr6r�r�r�r�s&    r�test_call_len_known_length�/TestUopsOptimization.test_call_len_known_lengthys���	
���)�4�0�	��*�*�8�_�E�������o�.����R� ��2���
	
�
�
�k�4�(����*�D�1�����+�+�T�2rc��QoUOU[2vq#UOU[]**2UOU2[	U2oUOQU2UO
QU2P!)c�X�]o[U2FDo[Q2oV*
oJ	U!r�)r"r�r�s&   rr��>TestUopsOptimization.test_call_builtin_class.<locals>.testfunc�s,���A��1�X����I�������Hr�_CALL_BUILTIN_CLASS�_GUARD_CALLABLE_BUILTIN_CLASSr�r�s&    r�test_call_builtin_class�,TestUopsOptimization.test_call_builtin_class�si��	��*�*�8�_�E�������o��2�3����R� ��2����
�
�+�T�2����8�$�?rc�F�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2UOQU2UO[UQ2]2P!)c�X�]o[U2FDo[]2oV*
oJ	U!r)r"�absr�s&   rr��:TestUopsOptimization.test_call_builtin_o.<locals>.testfunc�s,���A��1�X����F�������Hr�_CALL_BUILTIN_O�_GUARD_CALLABLE_BUILTIN_Or�rZ�	rur
r�rgr6r�r�rr>r�s&    r�test_call_builtin_o�(TestUopsOptimization.test_call_builtin_o�s���	��*�*�8�_�E�������o�.����R� ��2����
�
�'��.����4�d�;��
�
�n�d�+����Y�r�:�6��:rc�0�QoUOU[2vq#UOU[]*2UOU2[	U2oUOQU2UO
QU2UO[UQ2]2P!)c�h�]o[U2FDo[]
]2oV]**
oJ 	U!r)r"�divmodr�s&   rr��=TestUopsOptimization.test_call_builtin_fast.<locals>.testfunc�s2���A��1�X���2�q�M���q�T�	����Hrrm�_GUARD_CALLABLE_BUILTIN_FASTr��	rur
r�rgr6r�r�r~r>r�s&    r�test_call_builtin_fast�+TestUopsOptimization.test_call_builtin_fast�s���	��*�*�8�_�E�������o��1�2����R� ��2����
�
�*�D�1����7��>�	
���	�"�n� =�q�Arc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2P!)c�j�]o[U2FDo[,QN2oV]**
oJ!	U!)rrrr�s&   rr��KTestUopsOptimization.test_call_builtin_fast_with_keywords.<locals>.testfunc�s1���A��1�X���9�%���q�T�	����Hrr~�*_GUARD_CALLABLE_BUILTIN_FAST_WITH_KEYWORDSr�r�s&    r�$test_call_builtin_fast_with_keywords�9TestUopsOptimization.test_call_builtin_fast_with_keywords�sd��	��*�*�8�_�E�������o�.����R� ��2����
�
�8�$�?����E�t�Lrc�j�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2UO
QU2UOQU2UO[UQ2]2P!)c�h�]o[U2FDoQoUO]2oV*
oJ 	U!r8)r"rU�rFr
r]rr�s&    rr��DTestUopsOptimization.test_call_method_descriptor_o.<locals>.testfunc��5���A��1�X�����G�G�A�J�������Hr� _CALL_METHOD_DESCRIPTOR_O_INLINE�_CALL_METHOD_DESCRIPTOR_O�#_GUARD_CALLABLE_METHOD_DESCRIPTOR_Or�rZr<r�s&    r�test_call_method_descriptor_o�2TestUopsOptimization.test_call_method_descriptor_o�s���	��*�*�8�_�E�������o�.����R� ��2����
�
�8�$�?����4�d�;����>��E��
�
�n�d�+����Y�r�:�6��:rc��QoUOU[2vq#UOU[]*2UOU2[	U2oUOQU2UO
QU2UO
QU2UO[UQ2]2UO[UQ2]2P!)c�z�]o[U2FD'oQoUO2oU[U2*
oJ)	U!�rrW)r"�upperr#rOs&    rr��ITestUopsOptimization.test_call_method_descriptor_noargs.<locals>.testfunc�s9���A��1�X�����G�G�I���S��V�����Hr�%_CALL_METHOD_DESCRIPTOR_NOARGS_INLINE�_CALL_METHOD_DESCRIPTOR_NOARGS�(_GUARD_CALLABLE_METHOD_DESCRIPTOR_NOARGSrZrDr�s&    r�"test_call_method_descriptor_noargs�7TestUopsOptimization.test_call_method_descriptor_noargs�s���	��*�*�8�_�E�������o��1�2����R� ��2����
�
�=�t�D����9�4�@����C�T�J����	�"�j� 9�1�=����	�"�j� 9�1�=rc��QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2UO
QU2P!)c�h�]o[U2FDoQoUO]2oV*
oJ 	U!r8)r"rprOs&    rr��GTestUopsOptimization.test_call_method_descriptor_fast.<locals>.testfunc�rQr�#_CALL_METHOD_DESCRIPTOR_FAST_INLINE�_CALL_METHOD_DESCRIPTOR_FAST�&_GUARD_CALLABLE_METHOD_DESCRIPTOR_FASTr�r�s&    r� test_call_method_descriptor_fast�5TestUopsOptimization.test_call_method_descriptor_fast�su��	��*�*�8�_�E�������o�.����R� ��2����
�
�;�T�B����7��>����A�4�Hrc��QoUOU[2vq#UOU[]*2UOU2[	U2oUOQU2UO
QU2UO
QU2P!)c�~�]o[U2FD)oQoUO2vqEU[U2*
oJ+	U!)rzhello world)r"�splitr#�rFr
r]rr�r�s&     rr��UTestUopsOptimization.test_call_method_descriptor_fast_with_keywords.<locals>.testfunc
s;���A��1�X��!���w�w�y����S��V�����Hr�1_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS_INLINE�*_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS�4_GUARD_CALLABLE_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDSr�r�s&    r�.test_call_method_descriptor_fast_with_keywords�CTestUopsOptimization.test_call_method_descriptor_fast_with_keywords

s{��	��*�*�8�_�E�������o��1�2����R� ��2����
�
�I�4�P����E�t�L����O�QU�Vrc��QoUOU[2vq#UOU[]
*2UOU2[	U2oUOQU2UO[
UQ2]2P!)c��]o[U2FDIoQoUO2oUO2oU[U2*
oU[U2*
oJK	U!rY)r"rZ�lowerr#rls&     rr��NTestUopsOptimization.test_check_recursion_limit_deduplicated.<locals>.testfunc
sQ���A��1�X�����G�G�I���G�G�I���S��V����S��V�����Hrr\�_CHECK_RECURSION_LIMIT)rur
r�rgr6r�r>r�s&    r�'test_check_recursion_limit_deduplicated�<TestUopsOptimization.test_check_recursion_limit_deduplicated
sp��	��*�*�8�_�E�������o��2�3����R� ��2����
�
�=�t�D�����2�'?�@�!�Drc��QoUOU[2vq#UOU]2[U2oUO	QU2UO[UQ2]2UO
[UQ2]2P!)c�8�]o[U2FDoU3J	U!rrr$s&  rr��<TestUopsOptimization.test_call_intrinsic_1.<locals>.testfunc/
s���A��1�X������Hr�_CALL_INTRINSIC_1r�rZ�rur
r�r6r�r>rr�s&    r�test_call_intrinsic_1�*TestUopsOptimization.test_call_intrinsic_1.
ss��	��*�*�8�_�E�������a� ��2����
�
�)�4�0�����2�~�6��:����Y�r�:�6��:rc��QoUOU[2vq#UOU]2[U2oUO	QU2UO[
UQ2]2UO[
UQ2]2P!)c�B�]o[U2FDoQ2oJ
	U!)rc��Q39o1Qt4!)�Tc��P!rrrYs&r�
test_testfunc�STestUopsOptimization.test_call_intrinsic_2.<locals>.testfunc.<locals>.test_testfuncA
s��rr)�	.defaultsr�s  r�%<generic parameters of test_testfunc>�kTestUopsOptimization.test_call_intrinsic_2.<locals>.testfunc.<locals>.<generic parameters of test_testfunc>A
s	��!�rr)rFr
r]r�s&   rr��<TestUopsOptimization.test_call_intrinsic_2.<locals>.testfunc>
s&���A��1�X������Hr�_CALL_INTRINSIC_2r�rZ�rur
r�r6r�r~r>rr�s&    r�test_call_intrinsic_2�*TestUopsOptimization.test_call_intrinsic_2=
ss��	��*�*�8�_�E�������a� ��2����
�
�)�4�0����	�"�n� =�q�A����Y�r�:�6��:rc��QoUOU[2vq#UO[U2[2[	U2oUOQU2UOQU2UO
QU2P!)c�d�Qo[U2FDoQc]6Hc
UQ*
oJJ	U!��r{r�rr$s&  rr��DTestUopsOptimization.test_get_len_with_const_tuple.<locals>.testfuncN
s2���A��1�X��"�%���S���&���Hrr}�_GET_LENrn�rur
r�r�r6r�r�r�s&    r�test_get_len_with_const_tuple�2TestUopsOptimization.test_get_len_with_const_tupleM
�j��	��*�*�8�_�E�������S��?�3��2������)�4�0�����T�*��
�
�1�4�8rc��QoUOU[2vq#UO[U2[2[	U2oUOQU2UOQU2UO
QU2P!)c��Qo[U2FD.o[2[21c]6Hc
UQ*
oJ-J0	U!)r�r{)r"rRr$s&  rr��HTestUopsOptimization.test_get_len_with_non_const_tuple.<locals>.testfunc]
s;���A��1�X���h���(����S��� ���Hrr}r�rnr�r�s&    r�!test_get_len_with_non_const_tuple�6TestUopsOptimization.test_get_len_with_non_const_tuple\
r�rc���QoUOU[2vq#UO[U2[2[	U2oUOQU2UO
QU2P!)c�h�Qo[U2FDo,QNc]6Hc
UQ*
oJJ 	U!r�rr$s&  rr��BTestUopsOptimization.test_get_len_with_non_tuple.<locals>.testfuncl
s2���A��1�X��"�%���S���&���Hrr}r�r�r�s&    r�test_get_len_with_non_tuple�0TestUopsOptimization.test_get_len_with_non_tuplek
sY��	��*�*�8�_�E�������S��?�3��2������)�4�0��
�
�j�$�'rc�"�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2UO
UOU2P!)c�h�]o[U2FDoQoU]*]6XfJU]*
oJ 	U!r�rr�s&   rr��FTestUopsOptimization.test_binary_op_subscr_tuple_int.<locals>.testfuncz
s5���A��1�X�����Q�4�1�9���F�A���Hrr3r	r�r�s&    r�test_binary_op_subscr_tuple_int�4TestUopsOptimization.test_binary_op_subscr_tuple_inty
sz��	��*�*�8�_�E�������o�.����R� ��2����
�
�3�T�:����*�D�1�����+�+�T�2rc��QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2UOQU2P!)c�x�]o[U2FD&o[]*[2oU%fJU]*
oJ(	U!r�r"�
isinstancer�r�s&   rr��JTestUopsOptimization.test_call_isinstance_guards_removed.<locals>.testfunc�
�6���A��1�X���r�3�'���1���F�A���Hr�_CALL_ISINSTANCE�_GUARD_THIRD_NULL�_GUARD_CALLABLE_ISINSTANCEr�r�s&    r�#test_call_isinstance_guards_removed�8TestUopsOptimization.test_call_isinstance_guards_removed�
sw��	��*�*�8�_�E�������o�.����R� ��2������+�T�2����,�d�3����5�t�<rc���QoUOU[2vq#UOU[[	[222[U2oUO
QU2P!)c�f�,o[U2FDoUOU2J	[U2!r�r"r+r��rFr�r(s&  rr��<TestUopsOptimization.test_call_list_append.<locals>.testfunc�
�)���A��1�X���������q�6�MrrS)rur
r�r�r"r6r�r�s&    r�test_call_list_append�*TestUopsOptimization.test_call_list_append�
sO��	��*�*�8�_�E�������c�%��"8�9�:��2����
�
�)�4�0rc���QoUOU[2vq#UOU[2[U2oUO	QU2UO	QU2P!)c�f�,o[U2FDoUO]2J	[U2!r�r�r�s&  rr��DTestUopsOptimization.test_call_list_append_pop_top.<locals>.testfunc�
r�rrSr�)rur
r�r6r�r�s&    r�test_call_list_append_pop_top�2TestUopsOptimization.test_call_list_append_pop_top�
sS��	�
�*�*�8�_�E�������o�.��2����
�
�)�4�0��
�
�n�d�+rc�"�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2UOUOU2P!)c�x�]o[U2FD&o[]*[2oU%fJU]*
oJ(	U!rr�r�s&   rr��CTestUopsOptimization.test_call_isinstance_is_true.<locals>.testfunc�
r�rr�r��rur
r�rgr6r�r�r�s&    r�test_call_isinstance_is_true�1TestUopsOptimization.test_call_isinstance_is_true�
�{��	��*�*�8�_�E�������o�.����R� ��2������+�T�2�����$�/�����+�+�T�2rc�"�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2UOUOU2P!)c�x�]o[U2FD&o[]*[2oU%cJU]*
oJ(	U!r)r"r�r�r�s&   rr��DTestUopsOptimization.test_call_isinstance_is_false.<locals>.testfunc�
s6���A��1�X���r�3�'���q���F�A���Hrr�r�)rur
r�rgr6r�r�r�s&    r�test_call_isinstance_is_false�2TestUopsOptimization.test_call_isinstance_is_false�
s{��	��*�*�8�_�E�������o�.����R� ��2������+�T�2�����$�/�����,�,�d�3rc�"�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2UOUOU2P!)c�x�]o[U2FD&o[P	[2oU%fJU]*
oJ(	U!rr�r�s&   rr��DTestUopsOptimization.test_call_isinstance_subclass.<locals>.testfunc�
s6���A��1�X���t�S�)���1���F�A���Hrr�r�r�r�s&    r�test_call_isinstance_subclass�2TestUopsOptimization.test_call_isinstance_subclass�
r�rc�"�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2UOUOU2P!)c��]o[U2FD1o[Q2o[U[2oU%fJ(U]*
oJ3	U!r�)r"ryr�r�)rFr
r]rHrs&    rr��JTestUopsOptimization.test_call_isinstance_unknown_object.<locals>.testfunc�
s?���A��1�X���4�j���s�C�(���1���F�A�
��Hrr�r�r�r�s&    r�#test_call_isinstance_unknown_object�8TestUopsOptimization.test_call_isinstance_unknown_object�
sw��		��*�*�8�_�E�������o�.����R� ��2����
�
�(�$�/�����$�/��
�
�d�(�(�$�/rc�"�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2UOUOU2P!)c��]o[U2FD,o[]*[[12oU%fJ#U]*
oJ.	U!r)r"r�r�r�r�s&   rr��LTestUopsOptimization.test_call_isinstance_tuple_of_classes.<locals>.testfunc�
s<���A��1�X���r�C��:�.���1���F�A���Hrr�r�r�r�s&    r�%test_call_isinstance_tuple_of_classes�:TestUopsOptimization.test_call_isinstance_tuple_of_classes�
sw��	��*�*�8�_�E�������o�.����R� ��2����
�
�(�$�/�����$�/��
�
�d�(�(�$�/rc�``�QQ[2oQQUQ5nU1QkoUOU[2vq4UOU[2UO	U2[U2oUO
QU2UOQU2UO
UOU2P!)c�(`�\sQsQsnQsQsUsP!)�KTestUopsOptimization.test_call_isinstance_metaclass.<locals>.EvenNumberMetaic��U]*]6H!r�r)rY�numbers&&r�__instancecheck__�]TestUopsOptimization.test_call_isinstance_metaclass.<locals>.EvenNumberMeta.__instancecheck__s����z�Q��&rr)rrrrr�rr�r�s@r�EvenNumberMetar������
'�
'rr�c��\sQsQsQsP!)�GTestUopsOptimization.test_call_isinstance_metaclass.<locals>.EvenNumberirrrrr�
EvenNumberr�rlrr�)�	metaclassc�r:�]o[U2FD"o[]*R2oU%fJU]*
oJ$	U!r)r"r�)rFr
r]rr�s&   �rr��ETestUopsOptimization.test_call_isinstance_metaclass.<locals>.testfuncs7����A��1�X���r�:�.���1���F�A�	�
�Hrr�r�)	rCrur
r�rgr6r�r�r�)rYr�r�rQr0r�r�s&     @r�test_call_isinstance_metaclass�3TestUopsOptimization.test_call_isinstance_metaclass
s����	'�T�	'�	�>�	�	��*�*�8�_�E�������o�.����R� ��2����
�
�(�$�/�����$�/��
�
�d�(�(�$�/rc�`�QQ2nU1QkoUOU[2vq#UOU][*2UOU2[	U2oUOQU2UO
QU2P!)c��\sQsQs]sQsP!)�?TestUopsOptimization.test_set_type_version_sets_type.<locals>.Ci'r)rrrrr�rrrrrHr�'s���ArrHc�:�]oR2o[U2FD1oVO*
oU[U2O*
oJ3	U!r)r"r�rC)rFr
rOr]rHs&   �rr��FTestUopsOptimization.test_set_type_version_sets_type.<locals>.testfunc*s@����A���A��1�X���S�S����T�!�W�Y�Y�����HrrS�_CHECK_ATTR_CLASSr��rYr�rQr0r�rHs&    @r�test_set_type_version_sets_type�4TestUopsOptimization.test_set_type_version_sets_type&st���	�	�	��*�*�8�_�E�������a�/�1�2����R� ��2����
�
�+�T�2����,�d�3rc���QoUOU[2vq#UOU[Q22UO	U2[U2oUO
QU2UOQU2P!)c��[U2FD-o[9PIc,QQ2DMJ	LQQ22oJ/	W!)c3�0�SF �Dpw�	J		P!3hrrrs& rrG�STestUopsOptimization.test_load_common_constant.<locals>.testfunc.<locals>.<genexpr><s��B���B�q��B�r�r)r"r4)rFr]r
s&  rr��@TestUopsOptimization.test_load_common_constant.<locals>.testfunc:s/���1�X���D��B��D�D��B��'����Hr�_BUILD_LIST�_LOAD_COMMON_CONSTANTr)rur
r�r4rgr6r�r�r�s&    r�test_load_common_constant�.TestUopsOptimization.test_load_common_constant9sg��	��*�*�8�_�E�������d�2�h�'����R� ��2����
�
�m�T�*����0�$�7rc���QoUOU[2vq#UOUQ2UOU2[	U2oUOQU2UO
QU2P!)c�\�PoPoP	oP
oPo[U2FD
oPoPoP	oP
oPoJ	VV4U1!rr)rFr
r$rrIrfr]s&      rr��MTestUopsOptimization.test_load_common_constant_new_literals.<locals>.testfuncFsP���A��A��A��A��A��1�X���������������q�=� rr�rn)Nr�TFr)r}r�s&    r�&test_load_common_constant_new_literals�;TestUopsOptimization.test_load_common_constant_new_literalsEse��	!��*�*�8�_�E�������9�:����R� ��2������0�$�7��
�
�1�4�8rc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2P!)c�D�]o[U2FDoU]*
oJ	U!rr)rFr
r(s&  rr��:TestUopsOptimization.test_load_small_int.<locals>.testfunc[s#���A��1�X���Q�����Hr�_LOAD_SMALL_INTrnr}r�s&    r�test_load_small_int�(TestUopsOptimization.test_load_small_intZsd��	�
�*�*�8�_�E�������o�.����R� ��2������*�D�1��
�
�1�4�8rc��```�QQ2nQQ2nQQ[2nUUU1QkoUOU[2vq#UOU][*2UO	U2[U2oUO
QU2UO
QU2UO
Q	U2UO
Q
U2UO
QU2UO
QU2P!)
c�,`�\sQsQsn]sQsQsUsP!)�6TestUopsOptimization.test_cached_attributes.<locals>.Cihc��]!r�rr�s&rrf�8TestUopsOptimization.test_cached_attributes.<locals>.C.mjr@rr)rrrrr�rfrr�r�s@rrHrhs�����A�
�
rrHc�0`�\sQsQsnQs]sQsQsUsP!)�6TestUopsOptimization.test_cached_attributes.<locals>.Dilc��]!r�rr�s&rrf�8TestUopsOptimization.test_cached_attributes.<locals>.D.mor@rr)	rrrr�	__slots__r�rfrr�r�s@rrIrls�����I��A�
�
rrIc�(`�\sQsQsnQsQsUsP!)�6TestUopsOptimization.test_cached_attributes.<locals>.Eiqc��]!r�rr�s&rrf�8TestUopsOptimization.test_cached_attributes.<locals>.E.mrr@rr)rrrrrfrr�r�s@rrKrqs����
�
rrKc�P:�]oR2oR2oR2o[U2FD|oURO*
oVO*
oVO*
oVO2*
oVO2*
oVO2*
oJ~	U!r)r"r�rf)	rFr
rOrrsr]rHrIrKs	&     ���rrI�6TestUopsOptimization.test_cached_attributes.<locals>.fts|����A���A���A���A��1�X���Q�S�S����S�S����S�S����S�S�U�
���S�S�U�
���S�S�U�
��
��Hr�_LOAD_ATTR_CLASS�$_LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES� _LOAD_ATTR_NONDESCRIPTOR_NO_DICT�_LOAD_ATTR_METHOD_WITH_VALUES�_LOAD_ATTR_METHOD_NO_DICT�_LOAD_ATTR_METHOD_LAZY_DICT)�	Exceptionrur
r�rgr6r�)rYrIrQr0r�rHrIrKs&    @@@r�test_cached_attributes�+TestUopsOptimization.test_cached_attributesgs����	�	�	�	�
	�	�	�	��*�*�1�o�>�������a�/�1�2����R� ��2������+�T�2����?��F����;�T�B����8�$�?����4�d�;����6��=rc���QoUOU[2vq#UOU2UOU[2[	U2oUOQU2UO
QU2P!)c�b�]o]o[U2FDoV!O2*
oJ	U!r�)r"�
bit_length)rFrOr
r]s&   rrI�HTestUopsOptimization.test_cached_attributes_fixed_version_tag.<locals>.f�s-���A��A��1�X���\�\�^�#����Hrrrn)rur
rgr�r6r�r�r's&    r�(test_cached_attributes_fixed_version_tag�=TestUopsOptimization.test_cached_attributes_fixed_version_tag�sd��	��*�*�1�o�>������R� �����o�.��2������4�d�;��
�
�1�4�8rc�`�QQ2nU1QkoUOU[2vq#UOU2UOU[2[	U2oUOQU2UO
[UQ2]2P!)c�.`�\sQsQsnQsQsQsUsP!)�9TestUopsOptimization.test_cached_load_special.<locals>.CMi�c��U!rrr�s&r�	__enter__�CTestUopsOptimization.test_cached_load_special.<locals>.CM.__enter__�r`rc��P!rrrs&*r�__exit__�BTestUopsOptimization.test_cached_load_special.<locals>.CM.__exit__�s��rr)rrrrr-r0rr�r�s@r�CMr+�s����
�
�
rr2c	�:�R2o]o[U2FDoU9^tt^2U]*
oPPP2J!	U!)%fhJ69hrr)rF�cmr
r]r2s&   �rrI�8TestUopsOptimization.test_cached_load_special.<locals>.f�sC�����B��A��1�X���R���F�A��R���H��R�R�s�
=	�A
�A
�
_LOAD_SPECIALr�)rur
rgr�r6r�r~r>)rYrIrQr0r�r2s&    @r�test_cached_load_special�-TestUopsOptimization.test_cached_load_special�sx���	�	�
	��*�*�1�o�>������R� �����o�.��2�������$�/�	
���	�"�n� =�q�Arc�`�QnU1QkoUOU[2vq#UOU2[U2oUO	QU2UO	QU2UO[
UQ2]2P!)c��]oU!r�rr/s&rr��FTestUopsOptimization.test_store_fast_refcount_elimination.<locals>.foo�����A��Hrc�@:�[U2FDoR]2J
	P!r�r�rFr]r�s& �rr��KTestUopsOptimization.test_store_fast_refcount_elimination.<locals>.testfunc�s����1�X���A��rr�r6rZ�rur
rgr6r�rr>�rYr�rQr0r�r�s&    @r�$test_store_fast_refcount_elimination�9TestUopsOptimization.test_store_fast_refcount_elimination�sm���	�	��*�*�8�_�E������R� ��2����
�
�n�d�+��
�
�m�T�*����Y�r�:�6��:rc�`�QnU1QkoUOU[2vq#UOU2[U2oUO	QU2UO	QU2UO[
UQ2]2P!)c��]oU!r�r)rs rr��YTestUopsOptimization.test_store_fast_refcount_elimination_when_uninitialized.<locals>.foo�r<rc�>:�[U2FD
oR2J	P!rrr>s& �rr��^TestUopsOptimization.test_store_fast_refcount_elimination_when_uninitialized.<locals>.testfunc�s����1�X����rr�r6rZr@rAs&    @r�7test_store_fast_refcount_elimination_when_uninitialized�LTestUopsOptimization.test_store_fast_refcount_elimination_when_uninitialized�sm���	�	��*�*�8�_�E������R� ��2����
�
�n�d�+��
�
�m�T�*����Y�r�:�6��:rc���QoUOUQQ[12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�Z�UvqoQo[U2FDoVAU**
oJ	U!�r�r)r<r�r�rFrOr]s&     rr��ITestUopsOptimization.test_float_op_refcount_elimination.<locals>.testfunc�s.���G�A�!��A��1�X����U�
����Hrr6r�g�������?�rur
r�rgr6r�r�s&    r�"test_float_op_refcount_elimination�7TestUopsOptimization.test_float_op_refcount_elimination�s^��	��*�*�8�c�3��5P�Q������s�O�y�$A�B����R� ��2����
�
�n�d�+rc���QoUOUQQQ[12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�h�Uvqq4Qo[U2FDoVQU*U**
oJ	U!rMr�r<r�r�rOrFr�r]s&      rr��HTestUopsOptimization.test_float_add_inplace_unique_lhs.<locals>.testfunc��3���J�A�!��E��1�X���Q����"����Lrr�@�@r��_BINARY_OP_ADD_FLOAT_INPLACErOr�s&    r�!test_float_add_inplace_unique_lhs�6TestUopsOptimization.test_float_add_inplace_unique_lhs�sa��	��*�*�8�c�3��_�5U�V������s�O�d�$:�;����R� ��2����
�
�4�d�;rc���QoUOUQQQ[12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�f�Uvqq4Qo[U2FDoVSV***
oJ	U!rMrrTs&      rr��HTestUopsOptimization.test_float_add_inplace_unique_rhs.<locals>.testfunc��1���J�A�!��E��1�X���Q�U��"����LrrrWrXr��"_BINARY_OP_ADD_FLOAT_INPLACE_RIGHTrOr�s&    r�!test_float_add_inplace_unique_rhs�6TestUopsOptimization.test_float_add_inplace_unique_rhs�sa��	��*�*�8�c�3��_�5U�V������s�O�d�$:�;����R� ��2����
�
�:�D�Arc�"�QoUOUQQ[12vq#UOU[Q*2UOU2[	U2oUOQU2UOQU2UO
QU2P!)c�Z�UvqoQo[U2FDoVAU**
oJ	U!rMr�r<r�r�rFr�r]s&     rr��KTestUopsOptimization.test_float_add_no_inplace_non_unique.<locals>.testfunc�.���G�A�!��E��1�X���Q������LrrrW�@�_BINARY_OP_ADD_FLOATr`rY)rur
r�rgr6r�r�r�s&    r�$test_float_add_no_inplace_non_unique�9TestUopsOptimization.test_float_add_no_inplace_non_uniques��	��*�*�8�c�3��5P�Q������s�O�c�$9�:����R� ��2����
�
�,�d�3��
�
�:�D�A����7��>rc���QoUOUQQQ[12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�h�Uvqq4Qo[U2FDoVQU*U*
*
oJ	U!rMrrTs&      rr��MTestUopsOptimization.test_float_subtract_inplace_unique_lhs.<locals>.testfuncrVrrrWr{rh�!_BINARY_OP_SUBTRACT_FLOAT_INPLACErOr�s&    r�&test_float_subtract_inplace_unique_lhs�;TestUopsOptimization.test_float_subtract_inplace_unique_lhssa��	��*�*�8�c�3��_�5U�V������s�O�c�$9�:����R� ��2����
�
�9�4�@rc���QoUOUQQQ[12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�f�Uvqq4Qo[U2FDoVSV**
*
oJ	U!rMrrTs&      rr��MTestUopsOptimization.test_float_subtract_inplace_unique_rhs.<locals>.testfunc/r_rrrWr{�'_BINARY_OP_SUBTRACT_FLOAT_INPLACE_RIGHTg�rOr�s&    r�&test_float_subtract_inplace_unique_rhs�;TestUopsOptimization.test_float_subtract_inplace_unique_rhs,sa��	��*�*�8�c�3��_�5U�V������s�O�d�$:�;����R� ��2����
�
�?��Frc���QoUOUQQQ[12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�h�Uvqq4Qo[U2FDoVQU*U**
oJ	U!rMrrTs&      rr��MTestUopsOptimization.test_float_multiply_inplace_unique_lhs.<locals>.testfunc>�3���J�A�!��E��1�X���a�%�1��$����LrrrWrX�4@�!_BINARY_OP_MULTIPLY_FLOAT_INPLACErOr�s&    r�&test_float_multiply_inplace_unique_lhs�;TestUopsOptimization.test_float_multiply_inplace_unique_lhs<sa��	��*�*�8�c�3��_�5U�V������s�O�d�$:�;����R� ��2����
�
�9�4�@rc���QoUOUQQQ[12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�f�Uvqq4Qo[U2FDoVSV***
oJ	U!rMrrTs&      rr��MTestUopsOptimization.test_float_multiply_inplace_unique_rhs.<locals>.testfuncMs1���J�A�!��E��1�X���a�e��$����LrrrWrXr|�'_BINARY_OP_MULTIPLY_FLOAT_INPLACE_RIGHTrOr�s&    r�&test_float_multiply_inplace_unique_rhs�;TestUopsOptimization.test_float_multiply_inplace_unique_rhsKsa��	��*�*�8�c�3��_�5U�V������s�O�d�$:�;����R� ��2����
�
�?��Frc��QoUOUQQQQ[12vq#UOU[Q*2UOU2[	U2oQU79%fQU7oUOUQ2P!)	c�v�Uvqq4oQo[U2FDoVaU*V4***
oJ!	U!rMr�r<r�r�rOrrFr�r]s&       rr��KTestUopsOptimization.test_float_inplace_chain_propagation.<locals>.testfunc]s7�� �M�A�!���E��1�X���Q�����&����LrrrWrXrhg:@rYr`�7Expected an inplace add for unique intermediate results�rur
r�rgr6rT�rYr�rQr0r��inplace_adds&     r�$test_float_inplace_chain_propagation�9TestUopsOptimization.test_float_inplace_chain_propagationZs���	��*�*�8�c�3��S�/�5Z�[������s�O�d�$:�;����R� ��2���
+�d�2�
<�
<�3�t�;�	�	
����E�	Grc���QoUOUQQ[12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�\�UvqoQo[U2FDoVAU*'*
oJ	U!rMrres&     rr��GTestUopsOptimization.test_float_negate_inplace_unique.<locals>.testfuncrs1���G�A�!��E��1�X���q�5��!����LrrrW�_UNARY_NEGATIVE_FLOAT_INPLACEg�rOr�s&    r� test_float_negate_inplace_unique�5TestUopsOptimization.test_float_negate_inplace_uniqueps_��	��*�*�8�c�3��5P�Q������s�O�d�$:�;����R� ��2����
�
�5�t�<rc���QoUOUQ[12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�L�UvqQo[U2FDoV1'*
oJ	U!rMr)r<r�rFr�r]s&    rr��NTestUopsOptimization.test_float_negate_no_inplace_non_unique.<locals>.testfunc�s*���D�A��E��1�X��������Lrrr�g�)rur
r�rgr6r�r�s&    r�'test_float_negate_no_inplace_non_unique�<TestUopsOptimization.test_float_negate_no_inplace_non_uniques_��	��*�*�8�c�?�5K�L������s�O�d�$:�;����R� ��2������8�$�?rc���QoUOUQQQQ[12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�v�Uvqq4oQo[U2FDoVaU*V4***
oJ!	U!rMrr�s&       rr��LTestUopsOptimization.test_float_truediv_inplace_unique_lhs.<locals>.testfunc��8�� �M�A�!���E��1�X���a�%�A�E�*�*����LrrrWr{��?� _BINARY_OP_TRUEDIV_FLOAT_INPLACErOr�s&    r�%test_float_truediv_inplace_unique_lhs�:TestUopsOptimization.test_float_truediv_inplace_unique_lhs�sc��	��*�*�8�c�3��S�/�5Z�[������s�O�d�$:�;����R� ��2����
�
�8�$�?rc���QoUOUQQQQ[12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�x�Uvqq4oQo[U2FD oV4*oVhV***
oJ"	U!rMr)	r<r�r�rOrrFr�r]r
s	&        rr��LTestUopsOptimization.test_float_truediv_inplace_unique_rhs.<locals>.testfunc�s<�� �M�A�!���E��1�X���E���a�e��$����LrrrWrXrh�&_BINARY_OP_TRUEDIV_FLOAT_INPLACE_RIGHTg������?rOr�s&    r�%test_float_truediv_inplace_unique_rhs�:TestUopsOptimization.test_float_truediv_inplace_unique_rhs�sc��	��*�*�8�c�3��S�/�5Z�[������s�O�y�$A�B����R� ��2����
�
�>��Erc�"�QoUOUQQ[12vq#UOU[Q*2UOU2[	U2oUOQU2UOQU2UOQU2P!)c�Z�UvqoQo[U2FDoVAU**
oJ	U!rMrres&     rr��YTestUopsOptimization.test_float_truediv_speculative_guards_from_tracing.<locals>.testfunc�rgrr�rWr�r��_BINARY_OP_TRUEDIV_FLOATg������
@rOr�s&    r�2test_float_truediv_speculative_guards_from_tracing�GTestUopsOptimization.test_float_truediv_speculative_guards_from_tracing�s}��
	��*�*�8�d�C��5Q�R������s�O�z�$B�C����R� ��2����
�
�(�$�/��
�
�(�$�/��
�
�0�$�7rc�0�QoUOUQQ[12vq#UOU[Q*Q*2UOU2[	U2oUOQU2UOQU2UOQU2P!)c�h�UvqoQo[U2FDoVAU*Q**
oJ	U!)r�rrres&     rr��[TestUopsOptimization.test_float_remainder_speculative_guards_from_tracing.<locals>.testfunc�s3���G�A�!��E��1�X���a�%�3��&����Lrr�rWrr�r�r}r{rOr�s&    r�4test_float_remainder_speculative_guards_from_tracing�ITestUopsOptimization.test_float_remainder_speculative_guards_from_tracing�s���	��*�*�8�d�C��5Q�R������s�O�z�$B�S�$H�I����R� ��2����
�
�(�$�/��
�
�(�$�/��
�
�9�4�@rc��QoUOUQQ[12vq#[Q*oUOV$2UOU2[	U2oUOQU2UOQU2P!)c��UvqoQo[U2FD'oV*oVFU*Vf**
*
oJ)	U!rMr)r<r�r�rFr�r]r
s&      rr��JTestUopsOptimization.test_float_truediv_type_propagation.<locals>.testfunc�s>���G�A�!��E��1�X���U���Q�����&����LrrrWr�ror�rO�rYr�rQr0rr�s&     r�#test_float_truediv_type_propagation�8TestUopsOptimization.test_float_truediv_type_propagation�su��	��*�*�8�
�#��'�)���"�&[�\�����s�-����R� ��2����
�
�0�$�7��
�
�9�4�@rc
���QoUOUQQQQQQ[12vq#[Q*oUOV$2UOU2[	U2oUOQU2P!)c��Uvqq4qVoQo[U2FD,o	V�U*V4**VV***
oJ.	U!rMr)
r<r�r�rOrrsrIrFr�r]s
&         rr��WTestUopsOptimization.test_float_truediv_unique_result_enables_inplace.<locals>.testfunc�sB��"&��A�!��a��E��1�X���a�%�A�E�*�a�e�4�4����LrrrWr{r�r�rOr�s&     r�0test_float_truediv_unique_result_enables_inplace�ETestUopsOptimization.test_float_truediv_unique_result_enables_inplace�sn��	��*�*�8�
�#�s�C��c�?�;�=���"�&M�N�����s�-����R� ��2����
�
�8�$�?rc��QoUOUQQQQ[12vq#UOU[Q*2UOU2[	U2oQU79%fQU7oUOUQ2P!)	c�v�Uvqq4oQo[U2FDoVaU*V4***
oJ!	U!rMrr�s&       rr��GTestUopsOptimization.test_float_add_chain_both_unique.<locals>.testfuncr�rr{rrWrXr�rYr`z+Expected inplace add for unique sub-resultsr�)rYr�rQr0r��inplaces&     r� test_float_add_chain_both_unique�5TestUopsOptimization.test_float_add_chain_both_unique�s���	��*�*�8�c�3��S�/�5Z�[������s�O�d�$:�;����R� ��2���
+�d�2�
<�
<�3�t�;�	�	
����!N�Orc��`�]QHGnU1QkoUOUR]
2R]2[12vq#[	[R]
]2*2oUOV$2P!)r��Fractionc�z:�UvqoR]2o[U2FDoVAU**
oJ	[U2!r)r"rD)r<r�r�rFr�r]r�s&     �rr��QTestUopsOptimization.test_float_truediv_non_float_type_no_crash.<locals>.testfuncs8����G�A�!��Q�K�E��1�X���Q�������<�r)�	fractionsr�rur
rDr�)rYr�rQr0rr�s&    @r�*test_float_truediv_non_float_type_no_crash�?TestUopsOptimization.test_float_truediv_non_float_type_no_crashsV���	'�	 ��*�*�8�h�r�l�H�Q�K�Q`�5a�b�����8�B��?�:�;�����s�-rc���]QHGoQoUOUQQU]2[12vq4[QU]2**oUO	U[U22P!)rr�c�h�Uvqq4Qo[U2FDoVQU*U**
oJ	U!rMrrTs&      rr��WTestUopsOptimization.test_float_truediv_mixed_float_fraction_no_crash.<locals>.testfunc(r{rrrWrh)r�r�rur
r�rD)rYr�r�rQr0rs&     r�0test_float_truediv_mixed_float_fraction_no_crash�ETestUopsOptimization.test_float_truediv_mixed_float_fraction_no_crash#sV��	'�	��*�*�8�c�3����_�5]�^���"�c�H�Q�K�&7�8�����s�E�(�O�4rc	�h�QoQoV1FD�oUOUOQ59^tt^2UOU[]
*12vqEUO	U2[U2oSO
QU79%fQU7U2PPP2J�	P!)%fhJ�9h)c�j�Uvo[Q2o]U]1Qko[U2FD
oU2J	P!)�nanc�"�V*U*!rrr�s&&&r�victim�iTestUopsOptimization.test_float_truediv_partial_float_no_stack_underflow.<locals>.truediv.<locals>.victim9������{�"r�rDr"�r<rFr�r�r]s&    r�truediv�YTestUopsOptimization.test_float_truediv_partial_float_no_stack_underflow.<locals>.truediv6�1���B�A���,�C��c�Q�
#��1�X����rc�j�Uvo[Q2o]U]1Qko[U2FD
oU2J	P!)r�c�"�V*U*!rrr�s&&&rr��kTestUopsOptimization.test_float_truediv_partial_float_no_stack_underflow.<locals>.remainder.<locals>.victimAr�rr�r�s&    r�	remainder�[TestUopsOptimization.test_float_truediv_partial_float_no_stack_underflow.<locals>.remainder>r�r)�opr�r�)r.rrur
rgr6rT)rYr�r�r�r]r0r�s&      r�3test_float_truediv_partial_float_no_stack_underflow�HTestUopsOptimization.test_float_truediv_partial_float_no_stack_underflow3s���	�	�!�,�H�����!2�!2��3�3��0�0����3�5�7����$�$�R�(�"�2������&�$�.�L�L�2D��2L���4�3�-�3�3�3�s�AB 	�B 	� B1
�)B1
c���QoUOUQ]Q[12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�h�Uvqq4]o[U2FDoVQU*U**
oJ	U!rrrTs&      rr��FTestUopsOptimization.test_int_add_inplace_unique_lhs.<locals>.testfuncU�3���J�A�!��E��1�X���Q����"����Lr���r��_BINARY_OP_ADD_INT_INPLACEr�r�s&    r�test_int_add_inplace_unique_lhs�4TestUopsOptimization.test_int_add_inplace_unique_lhsSsa��	��*�*�8�d�A�t�_�5U�V�������o��5�6����R� ��2����
�
�2�D�9rc���QoUOUQ]Q[12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�f�Uvqq4]o[U2FDoVSV***
oJ	U!rrrTs&      rr��FTestUopsOptimization.test_int_add_inplace_unique_rhs.<locals>.testfuncd�1���J�A�!��E��1�X���Q�U��"����Lrr�r�r�� _BINARY_OP_ADD_INT_INPLACE_RIGHTr�r�s&    r�test_int_add_inplace_unique_rhs�4TestUopsOptimization.test_int_add_inplace_unique_rhsbsa��	��*�*�8�d�A�t�_�5U�V�������o��5�6����R� ��2����
�
�8�$�?rc�"�QoUOUQQ[12vq#UOU[Q*2UOU2[	U2oUOQU2UOQU2UO
QU2P!)c�Z�Uvqo]o[U2FDoVAU**
oJ	U!rrres&     rr��ITestUopsOptimization.test_int_add_no_inplace_non_unique.<locals>.testfuncus.���G�A�!��E��1�X���Q������Lrr���r�r�r�r�r�s&    r�"test_int_add_no_inplace_non_unique�7TestUopsOptimization.test_int_add_no_inplace_non_uniqueqs��	��*�*�8�d�D�/�5R�S�������o��4�5����R� ��2����
�
�*�D�1��
�
�8�$�?����5�t�<rc��QoUOU]][12vq#UOU[]*2UO]]2P!)c�h�Uvqo]o[U2FDoVAU*]**
oJ	U!rrres&     rr��LTestUopsOptimization.test_int_add_inplace_small_int_result.<locals>.testfunc�s3���G�A�!��E��1�X���Q����"����Lr)rur
r�rPs&   r�%test_int_add_inplace_small_int_result�:TestUopsOptimization.test_int_add_inplace_small_int_result�sI��	��*�*�8�a��O�5L�M�������o��1�2�����E�"rc���QoUOUQ]Q[12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�h�Uvqq4]o[U2FDoVQU*U*
*
oJ	U!rrrTs&      rr��KTestUopsOptimization.test_int_subtract_inplace_unique_lhs.<locals>.testfunc�r�rr�r.r��_BINARY_OP_SUBTRACT_INT_INPLACEr�r�s&    r�$test_int_subtract_inplace_unique_lhs�9TestUopsOptimization.test_int_subtract_inplace_unique_lhs�sa��	��*�*�8�d�A�t�_�5U�V�������o��4�5����R� ��2����
�
�7��>rc���QoUOUQ]Q[12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�f�Uvqq4]o[U2FDoVSV**
*
oJ	U!rrrTs&      rr��KTestUopsOptimization.test_int_subtract_inplace_unique_rhs.<locals>.testfunc�r�rr�r�r��%_BINARY_OP_SUBTRACT_INT_INPLACE_RIGHTr�r�s&    r�$test_int_subtract_inplace_unique_rhs�9TestUopsOptimization.test_int_subtract_inplace_unique_rhs�sa��	��*�*�8�d�A�u�o�5V�W�������o��4�5����R� ��2����
�
�=�t�Drc���QoUOUQQ][12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�h�Uvqq4]o[U2FDoVQU*U**
oJ	U!rrrTs&      rr��KTestUopsOptimization.test_int_multiply_inplace_unique_lhs.<locals>.testfunc�s3���J�A�!��E��1�X���a�%�1��$����Lrr�r�� N�_BINARY_OP_MULTIPLY_INT_INPLACEr�r�s&    r�$test_int_multiply_inplace_unique_lhs�9TestUopsOptimization.test_int_multiply_inplace_unique_lhs�sa��	��*�*�8�d�D�!�_�5U�V�������o��5�6����R� ��2����
�
�7��>rc���QoUOUQQ][12vq#UOU[Q*2UOU2[	U2oUOQU2P!)c�f�Uvqq4]o[U2FDoVSV***
oJ	U!rrrTs&      rr��KTestUopsOptimization.test_int_multiply_inplace_unique_rhs.<locals>.testfunc�s1���J�A�!��E��1�X���a�e��$����Lrr�r�r�%_BINARY_OP_MULTIPLY_INT_INPLACE_RIGHTr�r�s&    r�$test_int_multiply_inplace_unique_rhs�9TestUopsOptimization.test_int_multiply_inplace_unique_rhs�sa��	��*�*�8�d�D�!�_�5U�V�������o��5�6����R� ��2����
�
�=�t�Drc��QoUOUQ]Q][12vq#UOU[Q*2UOU2[	U2oQU79%fQU7oUOUQ2P!)c�v�Uvqq4o]o[U2FDoVaU*V4***
oJ!	U!rrr�s&       rr��ITestUopsOptimization.test_int_inplace_chain_propagation.<locals>.testfunc�s7�� �M�A�!���E��1�X���Q�����&����Lrr�r�i�er�r�r�)rur
r�rgr6rTr�s&     r�"test_int_inplace_chain_propagation�7TestUopsOptimization.test_int_inplace_chain_propagation�s���	��*�*�8�d�A�t�Q��5X�Y�������o��5�6����R� ��2���(�D�0�
:�
:�1�T�9�	�	
����E�	Grc�"�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
[UQ2]2UOQU2P!)c�x�QQ2oU2oVm]o[U2FDoUOoJ	U!)c��\sQsQsQsP!)�OTestUopsOptimization.test_load_attr_instance_value.<locals>.testfunc.<locals>.Ci�rrrrrrHr#����rrH�r
r"�rFrHrOr
r]s&    rr��DTestUopsOptimization.test_load_attr_instance_value.<locals>.testfunc�s9��
�
���A��C��A��1�X���C�C����Hr�_LOAD_ATTR_INSTANCE_VALUErZr�r\r�s&    r�test_load_attr_instance_value�2TestUopsOptimization.test_load_attr_instance_value�sx��	��*�*�8�_�E�������o�.����R� ��2����
�
�1�4�8����Y�r�:�6��:��
�
�n�d�+rc�&�QoUOU[2vq#UOU[2UOU2[	U2oUOQ[OU22UO[UQ2]2P!)c�x�]PHo]o[U2FD"oUOoU%fJU]*
oJ$	U!r)�mathr"�pi)rFr-r
r]rs&    rr��<TestUopsOptimization.test_load_attr_module.<locals>.testfunc�s6����A��1�X���G�G���1���F�A���HrrZ)�_LOAD_ATTR_MODULEr�)
rur
r�rgr6r�r+�pairwiserr>r�s&    r�test_load_attr_module�*TestUopsOptimization.test_load_attr_module�sv��	��*�*�8�_�E�������o�.����R� ��2����
�
�;�Y�=O�=O�PT�=U�V����Y�r�:�6��:rc�0�QoUOU[2vq#UOU]*[*2UOU2[	U2oUOQU2UO
[UQ2]2UOQU2P!)c��QQ2oU2o]*Um[[O]*
2FDo[	UQU0P2J	]o[U2FDoVBO*
oJ	U!)c��\sQsQsQsP!)�JTestUopsOptimization.test_load_attr_with_hint.<locals>.testfunc.<locals>.Ci
rrrrrrHr7
r$rrHr])r
r"r�SHARED_KEYS_MAX_SIZEre)rFrHrOr(r
s&    rr��?TestUopsOptimization.test_load_attr_with_hint.<locals>.testfuncsk��
�
���A��A�C��,�A�A�A�E�F����Q�q�c�7�D�)�G��A��1�X���S�S�����Hr�_LOAD_ATTR_WITH_HINTrZr�r\r�s&    r�test_load_attr_with_hint�-TestUopsOptimization.test_load_attr_with_hints}��
	��*�*�8�_�E�������b�?�2�3����R� ��2����
�
�,�d�3����Y�r�:�6��:��
�
�n�d�+rc�0�QoUOU[2vq#UOU]*[*2UOU2[	U2oUOQU2UO
[UQ2]2UOQU2P!)c��QQ2oU2o]*Um]o[U2FDoV2O*
oJ	U!)c��\sQsQsQsQsP!)�ETestUopsOptimization.test_load_addr_slot.<locals>.testfunc.<locals>.Ci"rr/�rrrrrrrrrrHr@"s��"�	rrHr%r&s&    rr��:TestUopsOptimization.test_load_addr_slot.<locals>.testfunc!s=��
#�
#���A��A�C��A��1�X���S�S�����Hr�_LOAD_ATTR_SLOTrZr�r\r�s&    r�test_load_addr_slot�(TestUopsOptimization.test_load_addr_slot s}��	��*�*�8�_�E�������b�?�2�3����R� ��2����
�
�'��.����Y�r�:�6��:��
�
�n�d�+rc��QoUOU[2vq#UOU2[U2oUO	QU2UO	QU2UO[
UQ2]2P!)c�F�]o]o[U2FDoV*oJ
	U!r�r�rFrOrQr]s&   rr��KTestUopsOptimization.test_int_add_op_refcount_elimination.<locals>.testfunc4�&���A��C��1�X���e����Jrr�r�rZr@r�s&    r�$test_int_add_op_refcount_elimination�9TestUopsOptimization.test_int_add_op_refcount_elimination3sh��	��*�*�8�_�E������R� ��2����
�
�*�D�1��
�
�n�d�+����Y�r�:�6��:rc��QoUOU[2vq#UOU2[U2oUO	QU2UO	QU2UO[
UQ2]2P!)c�F�]o]o[U2FDoV*
oJ
	U!r�rrHs&   rr��KTestUopsOptimization.test_int_sub_op_refcount_elimination.<locals>.testfuncCrJr�_BINARY_OP_SUBTRACT_INTr�rZr@r�s&    r�$test_int_sub_op_refcount_elimination�9TestUopsOptimization.test_int_sub_op_refcount_eliminationB�h��	��*�*�8�_�E������R� ��2����
�
�/��6��
�
�n�d�+����Y�r�:�6��:rc��QoUOU[2vq#UOU2[U2oUO	QU2UO	QU2UO[
UQ2]2P!)c�F�]o]o[U2FDoV*oJ
	U!r�rrHs&   rr��KTestUopsOptimization.test_int_mul_op_refcount_elimination.<locals>.testfuncRrJr�_BINARY_OP_MULTIPLY_INTr�rZr@r�s&    r�$test_int_mul_op_refcount_elimination�9TestUopsOptimization.test_int_mul_op_refcount_eliminationQrSrc��QoUOU[2vq#UOU2[U2oUO	QU2UO	QU2UO[
UQ2]2P!)c�>�]o]o[U2FDoV6HoJ		U!r�rrHs&   rr��KTestUopsOptimization.test_int_cmp_op_refcount_elimination.<locals>.testfuncas&���A��C��1�X���f����Jrr	r�rZr@r�s&    r�$test_int_cmp_op_refcount_elimination�9TestUopsOptimization.test_int_cmp_op_refcount_elimination`�h��	��*�*�8�_�E������R� ��2����
�
�'��.��
�
�n�d�+����Y�r�:�6��:rc��QoUOU[2vq#UOU2[U2oUO	QU2UO	QU2UO[
UQ2]2P!)c�>�QoP
o[U2FDoV6HoJ		U!r�rrHs&   rr��MTestUopsOptimization.test_float_cmp_op_refcount_elimination.<locals>.testfuncp�&���A��C��1�X���f����Jrrr�rZr@r�s&    r�&test_float_cmp_op_refcount_elimination�;TestUopsOptimization.test_float_cmp_op_refcount_eliminationosh��	��*�*�8�_�E������R� ��2����
�
�)�4�0��
�
�n�d�+����Y�r�:�6��:rc��QoUOU[2vq#UOU2[U2oUO	QU2UO	QU2UO[
UQ2]2P!)c�>�QoP
o[U2FDoV6HoJ		U!�r�rrHs&   rr��KTestUopsOptimization.test_str_cmp_op_refcount_elimination.<locals>.testfuncrcrrr�rZr@r�s&    r�$test_str_cmp_op_refcount_elimination�9TestUopsOptimization.test_str_cmp_op_refcount_elimination~r_rc��QoUOU[2vq#UOUQ2UOU2[	U2oUOQU2UOQU2UO
[UQ2]2P!)c�F�QoPo[U2FDoV*oJ
	U!rhrrHs&   rr��OTestUopsOptimization.test_unicode_add_op_refcount_elimination.<locals>.testfunc�s&���A��C��1�X���e����Jr�aar�r�rZr\r�s&    r�(test_unicode_add_op_refcount_elimination�=TestUopsOptimization.test_unicode_add_op_refcount_elimination�sx��	��*�*�8�_�E�������d�#����R� ��2����
�
�.��5��
�
�n�d�+����Y�r�:�6��:rc�<`�U1QkQ2nU1QkoUOU[2vq#UOU]2UOU2[	U2oUOQU2UOQU2UO
[UQ2]2P!)c�6:`�\sQsQsnQsU1QksQsUsP!)�MTestUopsOptimization.test_binary_op_refcount_elimination.<locals>.CustomAdderi�c��VmP!rr�r�s&&rrZ�VTestUopsOptimization.test_binary_op_refcount_elimination.<locals>.CustomAdder.__init__�r�rc�L:�RUOUO*2!rr�)rY�other�CustomAdders&&�r�__add__�UTestUopsOptimization.test_binary_op_refcount_elimination.<locals>.CustomAdder.__add__�s���"�4�8�8�e�i�i�#7�8�8rr�)rrrrrZrzrr�)r�rys@�rryrt�s����
�
9�
9rryc�:�R]2oR]2oPo[U2FDoV*oJ
	U%c
UO!]!r��r"r�)rFr�r�rQr]rys&    �rr��JTestUopsOptimization.test_binary_op_refcount_elimination.<locals>.testfunc�s@����A��A��A��A��C��1�X���e���!�3�7�7�(�q�(r�
_BINARY_OPr�rZr\)rYr�rQr0r�rys&    @r�#test_binary_op_refcount_elimination�8TestUopsOptimization.test_binary_op_refcount_elimination�s����	9�	9�	)��*�*�8�_�E�������a� ����R� ��2����
�
�l�D�)��
�
�n�d�+����Y�r�:�6��:rc��QoUOU[2vq#UOUQ2UOU2[	U2oUOQU2UOQU2UO
[UQ2]2P!)c�J�Qo]oQo[U2FDoV*oJ
	U!)rmr�r)rFr�r�rQr]s&    rr��`TestUopsOptimization.test_binary_op_extend_float_long_add_refcount_elimination.<locals>.testfunc�s+���A��A��C��1�X���e����Jr�@�_BINARY_OP_EXTENDr�rZr\r�s&    r�9test_binary_op_extend_float_long_add_refcount_elimination�NTestUopsOptimization.test_binary_op_extend_float_long_add_refcount_elimination�sx��	��*�*�8�_�E�������c�"����R� ��2����
�
�)�4�0��
�
�n�d�+����Y�r�:�6��:rc���QoUOU[2vq#UOU]2UOU2[	U2oUOQU2UO
QU2P!)c�f�[U2FDoU[6Ho,QNPUoU%fJ]!	]!�rMr%rl)rFr(rP�sliceds&   rrI�@TestUopsOptimization.test_remove_guard_for_slice_list.<locals>.f�s3���1�X���_�,��"�6�E�*���6��	�
rr�r�r�r's&    r� test_remove_guard_for_slice_list�5TestUopsOptimization.test_remove_guard_for_slice_list�sc��	��*�*�1�o�>�������a� ����R� ��2����
�
�o�t�,����*�D�1rc��QoUOU[2vq#UOU2[U2oUO	QU2UOQU2P!)c�\�[U2FDoU[6HoQPU]*vq4J	P!r�rl)rFr(rPr�r�s&    rrI�ATestUopsOptimization.test_remove_guard_for_slice_tuple.<locals>.f�s.���1�X���_�,�� ��5�1�9�-���1�rrr1r�)rYrIr]r0r�s&    r�!test_remove_guard_for_slice_tuple�6TestUopsOptimization.test_remove_guard_for_slice_tuple�sT��	.�
�(�(��O�<������R� ��2����
�
�2�D�9����+�T�2rc�*�QoUOU[2vq#UOUQ2UOU2[	U2oUOQU2UOQU2UO
QU2UO
QU2P!)c�Z�QoQoQo[U2FDo]U*U*oJ	U!)r�rr�r)rFr
rrQr]s&    rr��bTestUopsOptimization.test_binary_op_extend_float_result_enables_inplace_multiply.<locals>.testfunc�s1���A��A��C��1�X���1�u��k����Jrg&@r�r}�_BINARY_OP_MULTIPLY_FLOATr�r�r�s&    r�;test_binary_op_extend_float_result_enables_inplace_multiply�PTestUopsOptimization.test_binary_op_extend_float_result_enables_inplace_multiply�s���	��*�*�8�_�E�������d�#����R� ��2����
�
�)�4�0��
�
�9�4�@����4�d�;�	
���+�T�2rc��QoUOU[2vq#UOUP
2UOU2[	U2oUOQU2UOQU2UO
QU2P!)c�x�]],o]],oP	o[U2FDoV*oU]*%fJP
oJ 	U!r�r)rFr�r�r
r]rOs&     rr��YTestUopsOptimization.test_binary_op_extend_list_concat_type_propagation.<locals>.testfunc�sC���A��A��A��A��A��1�X���E���Q�4�4��A���Hrr�r�r�r�r�s&    r�2test_binary_op_extend_list_concat_type_propagation�GTestUopsOptimization.test_binary_op_extend_list_concat_type_propagation�su��	��*�*�8�_�E�������e�$����R� ��2����
�
�)�4�0�	
�
�
�2�D�9����*�D�1rc��QoUOU[2vq#UOU]
2UOU2[	U2oUOQU2UOQU2UO
QU2P!)c�v�QoQo[U2FDoV*vqEqgJ	WW*W*W*!)rMrn)rKrJr)rF�t1�t2r]r�r�rOrs&       rr��ZTestUopsOptimization.test_binary_op_extend_tuple_concat_type_propagation.<locals>.testfuncs9���B��B��1�X���W�
��a����q�5�1�9�q�=� rr�r�r1r�r�s&    r�3test_binary_op_extend_tuple_concat_type_propagation�HTestUopsOptimization.test_binary_op_extend_tuple_concat_type_propagationss��	!��*�*�8�_�E�������b�!����R� ��2����
�
�)�4�0��
�
�.��5����+�T�2rc�&�QoUOU[2vq#UOU[2UOU2[	U2oUOUOQ2]2UOUOQ2]2P!)c��]],o]],o]o[U2FD"oV*oVU*oV6]**
oJ$	U!r�r�rFr�r�r�r]rOrs&      rr��NTestUopsOptimization.test_binary_op_extend_guard_elimination.<locals>.testfunc&�G���A��A��A��A��E��1�X���E���E���1��
����Lrr��_GUARD_BINARY_OP_EXTENDr�r�s&    r�'test_binary_op_extend_guard_elimination�<TestUopsOptimization.test_binary_op_extend_guard_elimination"sz��	��*�*�8�_�E�������o�.����R� ��2���������$7�8�!�<�	
������$=�>��Brc��QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2UO
QU2P!)c��]],o]],o]o[U2FD"oV*oVR*oV6]**
oJ$	U!r�rr�s&      rr��TTestUopsOptimization.test_binary_op_extend_partial_guard_lhs_known.<locals>.testfunc?r�rr��_GUARD_BINARY_OP_EXTEND_RHS�_GUARD_BINARY_OP_EXTEND_LHSr�r�s&    r�-test_binary_op_extend_partial_guard_lhs_known�BTestUopsOptimization.test_binary_op_extend_partial_guard_lhs_known:�s��
	��*�*�8�_�E�������o�.����R� ��2����
�
�)�4�0��
�
�3�T�:����6��=rc��QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UOQU2UO
QU2P!)c��]],o]],o]o[U2FD"oV*oV%*oV6]**
oJ$	U!r�rr�s&      rr��TTestUopsOptimization.test_binary_op_extend_partial_guard_rhs_known.<locals>.testfuncVr�rr�r�r�r�r�s&    r�-test_binary_op_extend_partial_guard_rhs_known�BTestUopsOptimization.test_binary_op_extend_partial_guard_rhs_knownQr�rc��QoU[2[U2oUOU2[U2oUO	QU2UO	QU2P!)c�H�[U2FDoQoU&U&*oJ	P!)�$r)rFr]r�r
s&   rr��BTestUopsOptimization.test_unary_invert_long_type.<locals>.testfuncis"���1�X�����B�!��G��rr|r}�r
r)rgr6r�r�s&   r�test_unary_invert_long_type�0TestUopsOptimization.test_unary_invert_long_typehsT��	�
	��!�
��
)�����R� ��2������)�4�0����)�4�0rc�0�QoUOU[2vq#UOU[]*
2UOU2[	U2oUOQU2UO
[UQ2]2UOQU2P!)c�p�QQ2oU2o[U2FD	oV2mJ	UO!)c��\sQsQsQsP!)�PTestUopsOptimization.test_store_attr_instance_value.<locals>.testfunc.<locals>.CiyrrrrrrHr�yr$rrH)r"r��rFrHrOr(s&   rr��ETestUopsOptimization.test_store_attr_instance_value.<locals>.testfuncxs/��
�
���A��1�X������3�3�Jr�_STORE_ATTR_INSTANCE_VALUErZr�r\r�s&    r�test_store_attr_instance_value�3TestUopsOptimization.test_store_attr_instance_valuews}��	��*�*�8�_�E�������o��1�2����R� ��2����
�
�2�D�9����Y�r�:�6��:��
�
�n�d�+rc�0�QoUOU[2vq#UOU[]*
2UOU2[	U2oUOQU2UO
[UQ2]2UOQU2P!)c���QQ2oU2o[[O]*
2FDo[UQU0P2J	[U2FD	oV2mJ	UO!)c��\sQsQsQsP!)�KTestUopsOptimization.test_store_attr_with_hint.<locals>.testfunc.<locals>.Ci�rrrrrrHr��r$rrHr])r"rr8rer
r�s&   rr��@TestUopsOptimization.test_store_attr_with_hint.<locals>.testfunc�s_��
�
���A��,�A�A�A�E�F����Q�q�c�7�D�)�G��1�X������3�3�Jr�_STORE_ATTR_WITH_HINTrZr�r\r�s&    r�test_store_attr_with_hint�.TestUopsOptimization.test_store_attr_with_hint�s}��		��*�*�8�_�E�������o��1�2����R� ��2����
�
�-�t�4����Y�r�:�6��:��
�
�n�d�+rc�>�QoUOU[2vq#UOU]
2UOU2[	U2oUOQU2UO
[UQ2]2UOQU2UOQU2P!)c�p�,QNo[U2FDo]U]$]U]$]U]$]U]$J	[U2!)r)rrrr)r"r�)rFr�r]s&  rr��<TestUopsOptimization.test_store_subscr_int.<locals>.testfunc�sD���A��1�X����!����!����!����!��	�
�q�6�Mrr�rZr[r�)	rur
r�rgr6r�rr>r�r�s&    r�test_store_subscr_int�*TestUopsOptimization.test_store_subscr_int�s���	��*�*�8�_�E�������b�!����R� ��2����
�
�.��5����Y�r�:�6��:������.��
�
�n�d�+rc�`�QQ2nU1QkoUOU[2vq#UOU]*2UOU2[	U2oUOQU2UOQU2P!)c��\sQsQsQsQsP!)�4TestUopsOptimization.test_store_attr_slot.<locals>.Ci�rr/rArrrrHr��s���IrrHc�d:�R2o[U2FDo]*UmUOoJ	W!r�)r"r
)rFrOr]rrHs&   �rr��;TestUopsOptimization.test_store_attr_slot.<locals>.testfunc�s/�����A��1�X������C�C����Hr�_STORE_ATTR_SLOTr�r�r�s&    @r�test_store_attr_slot�)TestUopsOptimization.test_store_attr_slot�sl���	�	�	��*�*�8�_�E�������b�!����R� ��2����
�
�(�$�/��
�
�n�d�+rc��QoUOU[2vq#UOU]
2UOU2[	U2oUOQU2UO
[UQ2]2UOQU2P!)c��-o[U2FDo]UQ$]UQ$]UQ$]UQ$J	[UO22!)rMr�r�rOr)r"r�rr�s&  rr��=TestUopsOptimization.test_store_subscr_dict.<locals>.testfunc�sK���A��1�X����#����#����#����#��	�
�q�x�x�z�?�"rr�rZr�r\r�s&    r�test_store_subscr_dict�+TestUopsOptimization.test_store_subscr_dict�sx��	#��*�*�8�_�E�������b�!����R� ��2����
�
�5�t�<����Y�r�:�6��:��
�
�n�d�+rc��QoUOU[2vq#UOU]2UOU2[	U2oUOQU2UO
[UQ2]2UOQU2P!)c�b�[U2FDoU[6HoQPUoU%fJ]!	]!r�rlr�s&   rrI�0TestUopsOptimization.test_to_bool_str.<locals>.f�r�rr�rZr�r\r's&    r�test_to_bool_str�%TestUopsOptimization.test_to_bool_str��w��	��*�*�1�o�>�������a� ����R� ��2����
�
�n�d�+����Y�r�:�6��:��
�
�n�d�+rc��QoUOU[2vq#UOU]2UOU2[	U2oUOQU2UO
[UQ2]2UOQU2P!)c�j�[U2FD!oU[6Ho]U*oU%fJ]!	]!rrl)rFr(�truthyr
s&   rrI�0TestUopsOptimization.test_to_bool_int.<locals>.f�s0���1�X����.����J���1��	�
r�_TO_BOOL_INTrZr�r\r's&    r�test_to_bool_int�%TestUopsOptimization.test_to_bool_int�r�rc��QoUOU[2vq#UOU]2UOU2[	U2oUOQU2UO
[UQ2]2UOQU2P!)c�f�[U2FDoU[6wc,L],oU%fJ]!	]!r�rl)rFr(r+s&  rrI�1TestUopsOptimization.test_to_bool_list.<locals>.f�s-���1�X����0�b�q�c���3���rr�rZr�r\r's&    r�test_to_bool_list�&TestUopsOptimization.test_to_bool_list�sw��	��*�*�1�o�>�������a� ����R� ��2����
�
�o�t�,����Y�r�:�6��:��
�
�n�d�+rc��QoUOU[2vq#UOU]2UOU2[	U2oUOQU2P!)c�h�QQ2oU2o[U2FDoU%cJ
]!	]!)c��\sQsQsQsP!)�JTestUopsOptimization.test_to_bool_always_true.<locals>.testfunc.<locals>.Airrrrrr�r�r$rr�r)rFr�r�r]s&   rr��?TestUopsOptimization.test_to_bool_always_true.<locals>.testfuncs0��
�
���A��1�X���q���r�_REPLACE_WITH_TRUEr�r�s&    r�test_to_bool_always_true�-TestUopsOptimization.test_to_bool_always_truesU��	��*�*�8�_�E�������a� ����R� ��2������-�t�4rc�^�[OQ[OQ22P!)r�a|
        import _testinternalcapi
        import _opcode
        import email

        def get_first_executor(func):
            code = func.__code__
            co_code = code.co_code
            for i in range(0, len(co_code), 2):
                try:
                    return _opcode.get_executor(code, i)
                except ValueError:
                    pass
            return None

        def testfunc(n):
            for _ in range(n):
                email.jit_testing = None
                prompt = email.jit_testing
                del email.jit_testing


        testfunc(_testinternalcapi.TIER2_THRESHOLD)
        �rr/rPrQr�s&r�test_attr_promotion_failure�0TestUopsOptimization.test_attr_promotion_failures$��	�&�&�t�X�_�_�>�.
�	rc��QoU[2[U2oUOU2[U2oUO	QU2P!)c�D�[U2FDo[P2J	P!rr�r�s& rr��CTestUopsOptimization.test_pop_top_specialize_none.<locals>.testfunc3s���1�X����%�rr�r�r�s&   r�test_pop_top_specialize_none�1TestUopsOptimization.test_pop_top_specialize_none2s@��	&�	��!�
��
)�����R� ��2����
�
�n�d�+rc��QoU[2[U2oUOU2[U2oUO	QU2P!)c�D�[U2FDo[Q2J	P!)i��r�r�s& rr��BTestUopsOptimization.test_pop_top_specialize_int.<locals>.testfunc@s���1�X����'�rr[r�r�s&   r�test_pop_top_specialize_int�0TestUopsOptimization.test_pop_top_specialize_int?s@��	(�	��!�
��
)�����R� ��2����
�
�n�d�+rc��QoU[2[U2oUOU2[U2oUO	QU2P!)c�D�[U2FDo[Q2J	P!)g��.Ar�r�s& rr��DTestUopsOptimization.test_pop_top_specialize_float.<locals>.testfuncMs���1�X����$�r�_POP_TOP_FLOATr�r�s&   r�test_pop_top_specialize_float�2TestUopsOptimization.test_pop_top_specialize_floatLsA��	%�	��!�
��
)�����R� ��2����
�
�&��-rc��QoU[2[U2oUOU2[U2oUO	QU2UO	QU2UO	QU2UO	QU2P!)c�b�[U2FDoQoQoU'U'*oU'U'*oJ	P!)r�g�Z�@r)rFr]r�rIr
rs&     rr��JTestUopsOptimization.test_unary_negative_long_float_type.<locals>.testfunc[s4���1�X�������B�!��G���B�!��G��	rr|r}r�r�r�r�s&   r�#test_unary_negative_long_float_type�8TestUopsOptimization.test_unary_negative_long_float_typeZsv��	�	��!�
��
)�����R� ��2������)�4�0����)�4�0����+�T�2����+�T�2rc��QoU[2[U2oUOU2[U2oUO	QU2P!)c�@�[U2FDo]]A*J	P!r�rr�s& rr��GTestUopsOptimization.test_binary_op_constant_evaluate.<locals>.testfuncns���1�X���R���rrr�r�s&   r� test_binary_op_constant_evaluate�5TestUopsOptimization.test_binary_op_constant_evaluatemsB��	�	��!�
��
)�����R� ��2���	
�
�
�l�D�)rc� �Qo[OUO-2oQoU2oUU,[*2U2oUO	[
29^tt^2UVE,2PPP2P!)%fhP!9h)zDIssue 136154: Check that jitted code spots the change in the globalsc��QoU!)c��[!r)�
GLOBAL_136154rrrrI�UTestUopsOptimization.test_jitted_code_sees_changed_globals.<locals>.make_f.<locals>.fs��$�$rr)rIs r�make_f�JTestUopsOptimization.test_jitted_code_sees_changed_globals.<locals>.make_f~s��
%��Hrc�*�SFD
oU2J	P!rr)r\rs& r�jitted�JTestUopsOptimization.test_jitted_code_sees_changed_globals.<locals>.jitted�s������r)�types�FunctionTyper r
r'�	NameError)rYr#	�make_f_with_bad_globalsr&	rI�f_with_bad_globalss&     r�%test_jitted_code_sees_changed_globals�:TestUopsOptimization.test_jitted_code_sees_changed_globals{sq��	�
#(�"4�"4�V�_�_�b�"I��	�

�H����s�_�$�%�4�6��
�
�
�y�
)�
)��A�*�+�*�
)�
)�
)�s�(
A<�<B
	�B
	c�0�QoU2QoU2P!)c�Z�[[]*2FDo[Q2J	P!)rMz1value that won't occur elsewhere to avoid sharing)r"r
r�rms r�f1�QTestUopsOptimization.test_reference_tracking_across_call_doesnt_crash.<locals>.f1�s���?�Q�.�/���G�H�0rc�Z�[[]*2FDo[Q2J	P!)rM)�i���zwon't occur elsewhere)r"r
rrms r�f2�QTestUopsOptimization.test_reference_tracking_across_call_doesnt_crash.<locals>.f2�s���?�Q�.�/���<�=�0rr)rYr1	r6	s&  r�0test_reference_tracking_across_call_doesnt_crash�ETestUopsOptimization.test_reference_tracking_across_call_doesnt_crash�s��	I�
	��	>�
	�rc��QoU2P!)c��[[]*2FDo[U2J	P![cJ#h9hr^)r"r
�undefined_variabler )r(s rrI�ITestUopsOptimization.test_next_instr_for_exception_handler_set.<locals>.f�s7���?�Q�.�/���&�q�)�0��!����s�.�	=�=�=rr|s& r�)test_next_instr_for_exception_handler_set�>TestUopsOptimization.test_next_instr_for_exception_handler_set�s��	�	
�rc��QoU2P!)c�x�,o[[]*2FD	o]UP$J	P![cJh9hr^)r"r
r )�a_listr]s  rrI�UTestUopsOptimization.test_next_instr_for_exception_handler_set_lasts_instr.<locals>.f�s=���F��?�Q�.�/���!"�F�2�J�0��!����s�*�	9�9�9rr|s& r�5test_next_instr_for_exception_handler_set_lasts_instr�JTestUopsOptimization.test_next_instr_for_exception_handler_set_lasts_instr�s��	�	
�rc��[OQ[OQ[O
*22P!)r�a�
            import sys
            t = tuple(range(%d))
            def simple_for():
                for x in t:
                    x

            def gen():
                try:
                    yield
                except:
                    simple_for()

            sys.settrace(lambda *args: None)
            simple_for()
            g = gen()
            next(g)
        )rr/rPrQr�SPECIALIZATION_THRESHOLDr�s&r�2test_interpreter_finalization_with_generator_alive�GTestUopsOptimization.test_interpreter_finalization_with_generator_alive�s2���&�&�t�X�_�_�>�" �8�8�#>9�.:�	;rc���QoU2[U2oUO[U2]2STt,tFDo[U2MJ	ooSFD�o[	U2o[U2FD~vqxU]*o	U	Q6Xc>U]*o
[OU
2oUO[U2U2JlU	Q6XcJwU	Q6XfJfUOQUQUQ02J�	J�	P!ttoh)c��[[]*2FD)o[[]*2FDoV*oJ
	J+	P!r^rl)r
rr�s   rrI�PTestUopsOptimization.test_executor_side_exits_create_another_executor.<locals>.f�s1���?�Q�.�/�����2�3�A���A�4�0r�_EXIT_TRACEr��_DEOPTz%_DEOPT encountered first at executor z at offset z! rather than expected _EXIT_TRACE)
r-r~r#r�r:rSr�get_exit_executorr��fail)rYrI�
all_executorsrs�executor_ids�executor�ops�idxr�r=�exit�link_tos&           r�0test_executor_side_exits_create_another_executor�ETestUopsOptimization.test_executor_side_exits_create_another_executor�s���	�
	
��)�!�,�
�	
����M� 2�A�6�'4�5�}�!��1��}��5�%�H��(�#�C�%�S�>����A����]�*�
�a�5�D�/�A�A�$�G�G��M�M�"�W�+�|�<���~�-���x�'��I�I�!"�"*��;�s�e�<;�<�=�*�	&��6s�C2c
��[OQ[OQ[]*Q[]*Q02QQ5P!)r�z5
            def f():
                for x in range(z&):
                    for y in range(z>):
                        z = x + y

            f()
        r�r��rr/rPrQr
r�s&r�.test_jit_shutdown_after_cold_executor_creation�CTestUopsOptimization.test_jit_shutdown_after_cold_executor_creation�sM���&�&�t�X�_�_�B � /�!� 3�4�5$�$3�a�$7�#8�9	�>�.
��	rc�^�[OQ[OQ22P!)r�a
            import sys
            sys.setrecursionlimit(30) # reduce time of the run

            str_v1 = ''
            tuple_v2 = (None, None, None, None, None)
            small_int_v3 = 4

            def f1():

                for _ in range(10):
                    abs(0)

                tuple_v2[small_int_v3]
                tuple_v2[small_int_v3]
                tuple_v2[small_int_v3]

                def recursive_wrapper_4569():
                    str_v1 > str_v1
                    str_v1 > str_v1
                    str_v1 > str_v1
                    recursive_wrapper_4569()

                recursive_wrapper_4569()

            for i_f1 in range(19000):
                try:
                    f1()
                except RecursionError:
                    pass
        r	r�s&r� test_enter_executor_valid_op_arg�5TestUopsOptimization.test_enter_executor_valid_op_arg�s"���&�&�t�X�_�_�>�.
�	rc�^�[OQ[OQ22P!)r�a�
            from concurrent.futures import ThreadPoolExecutor
            from unittest import TestCase
            NTHREADS = 6
            BOTTOM = 0
            TOP = 1250000
            class A:
                attr = 10**1000
            class TestType(TestCase):
                def read(id0):
                    for _ in range(BOTTOM, TOP):
                        A.attr
                def write(id0):
                    x = A.attr
                    x += 1
                    A.attr = x
                    with ThreadPoolExecutor(NTHREADS) as pool:
                        pool.submit(read, (1,))
                        pool.submit(write, (1,))
        r	r�s&r�"test_attribute_changes_are_watched�7TestUopsOptimization.test_attribute_changes_are_watcheds"���&�&�t�X�_�_�>�.
�	rc��QQ2oQQ2oU2o-Um[[]*2FDoUUO2UmJ	P!)c�.`�\sQsQsnQsQsQsUsP!)�QTestUopsOptimization.test_handling_of_tos_cache_with_side_exits.<locals>.EvilAttri5c��VmP!r�r)rYrs&&rrZ�ZTestUopsOptimization.test_handling_of_tos_cache_with_side_exits.<locals>.EvilAttr.__init__6r\rc�H�UOQP![cP!h9hr�)rr r�s&rr=�YTestUopsOptimization.test_handling_of_tos_cache_with_side_exits.<locals>.EvilAttr.__del__9s$������v��� ����s�
�	!�!�!rh	)rrrrrZr=rr�r�s@r�EvilAttrrf	5s����
�
�
rrl	c��\sQsQsQsP!)�LTestUopsOptimization.test_handling_of_tos_cache_with_side_exits.<locals>.Obji?rrrrr�Objrn	?rlrro	)�__dict__r"r
rJ)rYrl	ro	r`r]s&    r�*test_handling_of_tos_cache_with_side_exits�?TestUopsOptimization.test_handling_of_tos_cache_with_side_exits3sJ��	�	�	�	��e�������q�(�)�A�����-�C�H�*rc��[OQ[OQ2QQ5oUO	U]*O
]U2P!)r�a�
        import _testinternalcapi
        import opcode
        import _opcode

        def get_first_executor(func):
            code = func.__code__
            co_code = code.co_code
            for i in range(0, len(co_code), 2):
                try:
                    return _opcode.get_executor(code, i)
                except ValueError:
                    pass
            return None

        def get_opnames(ex):
            return {item[0] for item in ex}


        def testfunc(n):
            y = []
            for i in range(n):
                x = tuple(y)
            return x

        testfunc(_testinternalcapi.TIER2_THRESHOLD)

        ex = get_first_executor(testfunc)
        assert ex is not None
        uops = get_opnames(ex)
        assert "_LOAD_GLOBAL_BUILTIN" not in uops
        assert "_LOAD_CONST_INLINE_BORROW" in uops
        assert "_POP_TOP_NOP" in uops
        pop_top_count = len([opname for opname in ex if opname == "_POP_TOP" ])
        assert pop_top_count <= 2
        r�r�r�r�s& r�(test_promoted_global_refcount_eliminated�=TestUopsOptimization.test_promoted_global_refcount_eliminatedHsI���3�3�D�(�/�/�#K�#;
�F�G#��H	
��������q�&�1rc��QoUOU[2vq#UOU2[U2oUO	QU2P!)c�H�[U2FDoQo[U2oJ	P!�rMr�r�)rFr]rr�s&   rr��?TestUopsOptimization.test_constant_fold_tuple.<locals>.testfuncps���1�X������F��rr�)rur
rgr6r�r�s&    r�test_constant_fold_tuple�-TestUopsOptimization.test_constant_fold_tupleosD��	�
�*�*�8�_�E������R� ��2�������d�+rc�Z�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
[UQ2]2UO
[UQ2]2UOQU2P!)c�Z�],o]o[U2FDoU]*oV$*
oJ	U!r�r)rFr�r
r]rs&    rr��BTestUopsOptimization.test_binary_subscr_list_int.<locals>.testfunc|s3����A��A��1�X���a�D�������Hrr�rZr[r�r\r�s&    r�test_binary_subscr_list_int�0TestUopsOptimization.test_binary_subscr_list_int{s���	��*�*�8�_�E�������o�.����R� ��2����
�
�2�D�9����Y�r�:�6��:����Y�r�>�:�A�>��
�
�n�d�+rc�Z�QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
[UQ2]2UO
[UQ2]2UOQU2P!)c�X�Qo]o[U2FDoU]*oV$*
oJ	U!rx	r)rFrr
r]rs&    rr��CTestUopsOptimization.test_binary_subscr_tuple_int.<locals>.testfunc�s1���A��A��1�X���a�D�������Hrr3rZr[r�r\r�s&    r�test_binary_subscr_tuple_int�1TestUopsOptimization.test_binary_subscr_tuple_int�s���	��*�*�8�_�E�������o�.����R� ��2����
�
�3�T�:����Y�r�:�6��:����Y�r�>�:�A�>��
�
�n�d�+rc��QoUOU[2vq#UOU[2UOU2[	U2oUO[
UQ2]2UOQU2P!)c�Z�]o[U2FDoU[Q**
oJ	U!r�r�r$s&  rr��MTestUopsOptimization.test_binary_subscr_frozendict_lowering.<locals>.testfunc�r�rrnrt�rur
r�rgr6r~r>r�r�s&    r�&test_binary_subscr_frozendict_lowering�;TestUopsOptimization.test_binary_subscr_frozendict_lowering�sm��	��*�*�8�_�E�������o�.����R� ��2������	�"�.I� J�A�N����1�4�8rc��QoUOU[2vq#UOU[2UOU2[	U2oUO[
UQ2]2UOQU2P!)c�l�]o[U2FD o[Q*]6XfJU]*
oJ"	U!r�r�r$s&  rr��OTestUopsOptimization.test_binary_subscr_frozendict_const_fold.<locals>.testfunc�s2���A��1�X��$�S�)�Q�.���F�A���Hrrnr	r�	r�s&    r�(test_binary_subscr_frozendict_const_fold�=TestUopsOptimization.test_binary_subscr_frozendict_const_fold�sm��	��*�*�8�_�E�������o�.����R� ��2������	�"�.I� J�A�N����*�D�1rc��QoUOU[2vq#UOU[2UOU2[	U2oUO[
UQ2]2UOQU2P!)c�^�]o[U2FDo][7fJU]*
oJ	U!r)r"�FROZEN_SET_CONSTr$s&  rr��LTestUopsOptimization.test_contains_op_frozenset_const_fold.<locals>.testfunc�s.���A��1�X���(�(���F�A���Hrrnr�r�	r�s&    r�%test_contains_op_frozenset_const_fold�:TestUopsOptimization.test_contains_op_frozenset_const_fold�sm��	��*�*�8�_�E�������o�.����R� ��2������	�"�.I� J�A�N����+�T�2rc��QoUOU[2vq#UOU[2UOU2[	U2oUO[
UQ2]2UOQU2P!)c�^�]o[U2FDoQ[7fJU]*
oJ	U!r�r�r$s&  rr��MTestUopsOptimization.test_contains_op_frozendict_const_fold.<locals>.testfunc�s.���A��1�X���+�+���F�A���Hrrnr�r�	r�s&    r�&test_contains_op_frozendict_const_fold�;TestUopsOptimization.test_contains_op_frozendict_const_fold��m��	��*�*�8�_�E�������o�.����R� ��2������	�"�.I� J�A�N����,�d�3rc��QoUOU[2vq#UOU[2UOU2[	U2oUO[
UQ2]2UOQU2P!)c�^�]o[U2FDoQ[7fJU]*
oJ	U!)rr�r�r$s&  rr��QTestUopsOptimization.test_not_contains_op_frozendict_const_fold.<locals>.testfunc�s.���A��1�X���/�/���F�A���Hrrnr�r�	r�s&    r�*test_not_contains_op_frozendict_const_fold�?TestUopsOptimization.test_not_contains_op_frozendict_const_fold�r�	rc�8�QoUOU[2vq#UOU[2[U2oUO	QU2UOQU2UO[
UQ2]2UO[
UQ2]2P!)c�f�]o,QNo[U2FDoVQ*]**
oJ	U!)r:rrMNr%r)rFr
r�r]s&   rr��DTestUopsOptimization.test_binary_subscr_list_slice.<locals>.testfunc�s.���A��A��1�X���s�V�A�Y�����Hr�_BINARY_OP_SUBSCR_LIST_SLICEr�rZr�)rur
r�r6r�r�r>r�s&    r�test_binary_subscr_list_slice�2TestUopsOptimization.test_binary_subscr_list_slice�s���	��*�*�8�_�E�������o�.��2����
�
�4�d�;����*�D�1�����2�z�2�A�6�����2�~�6��:rc�P�QoUOU[2vq#UOUP
2UOU2[	U2oUOQU2UOQU2UO
[UQ2]2QoUOU[2vq#UOUP	2UOU2[	U2oUOQU2UOQU2UO
[UQ2]2QoUOU[2vq#UOUP	2UOU2[	U2oUOQU2UOQU2UO
[UQ2]2QoUOU[2vq#UOUP	2UOU2[	U2oUOQU2UOQU2UO
[UQ2]2P!)c�\�[2o[2o[U2FDoVIoJ	W!r�rRr"�rFr�r�r]rQs&    r�
test_is_false�6TestUopsOptimization.test_is_op.<locals>.test_is_false�s*����A���A��1�X���f����Jr�_IS_OPr�rZc�H�[2o[U2FDoVIoJ	W!rr�	�rFr�r]rQs&   r�test_is_true�5TestUopsOptimization.test_is_op.<locals>.test_is_trues#����A��1�X���f����Jrc�\�[2o[2o[U2FDoVIoJ	W!rr�	r�	s&    r�test_is_not�4TestUopsOptimization.test_is_op.<locals>.test_is_nots*����A���A��1�X���j����Jrc�:�Po[U2FDoUPIoJ		W!rrr�	s&   r�test_is_none�5TestUopsOptimization.test_is_op.<locals>.test_is_none0s#���A��1�X���4�i����Jrr\)rYr�	rQr0r�r�	r�	r�	s&       r�
test_is_op�TestUopsOptimization.test_is_op�s���	��*�*�=�/�J�������e�$����R� ��2����
�
�h��%��
�
�n�d�+����Y�r�:�6��:�	��*�*�<��I�������d�#����R� ��2����
�
�h��%��
�
�n�d�+����Y�r�:�6��:�	��*�*�;��H�������d�#����R� ��2����
�
�h��%��
�
�n�d�+����Y�r�:�6��:�	��*�*�<��I�������d�#����R� ��2����
�
�h��%��
�
�n�d�+����Y�r�:�6��:rc���QoUOU[2vq#UOU[]*2UOU2[	U2oUOQU2P!)c�t�Qo]oU2o[U2FDoUP	IfJV#]**
oJ	U!)c��P	!r�rrrr�return_true�UTestUopsOptimization.test_is_true_narrows_to_constant.<locals>.f.<locals>.return_trueAr�rr)rFr�	r$rr(s&    rrI�@TestUopsOptimization.test_is_true_narrows_to_constant.<locals>.f@s<��
��D��
�A��1�X����9���E�M�D���Krrr�r's&    r� test_is_true_narrows_to_constant�5TestUopsOptimization.test_is_true_narrows_to_constant?s[��		��*�*�1�o�>�������o��1�2����R� ��2���	
����t�,rc��QoUOU[2vq#UOU[2UOU2[	U2oUOQU2UO
QU2UO
QU2P!)c�T�Po]o[U2FDoUdJ	U]*
oJ	U!rr)rF�valuer$r]s&   rr��GTestUopsOptimization.test_is_none_narrows_to_constant.<locals>.testfuncTs/���E��D��1�X���=��A�I�D���Kr�_IS_NONEr�r�r}r�s&    r� test_is_none_narrows_to_constant�5TestUopsOptimization.test_is_none_narrows_to_constantSsq��	��*�*�8�_�E�������o�.����R� ��2�������T�*��
�
�*�D�1��
�
�n�d�+rc���QoUOU[2vq#UOU[2UOU2[	U2oUOQU2P!)c�t�Qo]oU2o[U2FDoUP
IfJV#]**
oJ	U!)c��P
!)Frrrr�return_false�WTestUopsOptimization.test_is_false_narrows_to_constant.<locals>.f.<locals>.return_falsegs��rr)rFr�	r$rr(s&    rrI�ATestUopsOptimization.test_is_false_narrows_to_constant.<locals>.ffs<��
��D���A��1�X����:���E�M�D���Krrr�r's&    r�!test_is_false_narrows_to_constant�6TestUopsOptimization.test_is_false_narrows_to_constantesV��		��*�*�1�o�>�������o�.����R� ��2���	
����t�,rc��`�QnU1QkoUOU[]*2vq#UOU2[U2oUO	QU2UO[
UQ2]2P!)c3�L �[U2FDoV*w�	J	P!3hrrr�s& rrI�7TestUopsOptimization.test_for_iter_gen_frame.<locals>.fzs����1�X���e�����"$c�*:�RU2FDoJ	P!rr)rFr]rIs& �rr��>TestUopsOptimization.test_for_iter_gen_frame.<locals>.testfunc~s����q�T���r�_FOR_ITER_GEN_FRAMEr��rur
rgr6r�r~r>)rYr�rQr0r�rIs&    @r�test_for_iter_gen_frame�,TestUopsOptimization.test_for_iter_gen_frameyse���	�	��*�*�8�_�Q�5F�G������R� ��2����
�
�+�T�2����	�"�n� =�q�Arc�r``�QnU1QknU1Qko[[O2FDoR]
2J
	UOU[]*2vq4UOU2[
U2oUOQU2UOQU2UO[UQ2]2P!)c3�L �[U2FDoV*w�	J	P!3hrrr�s& rr��5TestUopsOptimization.test_send_gen_frame.<locals>.gen�s����1�X���e���r�	c3�:: �RU2FPiw�K
P!K3hrr)rFr�s&�r�send_gen�:TestUopsOptimization.test_send_gen_frame.<locals>.send_gen�s�����1�v���s���c�*:�RU2FDoJ	P!rr)rFr]r�	s& �rr��:TestUopsOptimization.test_send_gen_frame.<locals>.testfunc�s����a�[���!rr�	�_SEND_GEN_FRAMEr�)
r"rrG	rur
rgr6r�r~r>)rYr�r]rQr0r�r�r�	s&     @@r�test_send_gen_frame�(TestUopsOptimization.test_send_gen_frame�s����	�	�	��(�A�A�B�A��R�L�C��*�*�8�_�Q�5F�G������R� ��2����
�
�+�T�2��
�
�'��.����	�"�n� =�q�Arc�,`�QnU1Qko[[O2FDoR]
2J
	UOU[]*2vq4UOU2[
U2oUOQU2UOQU2P!)c3�P �[[U22FPiw�K
P!K3hr)r4r"rYs&r�	send_list�9TestUopsOptimization.test_send_virtual.<locals>.send_list�s����E�!�H�~�%�%�s�&�$�&c�*:�RU2FDoJ	P!rr)rFr]r�	s& �rr��8TestUopsOptimization.test_send_virtual.<locals>.testfunc�s����q�\���"rr�	�_SEND_VIRTUAL_TIER_TWO)r"rrG	rur
rgr6r�)rYr�r]rQr0r�r�	s&     @r�test_send_virtual�&TestUopsOptimization.test_send_virtual�s}���	&�	��(�A�A�B�A��b�M�C��*�*�8�_�Q�5F�G������R� ��2����
�
�+�T�2��
�
�.��5rc���QQ2oQoUOU[U212vq4UOU2[U2oUO	QU2UO[
UQ2]2P!)c�(`�\sQsQsnQsQsUsP!)�@TestUopsOptimization.test_binary_op_subscr_init_frame.<locals>.Bi�c��U]*!r�r)rYrxs&&rr��LTestUopsOptimization.test_binary_op_subscr_init_frame.<locals>.B.__getitem__�s���q�y� rrr�r�s@rrGr�	������
!�
!rrGc�V�U]*vq[U2FDoU]*oJ	P!rr�r<rFr�r]rs*    rr��GTestUopsOptimization.test_binary_op_subscr_init_frame.<locals>.testfunc�s$����7�D�A��1�X���a�D��rr�r�r�	�rYrGr�rQr0r�s&     r� test_binary_op_subscr_init_frame�5TestUopsOptimization.test_binary_op_subscr_init_frame�sk��	!�	!�	�
�*�*�8�o�q�s�5K�L������R� ��2����
�
�3�T�:����	�"�n� =�q�Arc��QQ2oQoU]U212UOU[U212vq4UOU2[U2oUO	QU2UO	QU2P!)c�2`�\sQsQsn\Q2sQsUsP!)�=TestUopsOptimization.test_load_attr_property_frame.<locals>.Bi�c��]!r^rr�s&r�prop�BTestUopsOptimization.test_load_attr_property_frame.<locals>.B.prop�s��rr)rrrr�propertyr
rr�r�s@rrGr�	�s����
�
��
rrGc�~�U]*vq[U2FD oUOUO*oJ"	P!r)r"r
r�	s*    rr��DTestUopsOptimization.test_load_attr_property_frame.<locals>.testfunc�s,����7�D�A��1�X���F�F�Q�V�V�O��r�_LOAD_ATTR_PROPERTY_FRAMErn)rur
rgr6r�r�	s&     r�test_load_attr_property_frame�2TestUopsOptimization.test_load_attr_property_frame�sq��	�	�	$�
	�!�Q�S����*�*�8�o�q�s�5K�L������R� ��2����
�
�1�4�8��
�
�1�4�8rc�`�QQ2nU1QkoUOU[2vq#UOU2UOU][*2[	U2oUOQU2UO
QU2P!)c�(`�\sQsQsnQsQsUsP!)�ATestUopsOptimization.test_load_attr_getattribute_frame.<locals>.Bi�c��[U2!r)r#)rYr<s&&r�__getattribute__�RTestUopsOptimization.test_load_attr_getattribute_frame.<locals>.B.__getattribute__�s���4�y� rr)rrrrr
rr�r�s@rrGr

�r�	rrGc�:�R2o]o[U2FD&oV!OUO**
oJ(	U!rr�)rFr�rr]rGs&   �rr��HTestUopsOptimization.test_load_attr_getattribute_frame.<locals>.testfunc�s5�����A��A��1�X���S�S�1�3�3�Y�����Hr�(_LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN_FRAMEr�)rur
rgr�r6r�r�)rYr�rQr0r�rGs&    @r�!test_load_attr_getattribute_frame�6TestUopsOptimization.test_load_attr_getattribute_frame�st���	!�	!�	��*�*�8�_�E������R� �����a�/�1�2��2����
�
�@�$�G����0�$�7rc�^�QQ2oUOOoQoU]U212UOU[U212vqEUO	U[2UOU2[
U2oUOQU2UOQU2UOQU2QOUm	[O2[U2oUOU2U[U212oUO	U[]*2P!)c�2`�\sQsQsn\Q2sQsUsP!)�XTestUopsOptimization.test_load_attr_property_frame_invalidates_on_code_change.<locals>.Ci�c��[]2!r��r�r�s&rr��\TestUopsOptimization.test_load_attr_property_frame_invalidates_on_code_change.<locals>.C.val�s���1�v�
rr)rrrrr
r�rr�r�s@rrHr
�s����
�
��
rrHc�l�U]*vq]o[U2FDoV2O*
oJ	U!rr})r<rFrOr�r]s*    rr��_TestUopsOptimization.test_load_attr_property_frame_invalidates_on_code_change.<locals>.testfunc�s0����7�D�A��E��1�X���������Lrr
r�r2c��]!r�rr�s&rrz�_TestUopsOptimization.test_load_attr_property_frame_invalidates_on_code_change.<locals>.<lambda>s��ar)r��fgetrur
r�rgr6r�r�r rrvr)rq)rYrHr
r�rQr0r�s&      r�8test_load_attr_property_frame_invalidates_on_code_change�MTestUopsOptimization.test_load_attr_property_frame_invalidates_on_code_change�s���	�	�
�u�u�z�z��	�	�!�Q�S����*�*�8�o�q�s�5K�L�������o�.����R� ��2����
�
�1�4�8����0�$�7��
�
�+�T�2�'�1�1��
��6�6�8�
��
)�����"������-�.������o��1�2rc��QoUOU[2vq#UOUQ2UOU2[	U2oUOQU2UOQU2UO
[UQ2]2P!)c�8�]o[U2FDoU'oJ	W!r^rr�	s&   rr��:TestUopsOptimization.test_unary_negative.<locals>.testfunc�!���A��1�X���b����Jrrpr�rZ���r\r�s&    r�test_unary_negative�(TestUopsOptimization.test_unary_negativesx��	��*�*�8�_�E�������b�!����R� ��2����
�
�'��.��
�
�n�d�+����Y�r�:�6��:rc��QoUOU[2vq#UOUQ2UOU2[	U2oUOQU2UOQU2UO
[UQ2]2P!)c�8�]o[U2FDoU&oJ	W!r^rr�	s&   rr��8TestUopsOptimization.test_unary_invert.<locals>.testfuncr#
rr|r�rZ���r\r�s&    r�test_unary_invert�&TestUopsOptimization.test_unary_invertsw��	��*�*�8�_�E�������b�!����R� ��2����
�
�o�t�,��
�
�n�d�+����Y�r�:�6��:rc���QoUOU[2vq#UOU[2[U2oUO	QU2UOUOQ2]2P!)c�R�]o[U2FDoQoV2*
oJ	U!)rc��]!r�rrrrrz�KTestUopsOptimization.test_make_function.<locals>.testfunc.<locals>.<lambda>/s��qrr�rFr
r]rs&   rr��9TestUopsOptimization.test_make_function.<locals>.testfunc,s,���A��1�X�� ���T�V�����Hr�_MAKE_FUNCTIONr�)rur
r�r6r�rUr�s&    r�test_make_function�'TestUopsOptimization.test_make_function+s^��	��*�*�8�_�E�������o�.��2����
�
�&��-�������N�3�Q�7rc���QoUOU[2vq#UOU[2[U2oUO	QU2UOQU2P!)c�\�]o[U2FDo],oSFDoV*
oJ
	J	U!rr)rFr
r]r�rzs&    rr��;TestUopsOptimization.test_iter_check_list.<locals>.testfunc;s4���A��1�X���C���C��H�A����Hrr��_ITER_CHECK_LIST)rur
r�r6r�r�r�s&    r�test_iter_check_list�)TestUopsOptimization.test_iter_check_list:sU��	��*�*�8�_�E�������o�.��2����
�
�m�T�*����+�T�2rc���QoUOU[2vq#UOU[2[U2oUO	QU2UO[UQ2]2P!)c��QQ2oU2o]o[U2FD"oUUQb9dvV2O*
oJ!J$	U!)c��\sQsQs]sQsP!)�BTestUopsOptimization.test_match_class.<locals>.testfunc.<locals>.AiLr)rrrrr�rrrrr�r?
Ls���rr�rr})rFr�r
�retr]s&    rr��7TestUopsOptimization.test_match_class.<locals>.testfuncKsE��
�
���A��C��1�X������u�u������Jr�_MATCH_CLASSr�)rur
r�r6r�r>r�s&    r�test_match_class�%TestUopsOptimization.test_match_classJs[��		��*�*�8�_�E�������o�.��2����
�
�n�d�+�����2�~�6��:rc��QoUOU[2vq#UOU]]]]-2[U2oUO	QU2UO[UQ2]2UO
[UQ2]2P!)c�B�]]]]-o[U2FDo-UAoJ		W!r�r)rFrr]r
s&   rr��7TestUopsOptimization.test_dict_update.<locals>.testfunc^s+���A�q�!��A��1�X���q�E����Hr�_DICT_UPDATEr�rZr~r�s&    r�test_dict_update�%TestUopsOptimization.test_dict_update]sz��	��*�*�8�_�E�������q�!�Q��l�+��2����
�
�n�d�+�����2�~�6��:����Y�r�:�6��:rc��QoUOU[2vq#UOU.Ql2[U2oUO	QU2UO[UQ2]2UO
[UQ2]2P!)c�>�.Qlo[U2FDo.UloJ		W!)rMr�r)rFr$r]r
s&   rr��6TestUopsOptimization.test_set_update.<locals>.testfuncm�#���A��1�X���a�D����Hr�_SET_UPDATEr�rZr�r~r�s&    r�test_set_update�$TestUopsOptimization.test_set_updatelsr��	��*�*�8�_�E�������i�(��2����
�
�m�T�*�����2�~�6��:����Y�r�:�6��:rc��QoUOU[2vq#UOUQ]Q]-2[U2oUO	QU2UO[
UQ2]2UO[
UQ2]2P!)c�R�Q]Q]-oQo[U2FDoUQ-U@oJ	W!)r�r�c��U!rr)r=s,rrI�ATestUopsOptimization.test_dict_merge.<locals>.testfunc.<locals>.f~s���
rrr)rFrrIr]r
s&    rr��6TestUopsOptimization.test_dict_merge.<locals>.testfunc|s3���a��a� �A�
��1�X���F��F����Hrr�r��_DICT_MERGEr�rZr�r�s&    r�test_dict_merge�$TestUopsOptimization.test_dict_merge{s{��	��*�*�8�_�E�������s�A�s�A�.�/��2����
�
�m�T�*����	�"�n� =�q�A����Y�r�:�6��:rc��QoUOU[2vq#UOU,QN2[U2oUO	QU2UO[
UQ2]2UO[
UQ2]2P!)c�>�,QNo[U2FDo,UNoJ		W!r�rr�s&   rr��7TestUopsOptimization.test_list_extend.<locals>.testfunc�rN
r�_LIST_EXTENDr�rZr%r�r�s&    r�test_list_extend�%TestUopsOptimization.test_list_extend�sr��	��*�*�8�_�E�������i�(��2����
�
�n�d�+����	�"�n� =�q�A����Y�r�:�6��:rc��[OQ[OQ2QQ5oUO	U]*O
]U2P!)r�a 
        import gc
        thresholds = gc.get_threshold()
        try:
            gc.set_threshold(1)

            def f1():
                for i in range(5000):
                    globals()[''] = i

            f1()
        finally:
            gc.set_threshold(*thresholds)
        r�r�r�r�s& r�test_143026� TestUopsOptimization.test_143026�sH���3�3�D�(�/�/�
K�
;
��
��	
��������q�&�1rc�X�Qo[[]
*2FD
oU2J	P!)c��Qo[]22FDoV[U2**oJ	Po[]
2FDoUP*
oJ	QQ2oQQ2oS9[Qb9dvL!9[Qb9dvL[Qb9dvL,PMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMPMCuooo	o
ooo
ooooooooooooooooooo o!o"o#Po[]
2FDoUP*
oUP*
oJ	P!)r�c��\sQsQsQsP!)�7TestUopsOptimization.test_143092.<locals>.f1.<locals>.Ai�rrrrrr�rf
����Srr�c��\sQsQsQsP!)�7TestUopsOptimization.test_143092.<locals>.f1.<locals>.Bi�rrrrrrGri
�rg
rrGr)r"r#r�r�r�)$r�r(r
r$r]r�rG�u0�u1�u2�u4�u5�u6�u7�u8�u9�u10�u11�u12�u13�u14�u15�u16�u17�u18�u19�u20�u21�u22�u23�u24�u25�u26�u27�u28�u29s$                                    rr1	�,TestUopsOptimization.test_143092.<locals>.f1�s����A��2�Y���#�a�&�j�M����A��2�Y���R����
�L��L���S�U�C�U��S�U�C�U��V�S�V�B��B�t�B�T�B�4�B��B�t�B�T�B�4�B��B�t�B�T�B�SW�B�Y]�B�_c�B�ei�B��B��B�!�B�#'�B�)-�B�/3�B�59�B�;?�B�AE�B�GK�B�MQ�B�SW�B�Y]�B�_c�B�ei�B��B��B�!�B�#'�B�)-�B�/3�B�59�B�;?�B�AE�B�GK�B�MQ�B�SW�B�Y]�B�_c�B�ei�B��B��B�"�B�$(�B�*.�B�04�B�6:�B�<@�B�
����������C���S�#�s�C��c�3��S�#�s�C�QT�VY�[^�`c�eh��A��2�Y���R����R���rrl)rYr1	r(s&  r�test_143092� TestUopsOptimization.test_143092�s#��$	�L���+�,�A��D�-rc
���[OQ[OQ[Q[](*Q02QQ5oUOU]*O]U2P!)r�a	
        def f1():
            class AsyncIter:
                def __init__(self):
                    self.limit = 0
                    self.count = 0

                def __aiter__(self):
                    return self

                async def __anext__(self):
                    if self.count >= self.limit:
                        ...
                    self.count += 1j

            class AsyncCtx:
                async def async_for_driver():
                    try:
                        for _ in range(a�):
                            try:
                                async for _ in AsyncIter():
                                    ...
                            except TypeError:
                                ...
                    except Exception:
                        ...

                c = async_for_driver()
                while True:
                    try:
                        c.send(None)
                    except StopIteration:
                        break

        for _ in range(z):
            f1()
        r�r�)rr�rPrQr
r�r�r�s& r�test_143183� TestUopsOptimization.test_143183�sq���3�3�D�(�/�/�O(�$)8�'8�9� (�2�-�.�/	�E$K�$;
�H�I$��J	
��������q�&�1rc��[OQ[OQ2QQQ5oUO	U]*O
]U2P!)r�ak
        def f1():

            class EvilIterator:

                def __init__(self):
                    self._items = [1, 2]
                    self._index = 1

                def __iter__(self):
                    return self

                def __next__(self):
                    if not len(self._items) % 13:
                        self._items.clear()

                    for i_loop_9279 in range(10):
                        self._items.extend([1, "", None])

                    if not len(self._items) % 11:
                        return 'unexpected_type_from_iterator'

                    if self._index >= len(self._items):
                        raise StopIteration

                    item = self._items[self._index]
                    self._index += 1
                    return item

            evil_iter = EvilIterator()

            large_num = 2**31
            for _ in range(400):
                try:
                    _ = [x + y for x in evil_iter for y in evil_iter if evil_iter._items.append(x) or large_num]
                except TypeError:
                    pass

        f1()
        r��r��PYTHON_JIT_STRESSr�r�s& r�test_143358� TestUopsOptimization.test_143358sM���3�3�D�(�/�/�'O	�';
�N��O'5��P	
��������q�&�1rc��[OQ[OQ2QQ5oUO	U]*O
]U2P!)r�a@
        import sys

        def f1():
            for i_3178 in 0, 2, 10:
                mv162 = 162

            mv3 = mv1 = mv_165 = mv16 =             mv167 = mv168 =             mv169 =                 mv_1403_170 =                 169

            mv_1403_170

            mv_172 = mv_3 = mv_4 = mv175 = mv176 = mv17 = mv178 = mv179 = mv0 = mv1 = mv182 = (
            mv3
            ) = mv4 = mv185 = mv186 = mv187 = mv18 = mv189 = mv0 = mv1 = mv192 = mv3 = mv4 = (
            mv195
            ) = mv196 = mv197 = mv_198 = mv19 = mv0 = mv1 = mv2 = mv3 = mv4 = mv05 = mv06 = (
            mv07
            ) = mv08 = mv09 = mv0 = mv1 = mv2 = mv3 = mv4 = mv15 = mv16 = mv17 = mv18 = mv19 = (
            mv0
            ) = mv1 = mv_2 = mv3 = mv4 = mv_25 = mv_26 = mv_27 = mv_28 = mv_29 = mv0 = mv1 = (
            mv2
            ) = mv_1403 = mv4 = mv35 = mv36 = mv37 = mv38 = mv39 = mv0 = -sys.maxsize / 3

            mv1 = mv_12 = mv3 = mv_14 = mv45 = sys.float_info.epsilon
            mv46 = sys.float_info.epsilon

        for i in range(15000):
            f1()
        r�r�r�r�s& r�test_149335_trace_buffer_guard�3TestUopsOptimization.test_149335_trace_buffer_guard/sK���3�3�D�(�/�/� K� ;
�@�A ��B	
��������q�&�1rc�L�[OQ[OQ2QQQ5oUO	U]*O
]U2U]*OOQQQ5oUOQUQ	U02UOQ
UQU02P!)r�aX
        import threading
        import time

        def hot_loop():
            end = time.time() + 5.0
            while time.time() < end:
                pass

        # Create a daemon thread that will be abandoned at shutdown
        t = threading.Thread(target=hot_loop, daemon=True)
        t.start()

        time.sleep(0.1)
        r�zdetect_leaks=1)r��ASAN_OPTIONSzutf-8�replace)�errors�
LeakSanitizerzMemory leak detected by ASan:
�_PyJit_TryInitializeTracingz!JIT tracer memory leak detected:
)	rr�rPrQr�r��err�decoder�)rYr��stderrs&  r�%test_144068_daemon_thread_jit_cleanup�:TestUopsOptimization.test_144068_daemon_thread_jit_cleanupUs����3�3�D�(�/�/�K�;
��+;�=��	
��������q�&�1������%�%�g�i�%�@������&�:�6�(�C�	E����6��=�f�X�F�	Hrc��[OQ[OQ2QQQQ5oUO	U]*O
]U2P!)r�a�
        class A:
            __slots__ = ('x', 'y', 'z', 'w')
            def __init__(self):
                self.x = self.y = -1
                self.z = self.w = None

        class B(A):
            __slots__ = ('a', 'b', 'c', 'd', 'e')
            def __init__(self):
                super().__init__()
                self.a = self.b = None
                self.c = ""
                self.d = self.e = False

        class C(B):
            __slots__ = ('name', 'flag')
            def __init__(self, name):
                super().__init__()
                self.name = name
                self.flag = False

        funcs = []
        for n in range(20, 80):
            lines = [f"def f{n}(names, info):"]
            for j in range(n):
                lines.append(f"    v{j} = names[{j % 3}]")
                if j % 3 == 0:
                    lines.append(f"    if v{j} in info:")
                    lines.append(f"        v{j} = info[v{j}]")
                elif j % 5 == 0:
                    lines.append(f"    v{j} = len(v{j}) if isinstance(v{j}, str) else 0")
            lines.append("    return C(names[0])")
            ns = {'C': C}
            exec("\n".join(lines), ns)
            funcs.append(ns[f"f{n}"])

        names = ['alpha', 'beta', 'gamma']
        info = {'alpha': 'x', 'beta': 'y', 'gamma': 'z'}

        for f in funcs:
            for _ in range(10):
                f(names, info)
        r�)r�r�
�"PYTHON_JIT_SIDE_EXIT_INITIAL_VALUEr�r�s& r�$test_cold_exit_on_init_cleanup_frame�9TestUopsOptimization.test_cold_exit_on_init_cleanup_framelsN���3�3�D�(�/�/�+K�+;
�V��03�Y,5��Z	
��������q�&�1rc��[OQ[OQ2QQQ5oUO	U]*O
]U2P!)r�aC
        def g():
            yield 1
            yield 2

        for _ in range(4002):
            for _ in g():
                pass

        for i in range(4002):
            it = g()
            if (i & 7) == 0:
                next(it)
                it.close()
            for _ in it:
                pass
        r�r�
r�r�s& r�.test_for_iter_gen_cleared_frame_does_not_crash�CTestUopsOptimization.test_for_iter_gen_cleared_frame_does_not_crash�sH���3�3�D�(�/�/�K�;
�"�#�#/��$	
��������q�&�1rc�N`�QnU1QkoUOU[2vq#UOU]*[*2UOU2[	U2oUOQU2UOQU2UO
QU2UOQU2P!)c�(�[U2]**!r�r
rhs&rr�/TestUopsOptimization.test_call_kw.<locals>.func�s���q�6�B�;�rc�T:�]o[U2FDoUR]Q5*
oJ	U!)rrhrr1
s&  �rr��3TestUopsOptimization.test_call_kw.<locals>.testfunc�s(����A��1�X���T�A�Y�����Hrr6�_CHECK_FUNCTION_VERSION_KWr�r2r�)rYr�rQr0r�rs&    @r�test_call_kw�!TestUopsOptimization.test_call_kw�s����	�	��*�*�8�_�E�������b�?�2�3����R� ��2����
�
�m�T�*��
�
�2�D�9�	
���0�$�7��
�
�+�T�2rc�\`�QQ2nU1QkoUOU[2vq#UOU][*2UOU2[	U2oUOQU2UOQU2UO
QU2UOQU2P!)c�(`�\sQsQsnQsQsUsP!)�9TestUopsOptimization.test_call_kw_bound_method.<locals>.Ci�c�:�[U2[U2*!rr
)rYr�r�s&&&rr��@TestUopsOptimization.test_call_kw_bound_method.<locals>.C.method�s���1�v��A���&rrr
r�s@rrHr�
�r�rrHc�z:�R2o]oUOo[U2FDoV#]]Q5*
oJ	U!)r)r�r�r
)rFr`r
�methr]rHs&    �rr��@TestUopsOptimization.test_call_kw_bound_method.<locals>.testfunc�s;����#�C��A��:�:�D��1�X���T�A��^�#����Hrr6�_CHECK_METHOD_VERSION_KWr�r2r�r�s&    @r�test_call_kw_bound_method�.TestUopsOptimization.test_call_kw_bound_method�s����	'�	'�	��*�*�8�_�E�������a�/�1�2����R� ��2����
�
�m�T�*��
�
�0�$�7�	
���0�$�7��
�
�+�T�2rc�~�QoU[2[U2oUOU2[U2oUO	QU2UO	QU2QO
[m[O2[U2oUOU2UO[
P2Q2P!)c�D�[U2FDo[U2J	P!r)r"�%global_identity_code_will_be_modifiedr�s& rr��JTestUopsOptimization.test_func_version_guarded_on_change.<locals>.testfunc�s���1�X��5�a�8�rr6r�c��Q!)���
rrhs&rrz�JTestUopsOptimization.test_func_version_guarded_on_change.<locals>.<lambda>�s��Irr�
)r
r)rgr6r�r r�
rrvrqr�r�s&   r�#test_func_version_guarded_on_change�8TestUopsOptimization.test_func_version_guarded_on_change�s���	9�
	��!�
��
)�����R� ��2����
�
�m�T�*��
�
�/��6�:M�9W�9W�-�6��6�6�8�
��
)�����"�����>�t�D�i�Prc�``�QQ2oU1QkQU2nR2nU1QkoUOU[2vq4UOU]?[*2UOU2[	U2oUOQU2UOUO
Q2]2UOUO22QUm	UOUO22UOU][*2vq4UOU]X[*2UOU2[	U2oUOQU2UOUO
Q2]2P!)c�.`�\sQsQsnQsQsQsUsP!)�/TestUopsOptimization.test_call_super.<locals>.Ai�c��]*!r�rr�s&r�method1�7TestUopsOptimization.test_call_super.<locals>.A.method1�r�rc��]!)�rr�s&r�method2�7TestUopsOptimization.test_call_super.<locals>.A.method2�r�rr)rrrrr�
r�
rr�r�s@rr�r�
�s����
�
�
rr�c�D:``�\sQsQsnU1QksUU1QksQsUsU9s!)�/TestUopsOptimization.test_call_super.<locals>.Bi�c�":�[RU_2!r)�superr�
)rY�	__class__s&�rr�
�7TestUopsOptimization.test_call_super.<locals>.B.method1�s����w��(�(rc�":�[RU_2!r)r�
r�
)rYrGr�
s&��rr�
�7TestUopsOptimization.test_call_super.<locals>.B.method2s����Q��-�/�/rr)	rrrrr�
r�
rr��
__classcell__)r�
r�rGs@@�rrGr�
�s����
)�
0�
0rrGc�:�]o[U2FD1oURO2*
oURO2*
oJ3	U!r)r"r�
r�
)rFr
r]r�s&  �rr��6TestUopsOptimization.test_call_super.<locals>.testfuncs=����A��1�X���Q�Y�Y�[� ���Q�Y�Y�[� ����Hr�_LOAD_SUPER_ATTR_METHOD�_GUARD_NOS_TYPE_VERSIONc��]!r�rr�s&rrz�6TestUopsOptimization.test_call_super.<locals>.<lambda>s��r)rur
r�rgr6r�rUrTrUr�
rX)rYr�r�rQr0r�rGr�s&     @@r�test_call_super�$TestUopsOptimization.test_call_super�s1���	�	�	0��	0�
�C��	��*�*�8�_�E�������b�?�2�3����R� ��2������2�D�9�������$=�>��B�������
�&�"��	��������'��*�*�8�Q��5H�I�������f��6�7����R� ��2������2�D�9�������$=�>��Brc�^�[OQ[OQ22P!)r�a
            import sys
            sys.settrace(lambda *_: None)
            sys.settrace(None)

            class C:
                def __init__(self, x):
                    pass

            for i in 0, 1, 0, 1:
                C(0) if i else str(0)
        r	r�s&r�2test_settrace_then_polymorphic_call_does_not_crash�GTestUopsOptimization.test_settrace_then_polymorphic_call_does_not_crashs"���&�&�t�X�_�_�>�.
�	rc	��[OQQ[OQ[]*Q02QQ5P!)z-sr�z�
            def f1():
                class Context:
                    def __enter__(self): ...
                    def __exit__(self, e, v, t): ...

                with Context():
                    pass

            for _ in range(z ):
                f1()
        r�r�r[	r�s&r�"test_load_special_type_guard_deopt�7TestUopsOptimization.test_load_special_type_guard_deopt-sB���&�&�t�T�8�?�?�	H�,�a�/�0�1	�D�4
��	rrm(!rrrrr�rur�r�r�r�r7r�r�r�r�r�r�r�r�r�rr
rrrr(r0r<rCrZrervr�r�skipr�r�r�r�r�r�r�r�rr
rr r&r-r4r<rErWrartrr�r�r�r�r�r�r�r�r�rrr!r%r2r7rCrVr]rcrirqrwr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
rr r'r4r=rDrMrSr]rbrhrur�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr
rrr$r-r4r=rErKrUr_rgrqrxrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr!r'r7rBrIrPrZrarjrprvr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrr)r2r;rDrKrQrXr]rdrjrpr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r	r	r	r	r	r	r-	r8	r>	rD	rH	rX	r\	r_	rb	rq	rt	rz	r	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r
r
r
r%
r+
r4
r:
rC
rI
rP
rX
r^
ra
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
rr�r�s@rroro]s#����G��:�&:�.:�.5� 8� 1�2�*	5�*�.!2�F,�,,�,,�,6�(1�(/�(/�(1�(/�(B�*B�.D�*D�.a�>a�8!a�F"a�H�]�]�P�Q�/
�R�/
�b�]�]�P�Q�;
�R�;
�z�]�]�P�Q�X�R�X�:�8
<�
-�,�$
-�	<�5�,5�"5�"5�"5�"5�"5�$
$�6�$6�4U�:U�.(�.0�.�*8�2#�(#� !7�F1�>=� 
8�+�*=�,%�)8�V1�$�&J�>J�>J�@J�B2� -�*9�".� 9�"9�"9�"/� 0�40�45� M�"7�*G�$9�.9�&@�(9�&F�(9�(D�*
9�;�(:�"
;�6�(6�(?�(?�(;�"9� 9�$9�5�*5�,;�";�";�"9� B�"
9�
,�
,�8�",�5�$3�*:�"3�"3�.
,�
<�
?�?�
O�,�*3�6
@�;�"B�$
M�;�&>�(I�"W� E�"
;�;� 
9�
9�(�3�"=�"
1�
,�3�"4�"3�"0�(0�&0�24�&
8�9�*9�$>�L9�B�.;�(;�*,�
<�
B�?�,
A�G� 
A�
G�G�,
=�
@�@� F�"8�(A�,A�&@�$P�*.� 5� �@
:�
@�=�,
#�
?�
E�
?�
E�G�*,�&;�",�*,�&
;�
;�
;�
;�
;�
;�;� ;�.;�"2� 
3�3�.2�03�$C�0>�.>�.
1�,�",�(,�&,�$,�$,�",�",� 5�"�8,�,�.�3�&*�,�0
� 	�
�;�(!=�F��B�..�*%2�N
,�,�&,�&9�2� 
3�
4�
4�;�"@;�D-�(,�$-�(B�"B�06�$B�"9�&8�&3�@;� ;� 
8�3� ;�&
;�
;�;�"
;�2�&(�T(2�T+2�Z$2�LH�./2�b2�,3�*3�0Q�*(C�T��rroc��U!rrr/s&rr�r�;����Hrc��U!rrr/s&rr�
r�
>r�
rc�(`�\sQsQsnQsQsUsP!)�
TestObjectiAc��U]*!rr)rYr<r=s&*,r�test�TestObject.testBs���A�w�rr)rrrrr�
rr�r�s@rr�
r�
As�����rr�
c�(`�\sQsQsnQsQsUsP!)r�iHc��P!rrr�s&&&rrZ�MyGlobalPoint.__init__Is��rrr�r�s@rr�r�Hs�����rr��__main__r�)6�
contextlibr+rorPrr�r�r(	r$�test.supportrrrrrr�
import_modulerr	r
rr!	�
frozendictr��	frozensetr�	rrq�contextmanagerrr)r-r2r6r8r:r>r��TestCaser@r�r�r�ror�r�
r�
�test_objectr�
�__get__r�r�r�mainrrr�<module>r�
s#����
���	�	���&�&�"�/�/�0C�D��X�X��
���a�(���Y�'��	�	��}���������	��
"���J��	����"W�X��M'�x�0�0�M'��Y��M'�`7��	����"W�X��	������1�2�c�9�;X�Y�b4�x� � �b4�Z��Y��b4�J
�	����"W�X��	������1�2�c�9�;X�Y�XW�8�,�,�XW�Z��Y��XW�tn
�
����l���O�O�+�+�K�8�����z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit