aboutsummaryrefslogtreecommitdiff
path: root/py/nlr.h
diff options
context:
space:
mode:
authorDamien George2015-01-01 21:47:58 +0000
committerDamien George2015-01-01 21:47:58 +0000
commit8a2347723eba9899a12799021b4e47bd1fa20282 (patch)
tree9724b91cfbc5c4b6eec2cee2c88f6607c7d0b1f0 /py/nlr.h
parent0b2a60acbec3e2789e75c63b391828656ccf1c77 (diff)
py: Move global variable nlr_top to one place, in a .c file.
This reduces dependency on assembler, and allows to consolidate global variables in the future.
Diffstat (limited to 'py/nlr.h')
-rw-r--r--py/nlr.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/py/nlr.h b/py/nlr.h
index ae9ca1a77..824ed6dd6 100644
--- a/py/nlr.h
+++ b/py/nlr.h
@@ -64,13 +64,14 @@ struct _nlr_buf_t {
#endif
};
+extern nlr_buf_t *nlr_top;
+
#if MICROPY_NLR_SETJMP
-extern nlr_buf_t *nlr_setjmp_top;
NORETURN void nlr_setjmp_jump(void *val);
// nlr_push() must be defined as a macro, because "The stack context will be
// invalidated if the function which called setjmp() returns."
-#define nlr_push(buf) ((buf)->prev = nlr_setjmp_top, nlr_setjmp_top = (buf), setjmp((buf)->jmpbuf))
-#define nlr_pop() { nlr_setjmp_top = nlr_setjmp_top->prev; }
+#define nlr_push(buf) ((buf)->prev = nlr_top, nlr_top = (buf), setjmp((buf)->jmpbuf))
+#define nlr_pop() { nlr_top = nlr_top->prev; }
#define nlr_jump(val) nlr_setjmp_jump(val)
#else
unsigned int nlr_push(nlr_buf_t *);