@@ -113,6 +113,7 @@ static PyObject * call_function(PyObject ***, int, uint64*, uint64*);
113113#else
114114static PyObject * call_function (PyObject * * * , int );
115115#endif
116+ static PyObject * fast_function (PyObject * , PyObject * * , Py_ssize_t , Py_ssize_t );
116117static PyObject * do_call (PyObject * , PyObject * * * , Py_ssize_t , Py_ssize_t );
117118static PyObject * ext_do_call (PyObject * , PyObject * * * , int , Py_ssize_t , Py_ssize_t );
118119static PyObject * update_keyword_args (PyObject * , Py_ssize_t , PyObject * * * ,
@@ -4766,7 +4767,7 @@ call_function(PyObject ***pp_stack, int oparg
47664767 }
47674768 READ_TIMESTAMP (* pintr0 );
47684769 if (PyFunction_Check (func )) {
4769- x = _PyFunction_FastCallKeywords (func , (* pp_stack ) - n , nargs , nkwargs );
4770+ x = fast_function (func , (* pp_stack ) - n , nargs , nkwargs );
47704771 }
47714772 else {
47724773 x = do_call (func , pp_stack , nargs , nkwargs );
@@ -4779,7 +4780,7 @@ call_function(PyObject ***pp_stack, int oparg
47794780
47804781 /* Clear the stack of the function object. Also removes
47814782 the arguments in case they weren't consumed already
4782- (_PyFunction_FastCallKeywords () and err_args() leave them on the stack).
4783+ (fast_function () and err_args() leave them on the stack).
47834784 */
47844785 while ((* pp_stack ) > pfunc ) {
47854786 w = EXT_POP (* pp_stack );
@@ -4791,7 +4792,7 @@ call_function(PyObject ***pp_stack, int oparg
47914792 return x ;
47924793}
47934794
4794- /* The _PyFunction_FastCallKeywords () function optimize calls for which no argument
4795+ /* The fast_function () function optimize calls for which no argument
47954796 tuple is necessary; the objects are passed directly from the stack.
47964797 For the simplest case -- a function that takes only positional
47974798 arguments and is called with only positional arguments -- it
@@ -4839,9 +4840,8 @@ _PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t nargs,
48394840
48404841/* Similar to _PyFunction_FastCall() but keywords are passed a (key, value)
48414842 pairs in stack */
4842- PyObject *
4843- _PyFunction_FastCallKeywords (PyObject * func , PyObject * * stack ,
4844- Py_ssize_t nargs , Py_ssize_t nkwargs )
4843+ static PyObject *
4844+ fast_function (PyObject * func , PyObject * * stack , Py_ssize_t nargs , Py_ssize_t nkwargs )
48454845{
48464846 PyCodeObject * co = (PyCodeObject * )PyFunction_GET_CODE (func );
48474847 PyObject * globals = PyFunction_GET_GLOBALS (func );
0 commit comments