mirror of
https://github.com/micropython/micropython.git
synced 2026-01-07 12:40:15 +01:00
py: Fix location of VM returned exception in invalid opcode and comments
The location for a returned exception was changed to state[0] in
d95947b48a
This commit is contained in:
@@ -323,7 +323,7 @@ STATIC mp_obj_t fun_bc_call(mp_obj_t self_in, size_t n_args, size_t n_kw, const
|
|||||||
} else {
|
} else {
|
||||||
// must be an exception because normal functions can't yield
|
// must be an exception because normal functions can't yield
|
||||||
assert(vm_return_kind == MP_VM_RETURN_EXCEPTION);
|
assert(vm_return_kind == MP_VM_RETURN_EXCEPTION);
|
||||||
// return value is in fastn[0]==state[n_state - 1]
|
// returned exception is in state[0]
|
||||||
result = code_state->state[0];
|
result = code_state->state[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
4
py/vm.c
4
py/vm.c
@@ -115,7 +115,7 @@
|
|||||||
// returns:
|
// returns:
|
||||||
// MP_VM_RETURN_NORMAL, sp valid, return value in *sp
|
// MP_VM_RETURN_NORMAL, sp valid, return value in *sp
|
||||||
// MP_VM_RETURN_YIELD, ip, sp valid, yielded value in *sp
|
// MP_VM_RETURN_YIELD, ip, sp valid, yielded value in *sp
|
||||||
// MP_VM_RETURN_EXCEPTION, exception in fastn[0]
|
// MP_VM_RETURN_EXCEPTION, exception in state[0]
|
||||||
mp_vm_return_kind_t mp_execute_bytecode(mp_code_state_t *code_state, volatile mp_obj_t inject_exc) {
|
mp_vm_return_kind_t mp_execute_bytecode(mp_code_state_t *code_state, volatile mp_obj_t inject_exc) {
|
||||||
#define SELECTIVE_EXC_IP (0)
|
#define SELECTIVE_EXC_IP (0)
|
||||||
#if SELECTIVE_EXC_IP
|
#if SELECTIVE_EXC_IP
|
||||||
@@ -1274,7 +1274,7 @@ yield:
|
|||||||
{
|
{
|
||||||
mp_obj_t obj = mp_obj_new_exception_msg(&mp_type_NotImplementedError, "byte code not implemented");
|
mp_obj_t obj = mp_obj_new_exception_msg(&mp_type_NotImplementedError, "byte code not implemented");
|
||||||
nlr_pop();
|
nlr_pop();
|
||||||
fastn[0] = obj;
|
code_state->state[0] = obj;
|
||||||
return MP_VM_RETURN_EXCEPTION;
|
return MP_VM_RETURN_EXCEPTION;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user