diff options
author | Mike Pall <mike> | 2011-02-08 01:00:47 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2011-02-08 01:00:47 +0100 |
commit | 9c81c81ed518abc61bba64753cc43ff095ff399b (patch) | |
tree | 2e653ffc041277e143a551aa5d6712f49c306091 /src | |
parent | c39ca7c35b4f4efd91c83ab0777f32c294766e23 (diff) | |
download | luajit-9c81c81ed518abc61bba64753cc43ff095ff399b.tar.gz luajit-9c81c81ed518abc61bba64753cc43ff095ff399b.tar.bz2 luajit-9c81c81ed518abc61bba64753cc43ff095ff399b.zip |
Fix bytecode optimization of and/or operators.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_parse.c | 4 |
1 files changed, 0 insertions, 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) | |||
691 | pc = NO_JMP; /* Never jump. */ | 691 | pc = NO_JMP; /* Never jump. */ |
692 | else if (e->k == VJMP) | 692 | else if (e->k == VJMP) |
693 | invertcond(fs, e), pc = e->u.s.info; | 693 | invertcond(fs, e), pc = e->u.s.info; |
694 | else if (e->k == VKFALSE && !expr_hasjump(e)) | ||
695 | pc = bcemit_jmp(fs); /* Always jump. */ | ||
696 | else | 694 | else |
697 | pc = bcemit_branch(fs, e, 0); | 695 | pc = bcemit_branch(fs, e, 0); |
698 | jmp_append(fs, &e->f, pc); | 696 | jmp_append(fs, &e->f, pc); |
@@ -709,8 +707,6 @@ static void bcemit_branch_f(FuncState *fs, ExpDesc *e) | |||
709 | pc = NO_JMP; /* Never jump. */ | 707 | pc = NO_JMP; /* Never jump. */ |
710 | else if (e->k == VJMP) | 708 | else if (e->k == VJMP) |
711 | pc = e->u.s.info; | 709 | pc = e->u.s.info; |
712 | else if (e->k == VKTRUE && !expr_hasjump(e)) | ||
713 | pc = bcemit_jmp(fs); /* Always jump. */ | ||
714 | else | 710 | else |
715 | pc = bcemit_branch(fs, e, 1); | 711 | pc = bcemit_branch(fs, e, 1); |
716 | jmp_append(fs, &e->t, pc); | 712 | jmp_append(fs, &e->t, pc); |