gh-98586: Add What's New entry and update docs (#99056)

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
This commit is contained in:
Wenzel Jakob 2022-11-06 23:54:55 +01:00 committed by GitHub
parent bd221c01dd
commit 57a405213c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 2 deletions

View File

@ -93,7 +93,7 @@ This is a pointer to a function with the following signature:
and they must be unique.
If there are no keyword arguments, then *kwnames* can instead be *NULL*.
.. c:macro:: PY_VECTORCALL_ARGUMENTS_OFFSET
.. data:: PY_VECTORCALL_ARGUMENTS_OFFSET
If this flag is set in a vectorcall *nargsf* argument, the callee is allowed
to temporarily change ``args[-1]``. In other words, *args* points to

View File

@ -677,6 +677,18 @@ New Features
``__dict__`` and weakrefs with less bookkeeping,
using less memory and with faster access.
* API for performing calls using
:ref:`the vectorcall protocol <vectorcall>` was added to the
:ref:`Limited API <stable>`:
* :c:func:`PyObject_Vectorcall`
* :c:func:`PyObject_VectorcallMethod`
* :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`
This means that both the incoming and outgoing ends of the vector call
protocol are now available in the :ref:`Limited API <stable>`. (Contributed
by Wenzel Jakob in :gh:`98586`.)
* Added two new public functions,
:c:func:`PyEval_SetProfileAllThreads` and
:c:func:`PyEval_SetTraceAllThreads`, that allow to set tracing and profiling

View File

@ -1,6 +1,6 @@
Added the methods :c:func:`PyObject_Vectorcall` and
:c:func:`PyObject_VectorcallMethod` to the :ref:`Limited API <stable>` along
with the auxiliary macro constant :c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET`.
with the auxiliary macro constant :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`.
The availability of these functions enables more efficient :PEP:`590` vector
calls from binary extension modules that avoid argument boxing/unboxing