From 5e3006f1172d0eabbbefeb3268dfb942ec7cf9cd Mon Sep 17 00:00:00 2001 From: Damien George Date: Fri, 9 Feb 2024 17:38:25 +1100 Subject: py/emitglue: Simplify mp_raw_code_t's kind and scope_flags members. To simplify their access and reduce code size. The `scope_flags` member is only ever used to determine if a function is a generator or not, so make it reflect that fact as a bool type. Signed-off-by: Damien George --- py/persistentcode.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'py/persistentcode.c') diff --git a/py/persistentcode.c b/py/persistentcode.c index 83806febb..7b002e7fc 100644 --- a/py/persistentcode.c +++ b/py/persistentcode.c @@ -577,7 +577,9 @@ STATIC void save_raw_code(mp_print_t *print, const mp_raw_code_t *rc) { mp_print_uint(print, rc->prelude_offset); } else if (rc->kind == MP_CODE_NATIVE_VIPER || rc->kind == MP_CODE_NATIVE_ASM) { // Save basic scope info for viper and asm - mp_print_uint(print, rc->scope_flags & MP_SCOPE_FLAG_ALL_SIG); + // Viper/asm functions don't support generator, variable args, or default keyword args + // so (scope_flags & MP_SCOPE_FLAG_ALL_SIG) for these functions is always 0. + mp_print_uint(print, 0); #if MICROPY_EMIT_INLINE_ASM if (rc->kind == MP_CODE_NATIVE_ASM) { mp_print_uint(print, rc->asm_n_pos_args); -- cgit v1.2.3