STINNER Victor added the comment:

Ok, I fixed all remaining issues. The new patch version 3 is now waiting for 
your review ;-)


Patch version 3:

* Add Py_TPFLAGS_HAVE_FINALIZE and Py_TPFLAGS_HAVE_FASTCALL to 
Py_TPFLAGS_DEFAULT
* Don't read or write tp_fastcall if the type doesn't have the 
Py_TPFLAGS_HAVE_FASTCALL feature
* fastcall_wrapper() looks into base classes to find a tp_fastcall field: use 
the first base class with the Py_TPFLAGS_HAVE_FASTCALL feature
* Fix how tp_call and tp_fastcall are inherited
* Use designated initializers for  tp_fastcall, as asked by Naoki (and 
discussed on python-dev)
* Rebase the change and revert now uselesss or unwanted changes
* No more FIXME ;-)

About the stable ABI: since the version 3, it should just work thanks to the 
change on Py_TPFLAGS_DEFAULT. Code compiled with Python 3.7 benefit directly of 
tp_fastcall. Code compiled with Python 3.6 or older will get fastcall_wrapper() 
which finds tp_fastcall in base classes.

----------
Added file: http://bugs.python.org/file46323/tp_fastcall-3.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29259>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to