summaryrefslogtreecommitdiff
path: root/py/compile.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2017-03-23 16:36:08 +1100
committerDamien George <damien.p.george@gmail.com>2017-03-23 16:36:08 +1100
commit60656eaea41df16557fbbdb51d9b8fc2cf7662a1 (patch)
tree862e226a7e29408e84dd00b1644947654741cc85 /py/compile.c
parent507119f4d80cc70cc35249f97c9b0ee22b8965f4 (diff)
py: Define and use MP_OBJ_ITER_BUF_NSLOTS to get size of stack iter buf.
It improves readability of code and reduces the chance to make a mistake. This patch also fixes a bug with nan-boxing builds by rounding up the calculation of the new NSLOTS variable, giving the correct number of slots (being 4) even if mp_obj_t is larger than the native machine size.
Diffstat (limited to 'py/compile.c')
-rw-r--r--py/compile.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/py/compile.c b/py/compile.c
index ca21d8294..2fbc19cc3 100644
--- a/py/compile.c
+++ b/py/compile.c
@@ -3005,6 +3005,7 @@ STATIC void compile_scope(compiler_t *comp, scope_t *scope, pass_kind_t pass) {
// There are 4 slots on the stack for the iterator, and the first one is
// NULL to indicate that the second one points to the iterator object.
if (scope->kind == SCOPE_GEN_EXPR) {
+ // TODO static assert that MP_OBJ_ITER_BUF_NSLOTS == 4
EMIT(load_null);
compile_load_id(comp, qstr_arg);
EMIT(load_null);