Backed out changeset b9c9691c72c5
Issue #28858: The change b9c9691c72c5 introduced a regression. It seems like
_PyObject_CallArg1() uses more stack memory than
PyObject_CallFunctionObjArgs().
diff --git a/Modules/_testbuffer.c b/Modules/_testbuffer.c
index bf22f29..13d3ccc 100644
--- a/Modules/_testbuffer.c
+++ b/Modules/_testbuffer.c
@@ -312,7 +312,7 @@
assert(PyObject_CheckBuffer(obj));
assert(PyList_Check(items) || PyTuple_Check(items));
- structobj = _PyObject_CallArg1(Struct, format);
+ structobj = PyObject_CallFunctionObjArgs(Struct, format, NULL);
if (structobj == NULL)
return -1;
@@ -406,7 +406,7 @@
if (format == NULL)
goto out;
- structobj = _PyObject_CallArg1(Struct, format);
+ structobj = PyObject_CallFunctionObjArgs(Struct, format, NULL);
if (structobj == NULL)
goto out;
@@ -620,7 +620,7 @@
if (ndim == 0) {
memcpy(item, ptr, itemsize);
- x = _PyObject_CallArg1(unpack_from, mview);
+ x = PyObject_CallFunctionObjArgs(unpack_from, mview, NULL);
if (x == NULL)
return NULL;
if (PyTuple_GET_SIZE(x) == 1) {
@@ -696,7 +696,7 @@
if (format == NULL)
goto out;
- structobj = _PyObject_CallArg1(Struct, format);
+ structobj = PyObject_CallFunctionObjArgs(Struct, format, NULL);
Py_DECREF(format);
if (structobj == NULL)
goto out;
@@ -788,7 +788,7 @@
PyObject *tmp;
Py_ssize_t itemsize;
- tmp = _PyObject_CallArg1(calcsize, format);
+ tmp = PyObject_CallFunctionObjArgs(calcsize, format, NULL);
if (tmp == NULL)
return -1;
itemsize = PyLong_AsSsize_t(tmp);