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 vstinner
Recipients methane, serhiy.storchaka, vstinner
Date 2017-01-13.15:13:25
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1484320409.95.0.815546451722.issue29259@psf.upfronthosting.co.za>
In-reply-to
Content
Ok, here is a first patch: tp_fastcall.patch

* Add tp_fastcall to PyTypeObject
* Add fastcall_wrapper() and use it for tp_call in PyType_Ready()
* Modify _PyObject_FastCallDict() and _PyObject_FastCallKeywords() to use tp_fastcall if defined
* Modify a lot of types to define tp_fastcall instead of tp_call (to use FASTCALL calling convention)
* Add a few new helper functions:

  - _PyObject_FastCall_Prepend() -- similar to _PyObject_Call_Prepend()
  - _Py_FastCall_FromArgs() -- ugly name, sorry about that, it should be renamed :-)
  - PyArg_UnpackStack() -- similar to PyArg_UnpackTuple()
  - _PyArg_NoStackKeywords() -- similar to _PyArg_NoKeywords

Hum, I should make sure that these new functions are not public. By the way, I should probably rename PyArg_UnpackStack() to _PyArg_UnpackStack().
History
Date User Action Args
2017-01-13 15:13:30vstinnersetrecipients: + vstinner, methane, serhiy.storchaka
2017-01-13 15:13:29vstinnersetmessageid: <1484320409.95.0.815546451722.issue29259@psf.upfronthosting.co.za>
2017-01-13 15:13:29vstinnerlinkissue29259 messages
2017-01-13 15:13:29vstinnercreate