Simplify and speedup uses of Py_BuildValue():
* Py_BuildValue("(OOO)",a,b,c) --> PyTuple_Pack(3,a,b,c)
* Py_BuildValue("()",a) --> PyTuple_New(0)
* Py_BuildValue("O", a) --> Py_INCREF(a)
diff --git a/Python/ceval.c b/Python/ceval.c
index 035520a..e6b7424 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -1473,7 +1473,7 @@
x = NULL;
}
if (err == 0) {
- x = Py_BuildValue("(O)", v);
+ x = PyTuple_Pack(1, v);
if (x == NULL)
err = -1;
}
@@ -1981,7 +1981,7 @@
break;
}
u = TOP();
- w = Py_BuildValue("(OOOO)",
+ w = PyTuple_Pack(4,
w,
f->f_globals,
f->f_locals == NULL ?
@@ -2999,7 +2999,7 @@
value = Py_None;
Py_INCREF(value);
}
- arg = Py_BuildValue("(OOO)", type, value, traceback);
+ arg = PyTuple_Pack(3, type, value, traceback);
if (arg == NULL) {
PyErr_Restore(type, value, traceback);
return;