aboutsummaryrefslogtreecommitdiff
path: root/py/vm.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2019-09-24 15:57:08 +1000
committerDamien George <damien.p.george@gmail.com>2019-10-01 12:26:22 +1000
commit81d04a0200e0d4038c011e4946bfae5707ef9d9c (patch)
tree63abd765209f3aa447285db2d8f35c3a53eccb52 /py/vm.c
parent4c5e1a036831a3ac36866e4daab3a50c772b4443 (diff)
py: Add n_state to mp_code_state_t struct.
This value is used often enough that it is better to cache it instead of decode it each time.
Diffstat (limited to 'py/vm.c')
-rw-r--r--py/vm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/py/vm.c b/py/vm.c
index c0cd9ffbf..d59771b6e 100644
--- a/py/vm.c
+++ b/py/vm.c
@@ -228,7 +228,7 @@ FRAME_SETUP();
mp_obj_t * /*const*/ fastn;
mp_exc_stack_t * /*const*/ exc_stack;
{
- size_t n_state = mp_decode_uint_value(code_state->fun_bc->bytecode);
+ size_t n_state = code_state->n_state;
fastn = &code_state->state[n_state - 1];
exc_stack = (mp_exc_stack_t*)(code_state->state + n_state);
}
@@ -1499,7 +1499,7 @@ unwind_loop:
mp_nonlocal_free(code_state, sizeof(mp_code_state_t));
#endif
code_state = new_code_state;
- size_t n_state = mp_decode_uint_value(code_state->fun_bc->bytecode);
+ size_t n_state = code_state->n_state;
fastn = &code_state->state[n_state - 1];
exc_stack = (mp_exc_stack_t*)(code_state->state + n_state);
// variables that are visible to the exception handler (declared volatile)