Lines Matching refs:e1
713 static int constfolding (OpCode op, expdesc *e1, expdesc *e2) {
715 if (!isnumeral(e1) || !isnumeral(e2)) return 0;
718 r = luaO_arith(op - OP_ADD + LUA_OPADD, e1->u.nval, e2->u.nval);
719 e1->u.nval = r;
725 expdesc *e1, expdesc *e2, int line) {
726 if (constfolding(op, e1, e2))
730 int o1 = luaK_exp2RK(fs, e1);
732 freeexp(fs, e1);
737 freeexp(fs, e1);
739 e1->u.info = luaK_codeABC(fs, op, 0, o1, o2);
740 e1->k = VRELOCABLE;
746 static void codecomp (FuncState *fs, OpCode op, int cond, expdesc *e1,
748 int o1 = luaK_exp2RK(fs, e1);
751 freeexp(fs, e1);
757 e1->u.info = condjump(fs, op, cond, o1, o2);
758 e1->k = VJMP;
814 expdesc *e1, expdesc *e2, int line) {
817 lua_assert(e1->t == NO_JUMP); /* list must be closed */
819 luaK_concat(fs, &e2->f, e1->f);
820 *e1 = *e2;
824 lua_assert(e1->f == NO_JUMP); /* list must be closed */
826 luaK_concat(fs, &e2->t, e1->t);
827 *e1 = *e2;
833 lua_assert(e1->u.info == GETARG_B(getcode(fs, e2))-1);
834 freeexp(fs, e1);
835 SETARG_B(getcode(fs, e2), e1->u.info);
836 e1->k = VRELOCABLE; e1->u.info = e2->u.info;
840 codearith(fs, OP_CONCAT, e1, e2, line);
846 codearith(fs, cast(OpCode, op - OPR_ADD + OP_ADD), e1, e2, line);
850 codecomp(fs, cast(OpCode, op - OPR_EQ + OP_EQ), 1, e1, e2);
854 codecomp(fs, cast(OpCode, op - OPR_NE + OP_EQ), 0, e1, e2);