gh-106320: Remove _PyFunction_Vectorcall() API (#107071)

Move _PyFunction_Vectorcall() API to the internal C API.
No longer export the function.
This commit is contained in:
Victor Stinner 2023-07-22 23:44:33 +02:00 committed by GitHub
parent c1331ad508
commit 889851ecc3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 6 deletions

View File

@ -79,12 +79,6 @@ PyAPI_FUNC(int) PyFunction_SetClosure(PyObject *, PyObject *);
PyAPI_FUNC(PyObject *) PyFunction_GetAnnotations(PyObject *); PyAPI_FUNC(PyObject *) PyFunction_GetAnnotations(PyObject *);
PyAPI_FUNC(int) PyFunction_SetAnnotations(PyObject *, 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) \ #define _PyFunction_CAST(func) \
(assert(PyFunction_Check(func)), _Py_CAST(PyFunctionObject*, func)) (assert(PyFunction_Check(func)), _Py_CAST(PyFunctionObject*, func))

View File

@ -8,6 +8,12 @@ extern "C" {
# error "this header requires Py_BUILD_CORE define" # error "this header requires Py_BUILD_CORE define"
#endif #endif
extern PyObject* _PyFunction_Vectorcall(
PyObject *func,
PyObject *const *stack,
size_t nargsf,
PyObject *kwnames);
#define FUNC_MAX_WATCHERS 8 #define FUNC_MAX_WATCHERS 8
struct _py_func_state { struct _py_func_state {

View File

@ -2,6 +2,7 @@
#include "pycore_call.h" // _PyObject_CallNoArgsTstate() #include "pycore_call.h" // _PyObject_CallNoArgsTstate()
#include "pycore_ceval.h" // _Py_EnterRecursiveCallTstate() #include "pycore_ceval.h" // _Py_EnterRecursiveCallTstate()
#include "pycore_dict.h" // _PyDict_FromItems() #include "pycore_dict.h" // _PyDict_FromItems()
#include "pycore_function.h" // _PyFunction_Vectorcall() definition
#include "pycore_modsupport.h" // _Py_VaBuildStack() #include "pycore_modsupport.h" // _Py_VaBuildStack()
#include "pycore_object.h" // _PyCFunctionWithKeywords_TrampolineCall() #include "pycore_object.h" // _PyCFunctionWithKeywords_TrampolineCall()
#include "pycore_pyerrors.h" // _PyErr_Occurred() #include "pycore_pyerrors.h" // _PyErr_Occurred()