[Python-Dev] PEP 579 and PEP 580: refactoring C functions and methods

Victor Stinner vstinner at redhat.com
Thu Jun 21 05:22:38 EDT 2018


https://www.python.org/dev/peps/pep-0580/#the-c-call-protocol

CCALL_VARARGS: cc_func(PyObject *self, PyObject *args)

If we add a new calling convention, I would prefer to reuse the
FASTCALL calling convention to pass arguments: pass a PyObject **args
array with a size (Py_ssize_t nargs) rather than requiring to create a
temporary tuple object to pass positional arguments.

Victor

2018-06-20 10:53 GMT+02:00 Jeroen Demeyer <J.Demeyer at ugent.be>:
> Hello,
>
> Let me present PEP 579 and PEP 580.
>
> PEP 579 is an informational meta-PEP, listing some of the issues with
> functions/methods implemented in C. The idea is to create several PEPs each
> fix some part of the issues mentioned in PEP 579.
>
> PEP 580 is a standards track PEP to introduce a new "C call" protocol, which
> is an important part of PEP 579. In the reference implementation (which is
> work in progress), this protocol will be used by built-in functions and
> methods. However, it should be used by more classes in the future.
>
> You find the texts at
> https://www.python.org/dev/peps/pep-0579
> https://www.python.org/dev/peps/pep-0580
>
>
> Jeroen.
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> https://mail.python.org/mailman/options/python-dev/vstinner%40redhat.com


More information about the Python-Dev mailing list