diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2016-12-05 16:04:32 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2016-12-05 16:04:32 (GMT) |
commit | 7bfb42d5b7721ca26e33050d025fec5c43c00058 (patch) | |
tree | c1c91a2a34361474de2c02388c8f91d4333f2ea5 /Objects | |
parent | d77e5b7211e8daf22f2b3e0df124393bca504c38 (diff) | |
download | cpython-7bfb42d5b7721ca26e33050d025fec5c43c00058.zip cpython-7bfb42d5b7721ca26e33050d025fec5c43c00058.tar.gz cpython-7bfb42d5b7721ca26e33050d025fec5c43c00058.tar.bz2 |
Issue #28858: Remove _PyObject_CallArg1() macro
Replace
_PyObject_CallArg1(func, arg)
with
PyObject_CallFunctionObjArgs(func, arg, NULL)
Using the _PyObject_CallArg1() macro increases the usage of the C stack, which
was unexpected and unwanted. PyObject_CallFunctionObjArgs() doesn't have this
issue.
Diffstat (limited to 'Objects')
-rw-r--r-- | Objects/abstract.c | 2 | ||||
-rw-r--r-- | Objects/fileobject.c | 2 | ||||
-rw-r--r-- | Objects/genobject.c | 2 | ||||
-rw-r--r-- | Objects/typeobject.c | 6 |
4 files changed, 6 insertions, 6 deletions
diff --git a/Objects/abstract.c b/Objects/abstract.c index beb12c9..a6a58db 100644 --- a/Objects/abstract.c +++ b/Objects/abstract.c @@ -2496,7 +2496,7 @@ call_function_tail(PyObject *callable, PyObject *args) assert(args != NULL); if (!PyTuple_Check(args)) { - result = _PyObject_CallArg1(callable, args); + result = PyObject_CallFunctionObjArgs(callable, args, NULL); } else { result = PyObject_Call(callable, args, NULL); diff --git a/Objects/fileobject.c b/Objects/fileobject.c index 32f8a89..fcdb5fd 100644 --- a/Objects/fileobject.c +++ b/Objects/fileobject.c @@ -146,7 +146,7 @@ PyFile_WriteObject(PyObject *v, PyObject *f, int flags) Py_DECREF(writer); return -1; } - result = _PyObject_CallArg1(writer, value); + result = PyObject_CallFunctionObjArgs(writer, value, NULL); Py_DECREF(value); Py_DECREF(writer); if (result == NULL) diff --git a/Objects/genobject.c b/Objects/genobject.c index bd7873b..59f53ce 100644 --- a/Objects/genobject.c +++ b/Objects/genobject.c @@ -1341,7 +1341,7 @@ async_gen_init_hooks(PyAsyncGenObject *o) PyObject *res; Py_INCREF(firstiter); - res = _PyObject_CallArg1(firstiter, o); + res = PyObject_CallFunctionObjArgs(firstiter, o, NULL); Py_DECREF(firstiter); if (res == NULL) { return 1; diff --git a/Objects/typeobject.c b/Objects/typeobject.c index 0af1534..d9699ef 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -5873,7 +5873,7 @@ slot_sq_item(PyObject *self, Py_ssize_t i) goto error; } - retval = _PyObject_CallArg1(func, ival); + retval = PyObject_CallFunctionObjArgs(func, ival, NULL); Py_DECREF(func); Py_DECREF(ival); return retval; @@ -5914,7 +5914,7 @@ slot_sq_contains(PyObject *self, PyObject *value) return -1; } if (func != NULL) { - res = _PyObject_CallArg1(func, value); + res = PyObject_CallFunctionObjArgs(func, value, NULL); Py_DECREF(func); if (res != NULL) { result = PyObject_IsTrue(res); @@ -6284,7 +6284,7 @@ slot_tp_richcompare(PyObject *self, PyObject *other, int op) PyErr_Clear(); Py_RETURN_NOTIMPLEMENTED; } - res = _PyObject_CallArg1(func, other); + res = PyObject_CallFunctionObjArgs(func, other, NULL); Py_DECREF(func); return res; } |