]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-131306: Remove unused code related to `BINARY_SUBSCR` (#131307)
authorTomas R. <tomas.roun8@gmail.com>
Sun, 16 Mar 2025 16:37:29 +0000 (17:37 +0100)
committerGitHub <noreply@github.com>
Sun, 16 Mar 2025 16:37:29 +0000 (16:37 +0000)
Include/cpython/object.h
Include/internal/pycore_code.h
InternalDocs/frames.md
Lib/opcode.py
Lib/test/test_opcache.py

index 70cf0b51f140a927dd0c61455995488a64ca1f30..184aa63b3a5ed1369166d6bfb11073dc328bd40e 100644 (file)
@@ -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;
index fa0e0bd01c99e9b6bed4c199a0ba887130560dec..c3edbb3dffe79b9869e6e91d6864404520e12a6e 100644 (file)
@@ -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;
index aa996dfdf7b4a7b6f85d13ced4a9f4511534253b..2f0cc7967f33f72ba54ec2a1001dbd50b7529cc7 100644 (file)
@@ -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
index 4ee0d64026bd0a19eea9268ddef2151986565217..ea7c27698dd338eebc1819f55a2818ed2e16405d 100644 (file)
@@ -63,9 +63,6 @@ _cache_format = {
     "CONTAINS_OP": {
         "counter": 1,
     },
-    "BINARY_SUBSCR": {
-        "counter": 1,
-    },
     "FOR_ITER": {
         "counter": 1,
     },
index 946a4827fe7f4e52c998d4e514e06c89ef7ae4ac..ce9c489f32cf7d672dadbbc0ed78208e2453f7bf 100644 (file)
@@ -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