From d7237afcf1ff8b48c90521913d2064096844d281 Mon Sep 17 00:00:00 2001 From: Jeroen Demeyer Date: Thu, 20 Jun 2019 16:22:08 +0200 Subject: [PATCH] bpo-37151: remove _PyCFunction_FastCallDict --- Include/methodobject.h | 5 ----- Objects/call.c | 18 ------------------ Python/ceval.c | 8 ++++---- Tools/gdb/libpython.py | 3 +-- 4 files changed, 5 insertions(+), 29 deletions(-) diff --git a/Include/methodobject.h b/Include/methodobject.h index e92adde7bf6bd7..f4a6682830c3f0 100644 --- a/Include/methodobject.h +++ b/Include/methodobject.h @@ -42,11 +42,6 @@ PyAPI_FUNC(int) PyCFunction_GetFlags(PyObject *); PyAPI_FUNC(PyObject *) PyCFunction_Call(PyObject *, PyObject *, PyObject *); #ifndef Py_LIMITED_API -PyAPI_FUNC(PyObject *) _PyCFunction_FastCallDict(PyObject *func, - PyObject *const *args, - Py_ssize_t nargs, - PyObject *kwargs); - PyAPI_FUNC(PyObject *) _PyCFunction_Vectorcall(PyObject *func, PyObject *const *stack, size_t nargsf, diff --git a/Objects/call.c b/Objects/call.c index 75dbd6f52623ac..8a1ce7f55fe4f0 100644 --- a/Objects/call.c +++ b/Objects/call.c @@ -495,24 +495,6 @@ _PyMethodDef_RawFastCallDict(PyMethodDef *method, PyObject *self, } -PyObject * -_PyCFunction_FastCallDict(PyObject *func, - PyObject *const *args, Py_ssize_t nargs, - PyObject *kwargs) -{ - PyObject *result; - - assert(func != NULL); - assert(PyCFunction_Check(func)); - - result = _PyMethodDef_RawFastCallDict(((PyCFunctionObject*)func)->m_ml, - PyCFunction_GET_SELF(func), - args, nargs, kwargs); - result = _Py_CheckFunctionResult(func, result, NULL); - return result; -} - - PyObject * _PyMethodDef_RawFastCallKeywords(PyMethodDef *method, PyObject *self, PyObject *const *args, Py_ssize_t nargs, diff --git a/Python/ceval.c b/Python/ceval.c index 60367a665d7d62..4ca986a94517f2 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -5018,10 +5018,10 @@ do_call_core(PyThreadState *tstate, PyObject *func, PyObject *callargs, PyObject return NULL; } - C_TRACE(result, _PyCFunction_FastCallDict(func, - &_PyTuple_ITEMS(callargs)[1], - nargs - 1, - kwdict)); + C_TRACE(result, _PyObject_FastCallDict(func, + &_PyTuple_ITEMS(callargs)[1], + nargs - 1, + kwdict)); Py_DECREF(func); return result; } diff --git a/Tools/gdb/libpython.py b/Tools/gdb/libpython.py index 93f720ab7e2a10..abfea964a3d4f8 100755 --- a/Tools/gdb/libpython.py +++ b/Tools/gdb/libpython.py @@ -1563,8 +1563,7 @@ def is_other_python_frame(self): if not caller: return False - if caller in ('_PyCFunction_FastCallDict', - '_PyCFunction_Vectorcall', + if caller in ('_PyCFunction_Vectorcall', 'cfunction_call_varargs'): arg_name = 'func' # Within that frame: