From 93310879665368445f95df2f3d9be7fb82435248 Mon Sep 17 00:00:00 2001 From: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> Date: Sun, 12 Jun 2022 22:08:18 +0530 Subject: GH-90699: use statically allocated strings in typeobject.c (gh-93751) --- Include/internal/pycore_global_strings.h | 2 ++ Include/internal/pycore_runtime_init.h | 2 ++ Objects/typeobject.c | 4 ++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Include/internal/pycore_global_strings.h b/Include/internal/pycore_global_strings.h index ca97062..af6c5eb 100644 --- a/Include/internal/pycore_global_strings.h +++ b/Include/internal/pycore_global_strings.h @@ -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) diff --git a/Include/internal/pycore_runtime_init.h b/Include/internal/pycore_runtime_init.h index 5e57ac6..2420d81 100644 --- a/Include/internal/pycore_runtime_init.h +++ b/Include/internal/pycore_runtime_init.h @@ -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), \ diff --git a/Objects/typeobject.c b/Objects/typeobject.c index 18094bd..c6df50d 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -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; } } -- cgit v0.12