summaryrefslogtreecommitdiffstats
path: root/Include/cpython/pystate.h
diff options
context:
space:
mode:
Diffstat (limited to 'Include/cpython/pystate.h')
-rw-r--r--Include/cpython/pystate.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/Include/cpython/pystate.h b/Include/cpython/pystate.h
index 60b056b..1dbf976 100644
--- a/Include/cpython/pystate.h
+++ b/Include/cpython/pystate.h
@@ -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