diff --git a/py/bc0.h b/py/bc0.h index 0a4a49ce66..23ac9a1eb3 100644 --- a/py/bc0.h +++ b/py/bc0.h @@ -81,7 +81,7 @@ #define MP_BC_UNPACK_EX (0x7a) // uint #define MP_BC_RETURN_VALUE (0x80) -#define MP_BC_RAISE_VARARGS (0x81) // uint +#define MP_BC_RAISE_VARARGS (0x81) // byte #define MP_BC_YIELD_VALUE (0x82) #define MP_BC_YIELD_FROM (0x83) diff --git a/py/emitbc.c b/py/emitbc.c index c0ec2469a6..a00dfd0d96 100644 --- a/py/emitbc.c +++ b/py/emitbc.c @@ -672,9 +672,9 @@ static void emit_bc_return_value(emit_t *emit) { } static void emit_bc_raise_varargs(emit_t *emit, int n_args) { - assert(n_args >= 0); + assert(0 <= n_args && n_args <= 2); emit_pre(emit, -n_args); - emit_write_byte_1_uint(emit, MP_BC_RAISE_VARARGS, n_args); + emit_write_byte_1_byte(emit, MP_BC_RAISE_VARARGS, n_args); } static void emit_bc_yield_value(emit_t *emit) { diff --git a/py/vm.c b/py/vm.c index e2bb3de642..9ea1817a64 100644 --- a/py/vm.c +++ b/py/vm.c @@ -479,7 +479,6 @@ bool mp_execute_byte_code_2(const byte **ip_in_out, mp_obj_t *fastn, mp_obj_t ** assert(unum == 1); obj1 = POP(); nlr_jump(obj1); - return false; case MP_BC_YIELD_VALUE: nlr_pop();