summaryrefslogtreecommitdiffstatshomepage
path: root/py
diff options
context:
space:
mode:
Diffstat (limited to 'py')
-rw-r--r--py/runtime.c7
-rw-r--r--py/runtime.h2
-rw-r--r--py/stackctrl.c7
-rw-r--r--py/vm.c2
4 files changed, 10 insertions, 8 deletions
diff --git a/py/runtime.c b/py/runtime.c
index 457266c67f..5fd053e1a2 100644
--- a/py/runtime.c
+++ b/py/runtime.c
@@ -1456,3 +1456,10 @@ NORETURN void mp_raise_OSError(int errno_) {
NORETURN void mp_raise_NotImplementedError(const char *msg) {
mp_raise_msg(&mp_type_NotImplementedError, msg);
}
+
+#if MICROPY_STACK_CHECK
+NORETURN void mp_raise_recursion_depth(void) {
+ nlr_raise(mp_obj_new_exception_arg1(&mp_type_RuntimeError,
+ MP_OBJ_NEW_QSTR(MP_QSTR_maximum_space_recursion_space_depth_space_exceeded)));
+}
+#endif
diff --git a/py/runtime.h b/py/runtime.h
index 3f0d1104e1..a19f64c067 100644
--- a/py/runtime.h
+++ b/py/runtime.h
@@ -151,7 +151,7 @@ NORETURN void mp_raise_ValueError(const char *msg);
NORETURN void mp_raise_TypeError(const char *msg);
NORETURN void mp_raise_NotImplementedError(const char *msg);
NORETURN void mp_raise_OSError(int errno_);
-NORETURN void mp_exc_recursion_depth(void);
+NORETURN void mp_raise_recursion_depth(void);
#if MICROPY_BUILTIN_METHOD_CHECK_SELF_ARG
#undef mp_check_self
diff --git a/py/stackctrl.c b/py/stackctrl.c
index 11165b9a6f..5c07796bde 100644
--- a/py/stackctrl.c
+++ b/py/stackctrl.c
@@ -48,14 +48,9 @@ void mp_stack_set_limit(mp_uint_t limit) {
MP_STATE_THREAD(stack_limit) = limit;
}
-NORETURN void mp_exc_recursion_depth(void) {
- nlr_raise(mp_obj_new_exception_arg1(&mp_type_RuntimeError,
- MP_OBJ_NEW_QSTR(MP_QSTR_maximum_space_recursion_space_depth_space_exceeded)));
-}
-
void mp_stack_check(void) {
if (mp_stack_usage() >= MP_STATE_THREAD(stack_limit)) {
- mp_exc_recursion_depth();
+ mp_raise_recursion_depth();
}
}
diff --git a/py/vm.c b/py/vm.c
index e6679729b2..5011af5c3e 100644
--- a/py/vm.c
+++ b/py/vm.c
@@ -935,7 +935,7 @@ unwind_jump:;
#if MICROPY_STACKLESS_STRICT
else {
deep_recursion_error:
- mp_exc_recursion_depth();
+ mp_raise_recursion_depth();
}
#else
// If we couldn't allocate codestate on heap, in