]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
GH-90699: use statically allocated strings in typeobject.c (gh-93751)
authorKumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
Sun, 12 Jun 2022 16:38:18 +0000 (22:08 +0530)
committerGitHub <noreply@github.com>
Sun, 12 Jun 2022 16:38:18 +0000 (01:38 +0900)
Include/internal/pycore_global_strings.h
Include/internal/pycore_runtime_init.h
Objects/typeobject.c

index ca970627cb2e17080efb262472bc2e5ffdb45933..af6c5ebaaf9defa2a8f874510e8d95c91649e2b2 100644 (file)
@@ -90,6 +90,7 @@ struct _Py_global_strings {
         STRUCT_FOR_ID(__delete__)
         STRUCT_FOR_ID(__delitem__)
         STRUCT_FOR_ID(__dict__)
+        STRUCT_FOR_ID(__dictoffset__)
         STRUCT_FOR_ID(__dir__)
         STRUCT_FOR_ID(__divmod__)
         STRUCT_FOR_ID(__doc__)
@@ -206,6 +207,7 @@ struct _Py_global_strings {
         STRUCT_FOR_ID(__typing_subst__)
         STRUCT_FOR_ID(__typing_unpacked_tuple_args__)
         STRUCT_FOR_ID(__warningregistry__)
+        STRUCT_FOR_ID(__weaklistoffset__)
         STRUCT_FOR_ID(__weakref__)
         STRUCT_FOR_ID(__xor__)
         STRUCT_FOR_ID(_abc_impl)
index 5e57ac68776c8a9bdbf34afc5c948029f577e56f..2420d81a8a238a03363d6907c354a95acf0c851e 100644 (file)
@@ -712,6 +712,7 @@ extern "C" {
                 INIT_ID(__delete__), \
                 INIT_ID(__delitem__), \
                 INIT_ID(__dict__), \
+                INIT_ID(__dictoffset__), \
                 INIT_ID(__dir__), \
                 INIT_ID(__divmod__), \
                 INIT_ID(__doc__), \
@@ -828,6 +829,7 @@ extern "C" {
                 INIT_ID(__typing_subst__), \
                 INIT_ID(__typing_unpacked_tuple_args__), \
                 INIT_ID(__warningregistry__), \
+                INIT_ID(__weaklistoffset__), \
                 INIT_ID(__weakref__), \
                 INIT_ID(__xor__), \
                 INIT_ID(_abc_impl), \
index 18094bd43dd3a1a46c45c8c3987a71581473f1e0..c6df50da9736bb1befa480edaa1556b6feab9256 100644 (file)
@@ -3637,13 +3637,13 @@ PyType_FromMetaclass(PyTypeObject *metaclass, PyObject *module,
 
     if (weaklistoffset) {
         type->tp_weaklistoffset = weaklistoffset;
-        if (PyDict_DelItemString((PyObject *)type->tp_dict, "__weaklistoffset__") < 0) {
+        if (PyDict_DelItem((PyObject *)type->tp_dict, &_Py_ID(__weaklistoffset__)) < 0) {
             goto finally;
         }
     }
     if (dictoffset) {
         type->tp_dictoffset = dictoffset;
-        if (PyDict_DelItemString((PyObject *)type->tp_dict, "__dictoffset__") < 0) {
+        if (PyDict_DelItem((PyObject *)type->tp_dict, &_Py_ID(__dictoffset__)) < 0) {
             goto finally;
         }
     }