mirror of
https://github.com/python/cpython.git
synced 2025-10-09 08:31:26 +00:00
Use static inline function Py_EnterRecursiveCall() (#91988)
Currently, calling Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() may use a function call or a static inline function call, depending if the internal pycore_ceval.h header file is included or not. Use a different name for the static inline function to ensure that the static inline function is always used in Python internals for best performance. Similar approach than PyThreadState_GET() (function call) and _PyThreadState_GET() (static inline function). * Rename _Py_EnterRecursiveCall() to _Py_EnterRecursiveCallTstate() * Rename _Py_LeaveRecursiveCall() to _Py_LeaveRecursiveCallTstate() * pycore_ceval.h: Rename Py_EnterRecursiveCall() to _Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() and _Py_LeaveRecursiveCall()
This commit is contained in:
parent
14243369b5
commit
d716a0dfe2
15 changed files with 524 additions and 521 deletions
|
@ -3489,7 +3489,7 @@ _PyBytesWriter_Alloc(_PyBytesWriter *writer, Py_ssize_t size)
|
|||
Don't modify the _PyBytesWriter structure (use a shorter small buffer)
|
||||
in debug mode to also be able to detect stack overflow when running
|
||||
tests in debug mode. The _PyBytesWriter is large (more than 512 bytes),
|
||||
if Py_EnterRecursiveCall() is not used in deep C callback, we may hit a
|
||||
if _Py_EnterRecursiveCall() is not used in deep C callback, we may hit a
|
||||
stack overflow. */
|
||||
writer->allocated = Py_MIN(writer->allocated, 10);
|
||||
/* _PyBytesWriter_CheckConsistency() requires the last byte to be 0,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue