mirror of
https://github.com/python/cpython.git
synced 2025-08-03 00:23:06 +00:00
Backed out changeset b9c9691c72c5
Issue #28858: The change b9c9691c72c5 introduced a regression. It seems like _PyObject_CallArg1() uses more stack memory than PyObject_CallFunctionObjArgs().
This commit is contained in:
parent
c8d03187ff
commit
de4ae3d486
33 changed files with 83 additions and 71 deletions
|
@ -312,7 +312,7 @@ pack_from_list(PyObject *obj, PyObject *items, PyObject *format,
|
|||
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 @@ pack_single(char *ptr, PyObject *item, const char *fmt, Py_ssize_t itemsize)
|
|||
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 @@ unpack_rec(PyObject *unpack_from, char *ptr, PyObject *mview, char *item,
|
|||
|
||||
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 @@ ndarray_as_list(NDArrayObject *nd)
|
|||
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 @@ get_itemsize(PyObject *format)
|
|||
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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue