mirror of
https://github.com/python/cpython.git
synced 2025-12-09 10:37:17 +00:00
GH-114456: lower the recursion limit under WASI for debug builds (GH-114457)
Testing under wasmtime 16.0.0 w/ code from https://github.com/python/cpython/issues/114413 is how the value was found.
This commit is contained in:
parent
afe8f376c0
commit
f59f90b5bc
4 changed files with 13 additions and 6 deletions
|
|
@ -217,11 +217,14 @@ struct _ts {
|
|||
#ifdef Py_DEBUG
|
||||
// A debug build is likely built with low optimization level which implies
|
||||
// higher stack memory usage than a release build: use a lower limit.
|
||||
# define Py_C_RECURSION_LIMIT 500
|
||||
# if defined(__wasi__)
|
||||
// Based on wasmtime 16.
|
||||
# define Py_C_RECURSION_LIMIT 150
|
||||
# else
|
||||
# define Py_C_RECURSION_LIMIT 500
|
||||
# endif
|
||||
#elif defined(__wasi__)
|
||||
// WASI has limited call stack. Python's recursion limit depends on code
|
||||
// layout, optimization, and WASI runtime. Wasmtime can handle about 700
|
||||
// recursions, sometimes less. 500 is a more conservative limit.
|
||||
// Based on wasmtime 16.
|
||||
# define Py_C_RECURSION_LIMIT 500
|
||||
#elif defined(__s390x__)
|
||||
# define Py_C_RECURSION_LIMIT 800
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue