"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "Include/internal/pycore_ceval.h" between
Python-3.9.3.tar.xz and Python-3.9.4.tar.xz

About: Python is an interpreted, interactive, object-oriented programming language. It incorporates modules, exceptions, dynamic typing, very high level dynamic data types, and classes. Newest major release.

pycore_ceval.h  (Python-3.9.3.tar.xz):pycore_ceval.h  (Python-3.9.4.tar.xz)
skipping to change at line 92 skipping to change at line 92
return (_Py_MakeRecCheck(tstate) && _Py_CheckRecursiveCall(tstate, where)); return (_Py_MakeRecCheck(tstate) && _Py_CheckRecursiveCall(tstate, where));
} }
static inline int _Py_EnterRecursiveCall_inline(const char *where) { static inline int _Py_EnterRecursiveCall_inline(const char *where) {
PyThreadState *tstate = PyThreadState_GET(); PyThreadState *tstate = PyThreadState_GET();
return _Py_EnterRecursiveCall(tstate, where); return _Py_EnterRecursiveCall(tstate, where);
} }
#define Py_EnterRecursiveCall(where) _Py_EnterRecursiveCall_inline(where) #define Py_EnterRecursiveCall(where) _Py_EnterRecursiveCall_inline(where)
/* Compute the "lower-water mark" for a recursion limit. When
* Py_LeaveRecursiveCall() is called with a recursion depth below this mark,
* the overflowed flag is reset to 0. */
static inline int _Py_RecursionLimitLowerWaterMark(int limit) {
if (limit > 200) {
return (limit - 50);
}
else {
return (3 * (limit >> 2));
}
}
static inline void _Py_LeaveRecursiveCall(PyThreadState *tstate) { static inline void _Py_LeaveRecursiveCall(PyThreadState *tstate) {
tstate->recursion_depth--; tstate->recursion_depth--;
int limit = tstate->interp->ceval.recursion_limit;
if (tstate->recursion_depth < _Py_RecursionLimitLowerWaterMark(limit)) {
tstate->overflowed = 0;
}
} }
static inline void _Py_LeaveRecursiveCall_inline(void) { static inline void _Py_LeaveRecursiveCall_inline(void) {
PyThreadState *tstate = PyThreadState_GET(); PyThreadState *tstate = PyThreadState_GET();
_Py_LeaveRecursiveCall(tstate); _Py_LeaveRecursiveCall(tstate);
} }
#define Py_LeaveRecursiveCall() _Py_LeaveRecursiveCall_inline() #define Py_LeaveRecursiveCall() _Py_LeaveRecursiveCall_inline()
#ifdef __cplusplus #ifdef __cplusplus
 End of changes. 2 change blocks. 
0 lines changed or deleted 16 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)