diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2016-08-22 20:48:54 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2016-08-22 20:48:54 (GMT) |
commit | 559bb6a71399af3b1b2a0ba97230d2bcc649e993 (patch) | |
tree | 94927374ac025ae249aa487ce4a17df99c3df2d8 | |
parent | c98afb7a26ac611a4544c5b8dd445d8ea05e6360 (diff) | |
download | cpython-559bb6a71399af3b1b2a0ba97230d2bcc649e993.zip cpython-559bb6a71399af3b1b2a0ba97230d2bcc649e993.tar.gz cpython-559bb6a71399af3b1b2a0ba97230d2bcc649e993.tar.bz2 |
Rename _PyObject_FastCall() to _PyObject_FastCallDict()
Issue #27809:
* Rename _PyObject_FastCall() function to _PyObject_FastCallDict()
* Add _PyObject_FastCall(), _PyObject_CallNoArg() and _PyObject_CallArg1()
macros calling _PyObject_FastCallDict()
-rw-r--r-- | Include/abstract.h | 17 | ||||
-rw-r--r-- | Modules/_elementtree.c | 2 | ||||
-rw-r--r-- | Modules/_functoolsmodule.c | 2 | ||||
-rw-r--r-- | Modules/_pickle.c | 6 | ||||
-rw-r--r-- | Modules/_sre.c | 2 | ||||
-rw-r--r-- | Objects/abstract.c | 12 | ||||
-rw-r--r-- | Objects/fileobject.c | 2 | ||||
-rw-r--r-- | Objects/iterobject.c | 2 | ||||
-rw-r--r-- | Objects/typeobject.c | 14 | ||||
-rw-r--r-- | Python/ceval.c | 4 | ||||
-rw-r--r-- | Python/pythonrun.c | 2 | ||||
-rw-r--r-- | Python/sysmodule.c | 4 |
12 files changed, 39 insertions, 30 deletions
diff --git a/Include/abstract.h b/Include/abstract.h index f67c6b2..69c4890 100644 --- a/Include/abstract.h +++ b/Include/abstract.h @@ -279,9 +279,18 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ Return the result on success. Raise an exception on return NULL on error. */ - PyAPI_FUNC(PyObject *) _PyObject_FastCall(PyObject *func, - PyObject **args, int nargs, - PyObject *kwargs); + PyAPI_FUNC(PyObject *) _PyObject_FastCallDict(PyObject *func, + PyObject **args, int nargs, + PyObject *kwargs); + +#define _PyObject_FastCall(func, args, nargs) \ + _PyObject_FastCallDict((func), (args), (nargs), NULL) + +#define _PyObject_CallNoArg(func) \ + _PyObject_FastCall((func), NULL, 0) + +#define _PyObject_CallArg1(func, arg) \ + _PyObject_FastCall((func), &(arg), 1) PyAPI_FUNC(PyObject *) _Py_CheckFunctionResult(PyObject *func, PyObject *result, @@ -291,7 +300,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ /* Call a callable Python object, callable_object, with arguments and keywords arguments. The 'args' argument can not be - NULL, but the 'kw' argument can be NULL. + NULL. */ PyAPI_FUNC(PyObject *) PyObject_CallObject(PyObject *callable_object, diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c index 5d124b3..721293a 100644 --- a/Modules/_elementtree.c +++ b/Modules/_elementtree.c @@ -858,7 +858,7 @@ deepcopy(PyObject *object, PyObject *memo) stack[0] = object; stack[1] = memo; - return _PyObject_FastCall(st->deepcopy_obj, stack, 2, NULL); + return _PyObject_FastCall(st->deepcopy_obj, stack, 2); } diff --git a/Modules/_functoolsmodule.c b/Modules/_functoolsmodule.c index f7dbf15..22e8088 100644 --- a/Modules/_functoolsmodule.c +++ b/Modules/_functoolsmodule.c @@ -492,7 +492,7 @@ keyobject_richcompare(PyObject *ko, PyObject *other, int op) */ stack[0] = x; stack[1] = y; - res = _PyObject_FastCall(compare, stack, 2, NULL); + res = _PyObject_FastCall(compare, stack, 2); if (res == NULL) { return NULL; } diff --git a/Modules/_pickle.c b/Modules/_pickle.c index b454134..fed3fa2 100644 --- a/Modules/_pickle.c +++ b/Modules/_pickle.c @@ -357,7 +357,7 @@ _Pickle_FastCall(PyObject *func, PyObject *obj) significantly reduced the number of function calls we do. Thus, the benefits became marginal at best. */ - result = _PyObject_FastCall(func, &obj, 1, NULL); + result = _PyObject_CallArg1(func, obj); Py_DECREF(obj); return result; } @@ -1151,7 +1151,7 @@ _Unpickler_ReadFromFile(UnpicklerObject *self, Py_ssize_t n) return -1; if (n == READ_WHOLE_LINE) { - data = _PyObject_FastCall(self->readline, NULL, 0, NULL); + data = _PyObject_CallNoArg(self->readline); } else { PyObject *len; @@ -3948,7 +3948,7 @@ save(PicklerObject *self, PyObject *obj, int pers_save) /* Check for a __reduce__ method. */ reduce_func = _PyObject_GetAttrId(obj, &PyId___reduce__); if (reduce_func != NULL) { - reduce_value = _PyObject_FastCall(reduce_func, NULL, 0, NULL); + reduce_value = _PyObject_CallNoArg(reduce_func); } else { PyErr_Format(st->PicklingError, diff --git a/Modules/_sre.c b/Modules/_sre.c index 3e8d7f8..0a62f62 100644 --- a/Modules/_sre.c +++ b/Modules/_sre.c @@ -1157,7 +1157,7 @@ pattern_subx(PatternObject* self, PyObject* ptemplate, PyObject* string, match = pattern_new_match(self, &state, 1); if (!match) goto error; - item = _PyObject_FastCall(filter, &match, 1, NULL); + item = _PyObject_CallArg1(filter, match); Py_DECREF(match); if (!item) goto error; diff --git a/Objects/abstract.c b/Objects/abstract.c index 32d4575..2ce7f32 100644 --- a/Objects/abstract.c +++ b/Objects/abstract.c @@ -2255,12 +2255,12 @@ _PyStack_AsTuple(PyObject **stack, Py_ssize_t nargs) } PyObject * -_PyObject_FastCall(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) +_PyObject_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) { ternaryfunc call; PyObject *result = NULL; - /* _PyObject_FastCall() must not be called with an exception set, + /* _PyObject_FastCallDict() must not be called with an exception set, because it may clear it (directly or indirectly) and so the caller loses its exception */ assert(!PyErr_Occurred()); @@ -2318,7 +2318,7 @@ call_function_tail(PyObject *callable, PyObject *args) assert(args != NULL); if (!PyTuple_Check(args)) { - result = _PyObject_FastCall(callable, &args, 1, NULL); + result = _PyObject_CallArg1(callable, args); } else { result = PyObject_Call(callable, args, NULL); @@ -2338,7 +2338,7 @@ PyObject_CallFunction(PyObject *callable, const char *format, ...) } if (!format || !*format) { - return _PyObject_FastCall(callable, NULL, 0, NULL); + return _PyObject_CallNoArg(callable); } va_start(va, format); @@ -2364,7 +2364,7 @@ _PyObject_CallFunction_SizeT(PyObject *callable, const char *format, ...) } if (!format || !*format) { - return _PyObject_FastCall(callable, NULL, 0, NULL); + return _PyObject_CallNoArg(callable); } va_start(va, format); @@ -2392,7 +2392,7 @@ callmethod(PyObject* func, const char *format, va_list va, int is_size_t) } if (!format || !*format) { - return _PyObject_FastCall(func, NULL, 0, NULL); + return _PyObject_CallNoArg(func); } if (is_size_t) { diff --git a/Objects/fileobject.c b/Objects/fileobject.c index 83348a8..f442418 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_FastCall(writer, &value, 1, NULL); + result = _PyObject_CallArg1(writer, value); Py_DECREF(value); Py_DECREF(writer); if (result == NULL) diff --git a/Objects/iterobject.c b/Objects/iterobject.c index a8e6e1c..75b2fcb 100644 --- a/Objects/iterobject.c +++ b/Objects/iterobject.c @@ -214,7 +214,7 @@ calliter_iternext(calliterobject *it) return NULL; } - result = _PyObject_FastCall(it->it_callable, NULL, 0, NULL); + result = _PyObject_CallNoArg(it->it_callable); if (result != NULL) { int ok; diff --git a/Objects/typeobject.c b/Objects/typeobject.c index 0f18355..544d0b5 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -1450,7 +1450,7 @@ call_method(PyObject *o, _Py_Identifier *nameid, const char *format, ...) Py_DECREF(args); } else { - retval = _PyObject_FastCall(func, NULL, 0, NULL); + retval = _PyObject_CallNoArg(func); } Py_DECREF(func); @@ -1490,7 +1490,7 @@ call_maybe(PyObject *o, _Py_Identifier *nameid, const char *format, ...) Py_DECREF(args); } else { - retval = _PyObject_FastCall(func, NULL, 0, NULL); + retval = _PyObject_CallNoArg(func); } Py_DECREF(func); @@ -5834,7 +5834,7 @@ slot_sq_item(PyObject *self, Py_ssize_t i) goto error; } - retval = _PyObject_FastCall(func, &ival, 1, NULL); + retval = _PyObject_CallArg1(func, ival); Py_DECREF(func); Py_DECREF(ival); return retval; @@ -5875,7 +5875,7 @@ slot_sq_contains(PyObject *self, PyObject *value) return -1; } if (func != NULL) { - res = _PyObject_FastCall(func, &value, 1, NULL); + res = _PyObject_CallArg1(func, value); Py_DECREF(func); if (res != NULL) { result = PyObject_IsTrue(res); @@ -5967,7 +5967,7 @@ slot_nb_bool(PyObject *self) using_len = 1; } - value = _PyObject_FastCall(func, NULL, 0, NULL); + value = _PyObject_CallNoArg(func); if (value == NULL) { goto error; } @@ -6245,7 +6245,7 @@ slot_tp_richcompare(PyObject *self, PyObject *other, int op) PyErr_Clear(); Py_RETURN_NOTIMPLEMENTED; } - res = _PyObject_FastCall(func, &other, 1, NULL); + res = _PyObject_CallArg1(func, other); Py_DECREF(func); return res; } @@ -6266,7 +6266,7 @@ slot_tp_iter(PyObject *self) } if (func != NULL) { - res = _PyObject_FastCall(func, NULL, 0, NULL); + res = _PyObject_CallNoArg(func); Py_DECREF(func); return res; } diff --git a/Python/ceval.c b/Python/ceval.c index bd0cbe7..96380bc 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -4593,7 +4593,7 @@ PyEval_CallObjectWithKeywords(PyObject *func, PyObject *args, PyObject *kwargs) if (args == NULL) { if (kwargs == NULL) { - return _PyObject_FastCall(func, NULL, 0, 0); + return _PyObject_CallNoArg(func); } args = PyTuple_New(0); @@ -5298,7 +5298,7 @@ import_name(PyFrameObject *f, PyObject *name, PyObject *fromlist, PyObject *leve stack[2] = f->f_locals == NULL ? Py_None : f->f_locals; stack[3] = fromlist; stack[4] = level; - res = _PyObject_FastCall(import_func, stack, 5, NULL); + res = _PyObject_FastCall(import_func, stack, 5); Py_DECREF(import_func); return res; } diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 2968b34..3fb6f15 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -636,7 +636,7 @@ PyErr_PrintEx(int set_sys_last_vars) stack[0] = exception; stack[1] = v; stack[2] = tb; - result = _PyObject_FastCall(hook, stack, 3, NULL); + result = _PyObject_FastCall(hook, stack, 3); if (result == NULL) { PyObject *exception2, *v2, *tb2; if (PyErr_ExceptionMatches(PyExc_SystemExit)) { diff --git a/Python/sysmodule.c b/Python/sysmodule.c index be8e164..c170bd5 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -380,7 +380,7 @@ call_trampoline(PyObject* callback, stack[2] = (arg != NULL) ? arg : Py_None; /* call the Python-level function */ - result = _PyObject_FastCall(callback, stack, 3, NULL); + result = _PyObject_FastCall(callback, stack, 3); PyFrame_LocalsToFast(frame, 1); if (result == NULL) { @@ -2122,7 +2122,7 @@ sys_pyfile_write_unicode(PyObject *unicode, PyObject *file) if (writer == NULL) goto error; - result = _PyObject_FastCall(writer, &unicode, 1, NULL); + result = _PyObject_CallArg1(writer, unicode); if (result == NULL) { goto error; } else { |