[Python-checkins] gh-106320: Remove _PyFunction_Vectorcall() API (#107071)
vstinner
webhook-mailer at python.org
Sat Jul 22 17:44:37 EDT 2023
https://github.com/python/cpython/commit/889851ecc355cad3d79f5692a6dbd3ae3127647b
commit: 889851ecc355cad3d79f5692a6dbd3ae3127647b
branch: main
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2023-07-22T21:44:33Z
summary:
gh-106320: Remove _PyFunction_Vectorcall() API (#107071)
Move _PyFunction_Vectorcall() API to the internal C API.
No longer export the function.
files:
M Include/cpython/funcobject.h
M Include/internal/pycore_function.h
M Objects/call.c
diff --git a/Include/cpython/funcobject.h b/Include/cpython/funcobject.h
index 6f78f5868d016..de2013323d2c7 100644
--- a/Include/cpython/funcobject.h
+++ b/Include/cpython/funcobject.h
@@ -79,12 +79,6 @@ PyAPI_FUNC(int) PyFunction_SetClosure(PyObject *, PyObject *);
PyAPI_FUNC(PyObject *) PyFunction_GetAnnotations(PyObject *);
PyAPI_FUNC(int) PyFunction_SetAnnotations(PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) _PyFunction_Vectorcall(
- PyObject *func,
- PyObject *const *stack,
- size_t nargsf,
- PyObject *kwnames);
-
#define _PyFunction_CAST(func) \
(assert(PyFunction_Check(func)), _Py_CAST(PyFunctionObject*, func))
diff --git a/Include/internal/pycore_function.h b/Include/internal/pycore_function.h
index ecbb7001e7d84..e844d323ec792 100644
--- a/Include/internal/pycore_function.h
+++ b/Include/internal/pycore_function.h
@@ -8,6 +8,12 @@ extern "C" {
# error "this header requires Py_BUILD_CORE define"
#endif
+extern PyObject* _PyFunction_Vectorcall(
+ PyObject *func,
+ PyObject *const *stack,
+ size_t nargsf,
+ PyObject *kwnames);
+
#define FUNC_MAX_WATCHERS 8
struct _py_func_state {
diff --git a/Objects/call.c b/Objects/call.c
index 396552d85cfca..b1610dababd46 100644
--- a/Objects/call.c
+++ b/Objects/call.c
@@ -2,6 +2,7 @@
#include "pycore_call.h" // _PyObject_CallNoArgsTstate()
#include "pycore_ceval.h" // _Py_EnterRecursiveCallTstate()
#include "pycore_dict.h" // _PyDict_FromItems()
+#include "pycore_function.h" // _PyFunction_Vectorcall() definition
#include "pycore_modsupport.h" // _Py_VaBuildStack()
#include "pycore_object.h" // _PyCFunctionWithKeywords_TrampolineCall()
#include "pycore_pyerrors.h" // _PyErr_Occurred()
More information about the Python-checkins
mailing list