GH-90699: use statically allocated strings in typeobject.c (gh-93751)

This commit is contained in:
Kumar Aditya 2022-06-12 22:08:18 +05:30 committed by GitHub
parent ae1ca74513
commit 9331087966
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 2 deletions

View file

@ -90,6 +90,7 @@ struct _Py_global_strings {
STRUCT_FOR_ID(__delete__) STRUCT_FOR_ID(__delete__)
STRUCT_FOR_ID(__delitem__) STRUCT_FOR_ID(__delitem__)
STRUCT_FOR_ID(__dict__) STRUCT_FOR_ID(__dict__)
STRUCT_FOR_ID(__dictoffset__)
STRUCT_FOR_ID(__dir__) STRUCT_FOR_ID(__dir__)
STRUCT_FOR_ID(__divmod__) STRUCT_FOR_ID(__divmod__)
STRUCT_FOR_ID(__doc__) STRUCT_FOR_ID(__doc__)
@ -206,6 +207,7 @@ struct _Py_global_strings {
STRUCT_FOR_ID(__typing_subst__) STRUCT_FOR_ID(__typing_subst__)
STRUCT_FOR_ID(__typing_unpacked_tuple_args__) STRUCT_FOR_ID(__typing_unpacked_tuple_args__)
STRUCT_FOR_ID(__warningregistry__) STRUCT_FOR_ID(__warningregistry__)
STRUCT_FOR_ID(__weaklistoffset__)
STRUCT_FOR_ID(__weakref__) STRUCT_FOR_ID(__weakref__)
STRUCT_FOR_ID(__xor__) STRUCT_FOR_ID(__xor__)
STRUCT_FOR_ID(_abc_impl) STRUCT_FOR_ID(_abc_impl)

View file

@ -712,6 +712,7 @@ extern "C" {
INIT_ID(__delete__), \ INIT_ID(__delete__), \
INIT_ID(__delitem__), \ INIT_ID(__delitem__), \
INIT_ID(__dict__), \ INIT_ID(__dict__), \
INIT_ID(__dictoffset__), \
INIT_ID(__dir__), \ INIT_ID(__dir__), \
INIT_ID(__divmod__), \ INIT_ID(__divmod__), \
INIT_ID(__doc__), \ INIT_ID(__doc__), \
@ -828,6 +829,7 @@ extern "C" {
INIT_ID(__typing_subst__), \ INIT_ID(__typing_subst__), \
INIT_ID(__typing_unpacked_tuple_args__), \ INIT_ID(__typing_unpacked_tuple_args__), \
INIT_ID(__warningregistry__), \ INIT_ID(__warningregistry__), \
INIT_ID(__weaklistoffset__), \
INIT_ID(__weakref__), \ INIT_ID(__weakref__), \
INIT_ID(__xor__), \ INIT_ID(__xor__), \
INIT_ID(_abc_impl), \ INIT_ID(_abc_impl), \

View file

@ -3637,13 +3637,13 @@ PyType_FromMetaclass(PyTypeObject *metaclass, PyObject *module,
if (weaklistoffset) { if (weaklistoffset) {
type->tp_weaklistoffset = 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; goto finally;
} }
} }
if (dictoffset) { if (dictoffset) {
type->tp_dictoffset = 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; goto finally;
} }
} }