mirror of
https://github.com/python/cpython.git
synced 2026-07-31 13:13:38 +08:00
Add special cases for classmethod and staticmethod descriptors in _PyObject_GetMethodStackRef() to avoid calling tp_descr_get, which avoids reference count contention on the bound method and underlying callable. This improves scaling when calling classmethods and staticmethods from multiple threads. Also refactor method_vectorcall in classobject.c into a new _PyObject_VectorcallPrepend() helper so that it can be used by PyObject_VectorcallMethod as well. (cherry picked from commit e0f7c1097e19b6f5c2399e19f283c9fb373c243f)
Miscellaneous source files for the main Python shared library