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/3448/head
Damien George 2017-11-20 17:29:58 +11:00
rodzic c60fc670ea
commit 5b8998da6d
4 zmienionych plików z 10 dodań i 8 usunięć

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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();
}
}

Wyświetl plik

@ -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