py/runtime: Move mp_exc_recursion_depth to runtime and rename to raise.
For consistency this helper function is renamed to match the other exception helpers, and moved to their location in runtime.c.pull/1/head
parent
c60fc670ea
commit
5b8998da6d
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue