diff options
author | Jeroen Demeyer <J.Demeyer@UGent.be> | 2019-05-30 10:43:59 (GMT) |
---|---|---|
committer | Petr Viktorin <encukou@gmail.com> | 2019-05-30 10:43:58 (GMT) |
commit | c145f3bfbe80d498d40848450d4d33c14e2cf782 (patch) | |
tree | e290ce5742c55e9205b663729a014067f1a0fa04 | |
parent | 735e8afa9ee942367b5d0807633a2b9f662cbdbf (diff) | |
download | cpython-c145f3bfbe80d498d40848450d4d33c14e2cf782.zip cpython-c145f3bfbe80d498d40848450d4d33c14e2cf782.tar.gz cpython-c145f3bfbe80d498d40848450d4d33c14e2cf782.tar.bz2 |
bpo-36974: remove _PyObject_HasFastCall (GH-13460)
-rw-r--r-- | Include/cpython/abstract.h | 4 | ||||
-rw-r--r-- | Modules/_functoolsmodule.c | 4 | ||||
-rw-r--r-- | Objects/call.c | 16 |
3 files changed, 2 insertions, 22 deletions
diff --git a/Include/cpython/abstract.h b/Include/cpython/abstract.h index 7099178..7ab2045 100644 --- a/Include/cpython/abstract.h +++ b/Include/cpython/abstract.h @@ -55,10 +55,6 @@ PyAPI_FUNC(int) _PyStack_UnpackDict( 40 bytes on the stack. */ #define _PY_FASTCALL_SMALL_STACK 5 -/* Return 1 if callable supports FASTCALL calling convention for positional - arguments: see _PyObject_Vectorcall() and _PyObject_FastCallDict() */ -PyAPI_FUNC(int) _PyObject_HasFastCall(PyObject *callable); - PyAPI_FUNC(PyObject *) _Py_CheckFunctionResult(PyObject *callable, PyObject *result, const char *where); diff --git a/Modules/_functoolsmodule.c b/Modules/_functoolsmodule.c index 13f2db9..213fb3e 100644 --- a/Modules/_functoolsmodule.c +++ b/Modules/_functoolsmodule.c @@ -107,7 +107,7 @@ partial_new(PyTypeObject *type, PyObject *args, PyObject *kw) return NULL; } - pto->use_fastcall = _PyObject_HasFastCall(func); + pto->use_fastcall = (_PyVectorcall_Function(func) != NULL); return (PyObject *)pto; } @@ -365,7 +365,7 @@ partial_setstate(partialobject *pto, PyObject *state) Py_INCREF(dict); Py_INCREF(fn); - pto->use_fastcall = _PyObject_HasFastCall(fn); + pto->use_fastcall = (_PyVectorcall_Function(fn) != NULL); Py_SETREF(pto->fn, fn); Py_SETREF(pto->args, fnargs); Py_SETREF(pto->kw, kw); diff --git a/Objects/call.c b/Objects/call.c index 183a5c2..55dfc52 100644 --- a/Objects/call.c +++ b/Objects/call.c @@ -9,22 +9,6 @@ static PyObject * cfunction_call_varargs(PyObject *func, PyObject *args, PyObject *kwargs); -int -_PyObject_HasFastCall(PyObject *callable) -{ - if (PyFunction_Check(callable)) { - return 1; - } - else if (PyCFunction_Check(callable)) { - return !(PyCFunction_GET_FLAGS(callable) & METH_VARARGS); - } - else { - assert (PyCallable_Check(callable)); - return 0; - } -} - - static PyObject * null_error(void) { |