py: change negative array indices with array - 1.
This commit is contained in:
parent
27bf5b829b
commit
66327006fc
4
py/vm.c
4
py/vm.c
@ -78,7 +78,7 @@ bool mp_execute_byte_code_2(const byte **ip_in_out, mp_obj_t *fastn, mp_obj_t **
|
|||||||
|
|
||||||
volatile machine_uint_t currently_in_except_block = 0; // 0 or 1, to detect nested exceptions
|
volatile machine_uint_t currently_in_except_block = 0; // 0 or 1, to detect nested exceptions
|
||||||
machine_uint_t exc_stack[8]; // on the exception stack we store (ip, sp | X) for each block, X = previous value of currently_in_except_block
|
machine_uint_t exc_stack[8]; // on the exception stack we store (ip, sp | X) for each block, X = previous value of currently_in_except_block
|
||||||
machine_uint_t *volatile exc_sp = &exc_stack[-1]; // stack grows up, exc_sp points to top of stack
|
machine_uint_t *volatile exc_sp = &exc_stack[0] - 1; // stack grows up, exc_sp points to top of stack
|
||||||
|
|
||||||
// outer exception handling loop
|
// outer exception handling loop
|
||||||
for (;;) {
|
for (;;) {
|
||||||
@ -453,7 +453,7 @@ bool mp_execute_byte_code_2(const byte **ip_in_out, mp_obj_t *fastn, mp_obj_t **
|
|||||||
case MP_BC_RETURN_VALUE:
|
case MP_BC_RETURN_VALUE:
|
||||||
nlr_pop();
|
nlr_pop();
|
||||||
*sp_in_out = sp;
|
*sp_in_out = sp;
|
||||||
assert(exc_sp == &exc_stack[-1]);
|
assert(exc_sp == &exc_stack[0] - 1);
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
case MP_BC_YIELD_VALUE:
|
case MP_BC_YIELD_VALUE:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user