From d1c2a8e2b5d285f26f1a3c6d787d148a7c3b04de Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 23 Aug 2016 01:34:35 +0200 Subject: [PATCH] Issue #27809: builtin___build_class__() uses fast call --- Python/bltinmodule.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index b22867eb073..00a85b57415 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -169,12 +169,8 @@ builtin___build_class__(PyObject *self, PyObject *args, PyObject *kwds) NULL, 0, NULL, 0, NULL, 0, NULL, PyFunction_GET_CLOSURE(func)); if (cell != NULL) { - PyObject *margs; - margs = PyTuple_Pack(3, name, bases, ns); - if (margs != NULL) { - cls = PyEval_CallObjectWithKeywords(meta, margs, mkw); - Py_DECREF(margs); - } + PyObject *margs[3] = {name, bases, ns}; + cls = _PyObject_FastCallDict(meta, margs, 3, mkw); if (cls != NULL && PyCell_Check(cell)) PyCell_Set(cell, cls); Py_DECREF(cell);