mirror of
https://github.com/licsber/micropython.git
synced 2024-09-20 09:00:23 +08:00
stackctrl: Encode "recursion depth exceeded" message as qstr.
So corresponding exception can be thrown even under tight memory conditions.
This commit is contained in:
parent
fa3b895145
commit
e8432b3c72
@ -385,6 +385,7 @@ Q(qstr_info)
|
|||||||
#if MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF && (MICROPY_EMERGENCY_EXCEPTION_BUF_SIZE == 0)
|
#if MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF && (MICROPY_EMERGENCY_EXCEPTION_BUF_SIZE == 0)
|
||||||
Q(alloc_emergency_exception_buf)
|
Q(alloc_emergency_exception_buf)
|
||||||
#endif
|
#endif
|
||||||
|
Q(maximum recursion depth exceeded)
|
||||||
|
|
||||||
Q(<module>)
|
Q(<module>)
|
||||||
Q(<lambda>)
|
Q(<lambda>)
|
||||||
|
@ -48,7 +48,8 @@ void mp_stack_set_limit(mp_uint_t limit) {
|
|||||||
|
|
||||||
void mp_stack_check(void) {
|
void mp_stack_check(void) {
|
||||||
if (mp_stack_usage() >= MP_STATE_VM(stack_limit)) {
|
if (mp_stack_usage() >= MP_STATE_VM(stack_limit)) {
|
||||||
nlr_raise(mp_obj_new_exception_msg(&mp_type_RuntimeError, "maximum recursion depth exceeded"));
|
nlr_raise(mp_obj_new_exception_arg1(&mp_type_RuntimeError,
|
||||||
|
MP_OBJ_NEW_QSTR(MP_QSTR_maximum_space_recursion_space_depth_space_exceeded)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user