Skip to content

Commit c1f97b5

Browse files
committed
py: introduce, use mp_raise_msg_vlist
This saves a very small amount of flash, 8 bytes on trinket_m0
1 parent 98aae57 commit c1f97b5

File tree

2 files changed

+13
-14
lines changed

2 files changed

+13
-14
lines changed

py/runtime.c

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1522,12 +1522,16 @@ NORETURN void mp_raise_msg(const mp_obj_type_t *exc_type, const compressed_strin
15221522
}
15231523
}
15241524

1525+
NORETURN void mp_raise_msg_vlist(const mp_obj_type_t *exc_type, const compressed_string_t *fmt, va_list argptr) {
1526+
mp_obj_t exception = mp_obj_new_exception_msg_vlist(exc_type, fmt, argptr);
1527+
nlr_raise(exception);
1528+
}
1529+
15251530
NORETURN void mp_raise_msg_varg(const mp_obj_type_t *exc_type, const compressed_string_t *fmt, ...) {
15261531
va_list argptr;
15271532
va_start(argptr,fmt);
1528-
mp_obj_t exception = mp_obj_new_exception_msg_vlist(exc_type, fmt, argptr);
1533+
mp_raise_msg_vlist(exc_type, fmt, argptr);
15291534
va_end(argptr);
1530-
nlr_raise(exception);
15311535
}
15321536

15331537
NORETURN void mp_raise_AttributeError(const compressed_string_t *msg) {
@@ -1549,9 +1553,8 @@ NORETURN void mp_raise_IndexError(const compressed_string_t *msg) {
15491553
NORETURN void mp_raise_IndexError_varg(const compressed_string_t *fmt, ...) {
15501554
va_list argptr;
15511555
va_start(argptr,fmt);
1552-
mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_IndexError, fmt, argptr);
1556+
mp_raise_msg_vlist(&mp_type_IndexError, fmt, argptr);
15531557
va_end(argptr);
1554-
nlr_raise(exception);
15551558
}
15561559

15571560
NORETURN void mp_raise_ValueError(const compressed_string_t *msg) {
@@ -1561,9 +1564,8 @@ NORETURN void mp_raise_ValueError(const compressed_string_t *msg) {
15611564
NORETURN void mp_raise_ValueError_varg(const compressed_string_t *fmt, ...) {
15621565
va_list argptr;
15631566
va_start(argptr,fmt);
1564-
mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_ValueError, fmt, argptr);
1567+
mp_raise_msg_vlist(&mp_type_ValueError, fmt, argptr);
15651568
va_end(argptr);
1566-
nlr_raise(exception);
15671569
}
15681570

15691571
NORETURN void mp_raise_TypeError(const compressed_string_t *msg) {
@@ -1573,9 +1575,8 @@ NORETURN void mp_raise_TypeError(const compressed_string_t *msg) {
15731575
NORETURN void mp_raise_TypeError_varg(const compressed_string_t *fmt, ...) {
15741576
va_list argptr;
15751577
va_start(argptr,fmt);
1576-
mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_TypeError, fmt, argptr);
1578+
mp_raise_msg_vlist(&mp_type_TypeError, fmt, argptr);
15771579
va_end(argptr);
1578-
nlr_raise(exception);
15791580
}
15801581

15811582
NORETURN void mp_raise_OSError(int errno_) {
@@ -1597,9 +1598,8 @@ NORETURN void mp_raise_OSError_errno_str(int errno_, mp_obj_t str) {
15971598
NORETURN void mp_raise_OSError_msg_varg(const compressed_string_t *fmt, ...) {
15981599
va_list argptr;
15991600
va_start(argptr,fmt);
1600-
mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_OSError, fmt, argptr);
1601+
mp_raise_msg_vlist(&mp_type_OSError, fmt, argptr);
16011602
va_end(argptr);
1602-
nlr_raise(exception);
16031603
}
16041604

16051605
NORETURN void mp_raise_NotImplementedError(const compressed_string_t *msg) {
@@ -1609,17 +1609,15 @@ NORETURN void mp_raise_NotImplementedError(const compressed_string_t *msg) {
16091609
NORETURN void mp_raise_NotImplementedError_varg(const compressed_string_t *fmt, ...) {
16101610
va_list argptr;
16111611
va_start(argptr,fmt);
1612-
mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_NotImplementedError, fmt, argptr);
1612+
mp_raise_msg_vlist(&mp_type_NotImplementedError, fmt, argptr);
16131613
va_end(argptr);
1614-
nlr_raise(exception);
16151614
}
16161615

16171616
NORETURN void mp_raise_OverflowError_varg(const compressed_string_t *fmt, ...) {
16181617
va_list argptr;
16191618
va_start(argptr,fmt);
1620-
mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_OverflowError, fmt, argptr);
1619+
mp_raise_msg_vlist(&mp_type_OverflowError, fmt, argptr);
16211620
va_end(argptr);
1622-
nlr_raise(exception);
16231621
}
16241622

16251623
NORETURN void mp_raise_MpyError(const compressed_string_t *msg) {

py/runtime.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ void mp_import_all(mp_obj_t module);
152152

153153
NORETURN void mp_raise_msg(const mp_obj_type_t *exc_type, const compressed_string_t *msg);
154154
NORETURN void mp_raise_msg_varg(const mp_obj_type_t *exc_type, const compressed_string_t *fmt, ...);
155+
NORETURN void mp_raise_msg_vlist(const mp_obj_type_t *exc_type, const compressed_string_t *fmt, va_list argptr);
155156
NORETURN void mp_raise_ValueError(const compressed_string_t *msg);
156157
NORETURN void mp_raise_ValueError_varg(const compressed_string_t *fmt, ...);
157158
NORETURN void mp_raise_TypeError(const compressed_string_t *msg);

0 commit comments

Comments
 (0)