aboutsummaryrefslogtreecommitdiff
path: root/src/lower.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lower.c')
-rw-r--r--src/lower.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lower.c b/src/lower.c
index 7f74a50..f08d5a0 100644
--- a/src/lower.c
+++ b/src/lower.c
@@ -907,12 +907,15 @@ static struct ejit_reloc branch_if(struct fn *f, struct ast *cond, bool branch)
static void lower_until(struct fn *f, struct ast *n)
{
struct ejit_label l = ejit_label(f->f);
+ ejit_inc_prio(f->f, 100); /* completely arbitrary */
lower_list(f, until_body(n));
struct ast *cond = until_cond(n);
struct ejit_reloc branch = branch_if(f, cond, false);
ejit_patch(f->f, branch, l);
+ ejit_dec_prio(f->f, 100);
+
n->l = null_loc();
}