From 9c81c81ed518abc61bba64753cc43ff095ff399b Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Tue, 8 Feb 2011 01:00:47 +0100 Subject: [PATCH] Fix bytecode optimization of and/or operators. --- src/lj_parse.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/lj_parse.c b/src/lj_parse.c index cb16cb19..0f5577e1 100644 --- a/src/lj_parse.c +++ b/src/lj_parse.c @@ -691,8 +691,6 @@ static void bcemit_branch_t(FuncState *fs, ExpDesc *e) pc = NO_JMP; /* Never jump. */ else if (e->k == VJMP) invertcond(fs, e), pc = e->u.s.info; - else if (e->k == VKFALSE && !expr_hasjump(e)) - pc = bcemit_jmp(fs); /* Always jump. */ else pc = bcemit_branch(fs, e, 0); jmp_append(fs, &e->f, pc); @@ -709,8 +707,6 @@ static void bcemit_branch_f(FuncState *fs, ExpDesc *e) pc = NO_JMP; /* Never jump. */ else if (e->k == VJMP) pc = e->u.s.info; - else if (e->k == VKTRUE && !expr_hasjump(e)) - pc = bcemit_jmp(fs); /* Always jump. */ else pc = bcemit_branch(fs, e, 1); jmp_append(fs, &e->t, pc);