summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2016-12-01 13:51:04 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2016-12-01 13:51:04 (GMT)
commit4778eab1f2b70cd2431252cae987e4adb3729ce8 (patch)
treeda490c7fb2cf97449a8f17ae3b053e49a7c9b8ac /Python
parent842cfff3215aaebf788d782e40a61fe421fb2a5d (diff)
downloadcpython-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.c2
-rw-r--r--Python/codecs.c4
-rw-r--r--Python/marshal.c2
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);