Message377905
| Author |
gvanrossum |
| Recipients |
The Compiler, bluetech, gvanrossum, loewis, nascheme, pitrou, serhiy.storchaka |
| Date |
2020年10月03日.22:30:01 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1601764201.61.0.486639063177.issue41909@roundup.psfhosted.org> |
| In-reply-to |
| Content |
I don't think I remember what's so special about abstract_get_bases() to disable the recursion check. Maybe this macro is always just a micro-optimization? Then again it's hard to be sure, the behavior may depend on the platform.
Pulling in Antoine, who showed up in the email https://mail.python.org/pipermail/python-dev/2008-August/082106.html is mentioned in a long comment in ceval.h about the recursion protection.
Possibly the Py_ALLOW_RECURSION macro is intended to ensure that some handler code for first-order recursion errors doesn't get interrupted by second-order recursion errors? There's a limit of 50 stack frames which feels a bit dodgy. |
|