diff options
author | Damien George <damien.p.george@gmail.com> | 2017-03-17 16:38:46 +1100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2017-03-17 16:50:19 +1100 |
commit | 5640e6dacd39d97adffce8490991c457f457b1cd (patch) | |
tree | c1978abcf974c64cc7aede37404f113ac74faafc /py/objgenerator.c | |
parent | 71a3d6ec3bd02c5bd13334537e1bd146bb643bad (diff) |
py: Provide mp_decode_uint_value to help optimise stack usage.
This has a noticeable improvement on x86-64 and Thumb2 archs, where stack
usage is reduced by 2 machine words in the VM.
Diffstat (limited to 'py/objgenerator.c')
-rw-r--r-- | py/objgenerator.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/py/objgenerator.c b/py/objgenerator.c index 2baead231..e59ff3a9c 100644 --- a/py/objgenerator.c +++ b/py/objgenerator.c @@ -135,8 +135,7 @@ mp_vm_return_kind_t mp_obj_gen_resume(mp_obj_t self_in, mp_obj_t send_value, mp_ break; case MP_VM_RETURN_EXCEPTION: { - const byte *bc = self->code_state.fun_bc->bytecode; - size_t n_state = mp_decode_uint(&bc); + size_t n_state = mp_decode_uint_value(self->code_state.fun_bc->bytecode); self->code_state.ip = 0; *ret_val = self->code_state.state[n_state - 1]; break; |