This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author penguin_wwy
Recipients penguin_wwy
Date 2022-03-19.15:31:34
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1647703894.62.0.128061572822.issue47067@roundup.psfhosted.org>
In-reply-to
Content
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

or

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
History
Date User Action Args
2022-03-19 15:31:34penguin_wwysetrecipients: + penguin_wwy
2022-03-19 15:31:34penguin_wwysetmessageid: <1647703894.62.0.128061572822.issue47067@roundup.psfhosted.org>
2022-03-19 15:31:34penguin_wwylinkissue47067 messages
2022-03-19 15:31:34penguin_wwycreate