diff options
Diffstat (limited to 'Python/ceval.c')
-rw-r--r-- | Python/ceval.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/Python/ceval.c b/Python/ceval.c index 5d29d41..888749b 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -3314,7 +3314,6 @@ main_loop: Finally we push the result of the call. */ - PyObject *stack[3]; PyObject *exit_func; PyObject *exc, *val, *tb, *res; @@ -3351,10 +3350,9 @@ main_loop: block->b_level--; } - stack[0] = exc; - stack[1] = val; - stack[2] = tb; - res = _PyObject_FastCall(exit_func, stack, 3); + PyObject *stack[4] = {NULL, exc, val, tb}; + res = _PyObject_Vectorcall(exit_func, stack + 1, + 3 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); Py_DECREF(exit_func); if (res == NULL) goto error; |