summaryrefslogtreecommitdiff
path: root/py/runtime.c
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-08-12 21:26:12 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-08-12 21:28:45 +0300
commit9e1b61dedd82dffccbe4f20996eadaf79726d427 (patch)
tree6160a03cedf8d71c91968ccc801b9911e9feb5ea /py/runtime.c
parentaf9889f99a325adb725c61476bd580b11593ca50 (diff)
py/runtime: Factor out exception raising helpers.
Introduce mp_raise_msg(), mp_raise_ValueError(), mp_raise_TypeError() instead of previous pattern nlr_raise(mp_obj_new_exception_msg(...)). Save few bytes on each call, which are many.
Diffstat (limited to 'py/runtime.c')
-rw-r--r--py/runtime.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/py/runtime.c b/py/runtime.c
index f88c92be6..04b3a34de 100644
--- a/py/runtime.c
+++ b/py/runtime.c
@@ -1390,6 +1390,18 @@ void *m_malloc_fail(size_t num_bytes) {
}
}
+NORETURN void mp_raise_msg(const mp_obj_type_t *exc_type, const char *msg) {
+ nlr_raise(mp_obj_new_exception_msg(exc_type, msg));
+}
+
+NORETURN void mp_raise_ValueError(const char *msg) {
+ mp_raise_msg(&mp_type_ValueError, msg);
+}
+
+NORETURN void mp_raise_TypeError(const char *msg) {
+ mp_raise_msg(&mp_type_TypeError, msg);
+}
+
NORETURN void mp_not_implemented(const char *msg) {
- nlr_raise(mp_obj_new_exception_msg(&mp_type_NotImplementedError, msg));
+ mp_raise_msg(&mp_type_NotImplementedError, msg);
}