diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2016-12-01 13:51:04 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2016-12-01 13:51:04 (GMT) |
commit | 4778eab1f2b70cd2431252cae987e4adb3729ce8 (patch) | |
tree | da490c7fb2cf97449a8f17ae3b053e49a7c9b8ac /Python | |
parent | 842cfff3215aaebf788d782e40a61fe421fb2a5d (diff) | |
download | cpython-4778eab1f2b70cd2431252cae987e4adb3729ce8.zip cpython-4778eab1f2b70cd2431252cae987e4adb3729ce8.tar.gz cpython-4778eab1f2b70cd2431252cae987e4adb3729ce8.tar.bz2 |
Replace PyObject_CallFunction() with fastcall
Replace
PyObject_CallFunction(func, "O", arg)
and
PyObject_CallFunction(func, "O", arg, NULL)
with
_PyObject_CallArg1(func, arg)
Replace
PyObject_CallFunction(func, NULL)
with
_PyObject_CallNoArg(func)
_PyObject_CallNoArg() and _PyObject_CallArg1() are simpler and don't allocate
memory on the C stack.
Diffstat (limited to 'Python')
-rw-r--r-- | Python/_warnings.c | 2 | ||||
-rw-r--r-- | Python/codecs.c | 4 | ||||
-rw-r--r-- | Python/marshal.c | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/Python/_warnings.c b/Python/_warnings.c index a4ce7d1..1b2c6cd 100644 --- a/Python/_warnings.c +++ b/Python/_warnings.c @@ -476,7 +476,7 @@ warn_explicit(PyObject *category, PyObject *message, } else { text = message; - message = PyObject_CallFunction(category, "O", message); + message = _PyObject_CallArg1(category, message); if (message == NULL) goto cleanup; } diff --git a/Python/codecs.c b/Python/codecs.c index bf152c2..55f6ca8 100644 --- a/Python/codecs.c +++ b/Python/codecs.c @@ -284,7 +284,7 @@ PyObject *codec_makeincrementalcodec(PyObject *codec_info, if (errors) ret = PyObject_CallFunction(inccodec, "s", errors); else - ret = PyObject_CallFunction(inccodec, NULL); + ret = _PyObject_CallNoArg(inccodec); Py_DECREF(inccodec); return ret; } @@ -322,7 +322,7 @@ PyObject *codec_getstreamcodec(const char *encoding, if (errors != NULL) streamcodec = PyObject_CallFunction(codeccls, "Os", stream, errors); else - streamcodec = PyObject_CallFunction(codeccls, "O", stream); + streamcodec = _PyObject_CallArg1(codeccls, stream); Py_DECREF(codecs); return streamcodec; } diff --git a/Python/marshal.c b/Python/marshal.c index 87a4b24..0889e41 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -1274,7 +1274,7 @@ r_object(RFILE *p) if (n == 0 && type == TYPE_FROZENSET) { /* call frozenset() to get the empty frozenset singleton */ - v = PyObject_CallFunction((PyObject*)&PyFrozenSet_Type, NULL); + v = _PyObject_CallNoArg((PyObject*)&PyFrozenSet_Type); if (v == NULL) break; R_REF(v); |