[3.8] bpo-36974: separate vectorcall functions for each calling convention (GH-13781) (#14782)

diff --git a/Objects/call.c b/Objects/call.c
index 1f41f5c..c663898 100644
--- a/Objects/call.c
+++ b/Objects/call.c
@@ -206,7 +206,7 @@
         Py_DECREF(kwnames);
     }
 
-    return result;
+    return _Py_CheckFunctionResult(callable, result, NULL);
 }
 
 
@@ -723,25 +723,6 @@
 }
 
 
-PyObject *
-_PyCFunction_Vectorcall(PyObject *func,
-                        PyObject *const *args, size_t nargsf,
-                        PyObject *kwnames)
-{
-    PyObject *result;
-
-    assert(func != NULL);
-    assert(PyCFunction_Check(func));
-    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
-
-    result = _PyMethodDef_RawFastCallKeywords(((PyCFunctionObject*)func)->m_ml,
-                                              PyCFunction_GET_SELF(func),
-                                              args, nargs, kwnames);
-    result = _Py_CheckFunctionResult(func, result, NULL);
-    return result;
-}
-
-
 static PyObject *
 cfunction_call_varargs(PyObject *func, PyObject *args, PyObject *kwargs)
 {