[Python-checkins] bpo-37151: remove _PyCFunction_FastCallDict (GH-14269)

Inada Naoki webhook-mailer at python.org
Thu Jun 20 11:38:54 EDT 2019


https://github.com/python/cpython/commit/7e1a9aacff95c68d284f31666fe293fa2db5406d
commit: 7e1a9aacff95c68d284f31666fe293fa2db5406d
branch: master
author: Jeroen Demeyer <J.Demeyer at UGent.be>
committer: Inada Naoki <songofacandy at gmail.com>
date: 2019-06-21T00:38:45+09:00
summary:

bpo-37151: remove _PyCFunction_FastCallDict (GH-14269)

files:
M Include/methodobject.h
M Objects/call.c
M Python/ceval.c
M Tools/gdb/libpython.py

diff --git a/Include/methodobject.h b/Include/methodobject.h
index e92adde7bf6b..f4a6682830c3 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 75dbd6f52623..8a1ce7f55fe4 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 60367a665d7d..4ca986a94517 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 93f720ab7e2a..abfea964a3d4 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:



More information about the Python-checkins mailing list