mirror of
https://github.com/python/cpython.git
synced 2025-07-07 19:35:27 +00:00
gh-131306: Remove unused code related to BINARY_SUBSCR
(#131307)
This commit is contained in:
parent
bf4c1bf344
commit
d07e9ebbe8
5 changed files with 6 additions and 15 deletions
|
@ -256,7 +256,7 @@ struct _specialization_cache {
|
|||
// - If getitem is NULL, then getitem_version is meaningless.
|
||||
// - If getitem->func_version == getitem_version, then getitem can be called
|
||||
// with two positional arguments and no keyword arguments, and has neither
|
||||
// *args nor **kwargs (as required by BINARY_SUBSCR_GETITEM):
|
||||
// *args nor **kwargs (as required by BINARY_OP_SUBSCR_GETITEM):
|
||||
PyObject *getitem;
|
||||
uint32_t getitem_version;
|
||||
PyObject *init;
|
||||
|
|
|
@ -118,12 +118,6 @@ typedef struct {
|
|||
|
||||
#define INLINE_CACHE_ENTRIES_COMPARE_OP CACHE_ENTRIES(_PyCompareOpCache)
|
||||
|
||||
typedef struct {
|
||||
_Py_BackoffCounter counter;
|
||||
} _PyBinarySubscrCache;
|
||||
|
||||
#define INLINE_CACHE_ENTRIES_BINARY_SUBSCR CACHE_ENTRIES(_PyBinarySubscrCache)
|
||||
|
||||
typedef struct {
|
||||
_Py_BackoffCounter counter;
|
||||
} _PySuperAttrCache;
|
||||
|
|
|
@ -126,7 +126,7 @@ to see in an exception traceback.
|
|||
The `return_offset` field determines where a `RETURN` should go in the caller,
|
||||
relative to `instr_ptr`. It is only meaningful to the callee, so it needs to
|
||||
be set in any instruction that implements a call (to a Python function),
|
||||
including CALL, SEND and BINARY_SUBSCR_GETITEM, among others. If there is no
|
||||
including CALL, SEND and BINARY_OP_SUBSCR_GETITEM, among others. If there is no
|
||||
callee, then return_offset is meaningless. It is necessary to have a separate
|
||||
field for the return offset because (1) if we apply this offset to `instr_ptr`
|
||||
while executing the `RETURN`, this is too early and would lose us information
|
||||
|
|
|
@ -63,9 +63,6 @@ _cache_format = {
|
|||
"CONTAINS_OP": {
|
||||
"counter": 1,
|
||||
},
|
||||
"BINARY_SUBSCR": {
|
||||
"counter": 1,
|
||||
},
|
||||
"FOR_ITER": {
|
||||
"counter": 1,
|
||||
},
|
||||
|
|
|
@ -1706,7 +1706,7 @@ class TestSpecializer(TestBase):
|
|||
binary_subscr_list_int()
|
||||
self.assert_specialized(binary_subscr_list_int,
|
||||
"BINARY_OP_SUBSCR_LIST_INT")
|
||||
self.assert_no_opcode(binary_subscr_list_int, "BINARY_SUBSCR")
|
||||
self.assert_no_opcode(binary_subscr_list_int, "BINARY_OP")
|
||||
|
||||
def binary_subscr_tuple_int():
|
||||
for _ in range(_testinternalcapi.SPECIALIZATION_THRESHOLD):
|
||||
|
@ -1717,7 +1717,7 @@ class TestSpecializer(TestBase):
|
|||
binary_subscr_tuple_int()
|
||||
self.assert_specialized(binary_subscr_tuple_int,
|
||||
"BINARY_OP_SUBSCR_TUPLE_INT")
|
||||
self.assert_no_opcode(binary_subscr_tuple_int, "BINARY_SUBSCR")
|
||||
self.assert_no_opcode(binary_subscr_tuple_int, "BINARY_OP")
|
||||
|
||||
def binary_subscr_dict():
|
||||
for _ in range(_testinternalcapi.SPECIALIZATION_THRESHOLD):
|
||||
|
@ -1737,7 +1737,7 @@ class TestSpecializer(TestBase):
|
|||
|
||||
binary_subscr_str_int()
|
||||
self.assert_specialized(binary_subscr_str_int, "BINARY_OP_SUBSCR_STR_INT")
|
||||
self.assert_no_opcode(binary_subscr_str_int, "BINARY_SUBSCR")
|
||||
self.assert_no_opcode(binary_subscr_str_int, "BINARY_OP")
|
||||
|
||||
def binary_subscr_getitems():
|
||||
class C:
|
||||
|
@ -1752,7 +1752,7 @@ class TestSpecializer(TestBase):
|
|||
|
||||
binary_subscr_getitems()
|
||||
self.assert_specialized(binary_subscr_getitems, "BINARY_OP_SUBSCR_GETITEM")
|
||||
self.assert_no_opcode(binary_subscr_getitems, "BINARY_SUBSCR")
|
||||
self.assert_no_opcode(binary_subscr_getitems, "BINARY_OP")
|
||||
|
||||
@cpython_only
|
||||
@requires_specialization_ft
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue