summaryrefslogtreecommitdiff
path: root/py/objgenerator.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2017-03-17 16:38:46 +1100
committerDamien George <damien.p.george@gmail.com>2017-03-17 16:50:19 +1100
commit5640e6dacd39d97adffce8490991c457f457b1cd (patch)
treec1978abcf974c64cc7aede37404f113ac74faafc /py/objgenerator.c
parent71a3d6ec3bd02c5bd13334537e1bd146bb643bad (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.c3
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;