gh-144289: Remove ENABLE_SPECIALIZATION_FT (gh-144290) · python/cpython@6ea3f8c

GitHub

@@ -5,7 +5,7 @@

55importtypes

66importunittest

77fromtest.supportimport (threading_helper, check_impl_detail,

8-requires_specialization,requires_specialization_ft,

8+requires_specialization,

99cpython_only, requires_jit_disabled, reset_code)

1010fromtest.support.import_helperimportimport_module

1111@@ -524,7 +524,7 @@ def f(x, y):

524524f()

525525526526@requires_jit_disabled

527-@requires_specialization_ft

527+@requires_specialization

528528deftest_assign_init_code(self):

529529classMyClass:

530530def__init__(self):

@@ -547,7 +547,7 @@ def count_args(self, *args):

547547instantiate()

548548549549@requires_jit_disabled

550-@requires_specialization_ft

550+@requires_specialization

551551deftest_push_init_frame_fails(self):

552552definstantiate():

553553returnInitTakesArg()

@@ -576,7 +576,7 @@ def f():

576576f()

577577578578@requires_jit_disabled

579-@requires_specialization_ft

579+@requires_specialization

580580deftest_specialize_call_function_ex_py(self):

581581defex_py(*args, **kwargs):

582582return1

@@ -592,7 +592,7 @@ def instantiate():

592592self.assert_specialized(instantiate, "CALL_EX_PY")

593593594594@requires_jit_disabled

595-@requires_specialization_ft

595+@requires_specialization

596596deftest_specialize_call_function_ex_py_fail(self):

597597defex_py(*args, **kwargs):

598598return1

@@ -660,7 +660,7 @@ def assert_races_do_not_crash(

660660forwriterinwriters:

661661writer.join()

662662663-@requires_specialization_ft

663+@requires_specialization

664664deftest_binary_subscr_getitem(self):

665665defget_items():

666666classC:

@@ -690,7 +690,7 @@ def write(items):

690690opname="BINARY_OP_SUBSCR_GETITEM"

691691self.assert_races_do_not_crash(opname, get_items, read, write)

692692693-@requires_specialization_ft

693+@requires_specialization

694694deftest_binary_subscr_list_int(self):

695695defget_items():

696696items= []

@@ -768,7 +768,7 @@ def write(items):

768768opname="FOR_ITER_LIST"

769769self.assert_races_do_not_crash(opname, get_items, read, write)

770770771-@requires_specialization_ft

771+@requires_specialization

772772deftest_load_attr_class(self):

773773defget_items():

774774classC:

@@ -798,7 +798,7 @@ def write(items):

798798opname="LOAD_ATTR_CLASS"

799799self.assert_races_do_not_crash(opname, get_items, read, write)

800800801-@requires_specialization_ft

801+@requires_specialization

802802deftest_load_attr_class_with_metaclass_check(self):

803803defget_items():

804804classMeta(type):

@@ -831,7 +831,7 @@ def write(items):

831831opname="LOAD_ATTR_CLASS_WITH_METACLASS_CHECK"

832832self.assert_races_do_not_crash(opname, get_items, read, write)

833833834-@requires_specialization_ft

834+@requires_specialization

835835deftest_load_attr_getattribute_overridden(self):

836836defget_items():

837837classC:

@@ -861,7 +861,7 @@ def write(items):

861861opname="LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN"

862862self.assert_races_do_not_crash(opname, get_items, read, write)

863863864-@requires_specialization_ft

864+@requires_specialization

865865deftest_load_attr_instance_value(self):

866866defget_items():

867867classC:

@@ -885,7 +885,7 @@ def write(items):

885885opname="LOAD_ATTR_INSTANCE_VALUE"

886886self.assert_races_do_not_crash(opname, get_items, read, write)

887887888-@requires_specialization_ft

888+@requires_specialization

889889deftest_load_attr_method_lazy_dict(self):

890890defget_items():

891891classC(Exception):

@@ -915,7 +915,7 @@ def write(items):

915915opname="LOAD_ATTR_METHOD_LAZY_DICT"

916916self.assert_races_do_not_crash(opname, get_items, read, write)

917917918-@requires_specialization_ft

918+@requires_specialization

919919deftest_load_attr_method_no_dict(self):

920920defget_items():

921921classC:

@@ -946,7 +946,7 @@ def write(items):

946946opname="LOAD_ATTR_METHOD_NO_DICT"

947947self.assert_races_do_not_crash(opname, get_items, read, write)

948948949-@requires_specialization_ft

949+@requires_specialization

950950deftest_load_attr_method_with_values(self):

951951defget_items():

952952classC:

@@ -976,7 +976,7 @@ def write(items):

976976opname="LOAD_ATTR_METHOD_WITH_VALUES"

977977self.assert_races_do_not_crash(opname, get_items, read, write)

978978979-@requires_specialization_ft

979+@requires_specialization

980980deftest_load_attr_module(self):

981981defget_items():

982982items= []

@@ -1001,7 +1001,7 @@ def write(items):

10011001opname="LOAD_ATTR_MODULE"

10021002self.assert_races_do_not_crash(opname, get_items, read, write)

100310031004-@requires_specialization_ft

1004+@requires_specialization

10051005deftest_load_attr_property(self):

10061006defget_items():

10071007classC:

@@ -1031,7 +1031,7 @@ def write(items):

10311031opname="LOAD_ATTR_PROPERTY"

10321032self.assert_races_do_not_crash(opname, get_items, read, write)

103310331034-@requires_specialization_ft

1034+@requires_specialization

10351035deftest_load_attr_slot(self):

10361036defget_items():

10371037classC:

@@ -1058,7 +1058,7 @@ def write(items):

10581058opname="LOAD_ATTR_SLOT"

10591059self.assert_races_do_not_crash(opname, get_items, read, write)

106010601061-@requires_specialization_ft

1061+@requires_specialization

10621062deftest_load_attr_with_hint(self):

10631063defget_items():

10641064classC:

@@ -1085,7 +1085,7 @@ def write(items):

10851085opname="LOAD_ATTR_WITH_HINT"

10861086self.assert_races_do_not_crash(opname, get_items, read, write)

108710871088-@requires_specialization_ft

1088+@requires_specialization

10891089deftest_load_global_module(self):

10901090ifnothave_dict_key_versions():

10911091raiseunittest.SkipTest("Low on dict key versions")

@@ -1158,7 +1158,7 @@ def write(items):

11581158opname="STORE_ATTR_WITH_HINT"

11591159self.assert_races_do_not_crash(opname, get_items, read, write)

116011601161-@requires_specialization_ft

1161+@requires_specialization

11621162deftest_store_subscr_list_int(self):

11631163defget_items():

11641164items= []

@@ -1182,7 +1182,7 @@ def write(items):

11821182opname="STORE_SUBSCR_LIST_INT"

11831183self.assert_races_do_not_crash(opname, get_items, read, write)

118411841185-@requires_specialization_ft

1185+@requires_specialization

11861186deftest_unpack_sequence_list(self):

11871187defget_items():

11881188items= []

@@ -1362,7 +1362,7 @@ def f(o, n):

13621362classTestSpecializer(TestBase):

1363136313641364@cpython_only

1365-@requires_specialization_ft

1365+@requires_specialization

13661366deftest_binary_op(self):

13671367defbinary_op_add_int():

13681368for_inrange(_testinternalcapi.SPECIALIZATION_THRESHOLD):

@@ -1497,7 +1497,7 @@ def binary_op_bitwise_extend():

14971497self.assert_no_opcode(binary_op_bitwise_extend, "BINARY_OP")

1498149814991499@cpython_only

1500-@requires_specialization_ft

1500+@requires_specialization

15011501deftest_load_super_attr(self):

15021502"""Ensure that LOAD_SUPER_ATTR is specialized as expected."""

15031503@@ -1536,7 +1536,7 @@ def init(self):

15361536self.assert_no_opcode(A.__init__, "LOAD_SUPER_ATTR_METHOD")

1537153715381538@cpython_only

1539-@requires_specialization_ft

1539+@requires_specialization

15401540deftest_contain_op(self):

15411541defcontains_op_dict():

15421542for_inrange(_testinternalcapi.SPECIALIZATION_THRESHOLD):

@@ -1559,7 +1559,7 @@ def contains_op_set():

15591559self.assert_no_opcode(contains_op_set, "CONTAINS_OP")

1560156015611561@cpython_only

1562-@requires_specialization_ft

1562+@requires_specialization

15631563deftest_send_with(self):

15641564defrun_async(coro):

15651565whileTrue:

@@ -1586,7 +1586,7 @@ async def send_with():

15861586self.assert_specialized(send_with, "SEND_GEN")

1587158715881588@cpython_only

1589-@requires_specialization_ft

1589+@requires_specialization

15901590deftest_send_yield_from(self):

15911591defg():

15921592yieldNone

@@ -1601,7 +1601,7 @@ def send_yield_from():

16011601self.assert_no_opcode(send_yield_from, "SEND")

1602160216031603@cpython_only

1604-@requires_specialization_ft

1604+@requires_specialization

16051605deftest_store_attr_slot(self):

16061606classC:

16071607__slots__= ['x']

@@ -1622,7 +1622,7 @@ def set_slot(n):

16221622self.assert_no_opcode(set_slot, "STORE_ATTR_SLOT")

1623162316241624@cpython_only

1625-@requires_specialization_ft

1625+@requires_specialization

16261626deftest_store_attr_instance_value(self):

16271627classC:

16281628pass

@@ -1644,7 +1644,7 @@ def set_value(n):

16441644self.assert_no_opcode(set_value, "STORE_ATTR_INSTANCE_VALUE")

1645164516461646@cpython_only

1647-@requires_specialization_ft

1647+@requires_specialization

16481648deftest_store_attr_with_hint(self):

16491649classC:

16501650pass

@@ -1669,7 +1669,7 @@ def set_value(n):

16691669self.assert_no_opcode(set_value, "STORE_ATTR_WITH_HINT")

1670167016711671@cpython_only

1672-@requires_specialization_ft

1672+@requires_specialization

16731673deftest_to_bool(self):

16741674defto_bool_bool():

16751675true_cnt, false_cnt=0, 0

@@ -1737,7 +1737,7 @@ def to_bool_str():

17371737self.assert_no_opcode(to_bool_str, "TO_BOOL")

1738173817391739@cpython_only

1740-@requires_specialization_ft

1740+@requires_specialization

17411741deftest_unpack_sequence(self):

17421742defunpack_sequence_two_tuple():

17431743for_inrange(_testinternalcapi.SPECIALIZATION_THRESHOLD):

@@ -1774,7 +1774,7 @@ def unpack_sequence_list():

17741774self.assert_no_opcode(unpack_sequence_list, "UNPACK_SEQUENCE")

1775177517761776@cpython_only

1777-@requires_specialization_ft

1777+@requires_specialization

17781778deftest_binary_subscr(self):

17791779defbinary_subscr_list_int():

17801780for_inrange(_testinternalcapi.SPECIALIZATION_THRESHOLD):

@@ -1844,7 +1844,7 @@ def __getitem__(self, item):

18441844self.assert_no_opcode(binary_subscr_getitems, "BINARY_OP")

1845184518461846@cpython_only

1847-@requires_specialization_ft

1847+@requires_specialization

18481848deftest_compare_op(self):

18491849defcompare_op_int():

18501850for_inrange(_testinternalcapi.SPECIALIZATION_THRESHOLD):

@@ -1878,7 +1878,7 @@ def compare_op_str():

187818781879187918801880@cpython_only

1881-@requires_specialization_ft

1881+@requires_specialization

18821882deftest_for_iter(self):

18831883L=list(range(10))

18841884deffor_iter_list():

@@ -1916,7 +1916,7 @@ def for_iter_generator():

19161916self.assert_no_opcode(for_iter_generator, "FOR_ITER")

1917191719181918@cpython_only

1919-@requires_specialization_ft

1919+@requires_specialization

19201920deftest_call_list_append(self):

19211921# gh-141367: only exact lists should use

19221922# CALL_LIST_APPEND instruction after specialization.

@@ -1943,7 +1943,7 @@ class MyList(list): pass

19431943self.assert_no_opcode(my_list_append, "CALL")

1944194419451945@cpython_only

1946-@requires_specialization_ft

1946+@requires_specialization

19471947deftest_load_attr_module_with_getattr(self):

19481948module=types.ModuleType("test_module_with_getattr")

19491949module.__dict__["some_attr"] ="foo"