[New-bugs-announce] [issue47067] Add vectorcall for generica alias object

penguin_wwy report at bugs.python.org
Sat Mar 19 11:31:34 EDT 2022

New submission from penguin_wwy <940375606 at qq.com>:

Although `ga_call` determines whether `origin` has a vectorcall, it needs to be unpacked the parameters that are already packed.
                                              /-> origin.vectorcall(unpacked)
MakeTpCall(packed) -> ga_call -> PyObject_Call
                                               \-> origin.tp_call

We can advance the `vectorcall` judgment to the `setup` phase.

ga_vectorcall -> origin.vectorcall


ga_make_tp_call -> _PyObject_MakeTpCall(packed argument) -> origin.tp_call

This will have no effect on tp_call, which still only needs to be packed once, while vectorcall does not need packed/unpacked

components: Library (Lib)
messages: 415556
nosy: penguin_wwy
priority: normal
severity: normal
status: open
title: Add vectorcall for generica alias object
versions: Python 3.11

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list