Lines Matching full:e1

715 static int constfolding (OpCode op, expdesc *e1, expdesc *e2) {  in constfolding()  argument
717 if (!isnumeral(e1) || !isnumeral(e2)) return 0; in constfolding()
723 if (op == OP_DIV && e1->u.nval == INT64_MIN && e2->u.nval == -1) in constfolding()
725 r = luaO_arith(op - OP_ADD + LUA_OPADD, e1->u.nval, e2->u.nval); in constfolding()
726 e1->u.nval = r; in constfolding()
732 expdesc *e1, expdesc *e2, int line) { in codearith() argument
733 if (constfolding(op, e1, e2)) in codearith()
737 int o1 = luaK_exp2RK(fs, e1); in codearith()
739 freeexp(fs, e1); in codearith()
744 freeexp(fs, e1); in codearith()
746 e1->u.info = luaK_codeABC(fs, op, 0, o1, o2); in codearith()
747 e1->k = VRELOCABLE; in codearith()
753 static void codecomp (FuncState *fs, OpCode op, int cond, expdesc *e1, in codecomp() argument
755 int o1 = luaK_exp2RK(fs, e1); in codecomp()
758 freeexp(fs, e1); in codecomp()
764 e1->u.info = condjump(fs, op, cond, o1, o2); in codecomp()
765 e1->k = VJMP; in codecomp()
821 expdesc *e1, expdesc *e2, int line) { in luaK_posfix() argument
824 lua_assert(e1->t == NO_JUMP); /* list must be closed */ in luaK_posfix()
826 luaK_concat(fs, &e2->f, e1->f); in luaK_posfix()
827 *e1 = *e2; in luaK_posfix()
831 lua_assert(e1->f == NO_JUMP); /* list must be closed */ in luaK_posfix()
833 luaK_concat(fs, &e2->t, e1->t); in luaK_posfix()
834 *e1 = *e2; in luaK_posfix()
840 lua_assert(e1->u.info == GETARG_B(getcode(fs, e2))-1); in luaK_posfix()
841 freeexp(fs, e1); in luaK_posfix()
842 SETARG_B(getcode(fs, e2), e1->u.info); in luaK_posfix()
843 e1->k = VRELOCABLE; e1->u.info = e2->u.info; in luaK_posfix()
847 codearith(fs, OP_CONCAT, e1, e2, line); in luaK_posfix()
853 codearith(fs, cast(OpCode, op - OPR_ADD + OP_ADD), e1, e2, line); in luaK_posfix()
857 codecomp(fs, cast(OpCode, op - OPR_EQ + OP_EQ), 1, e1, e2); in luaK_posfix()
861 codecomp(fs, cast(OpCode, op - OPR_NE + OP_EQ), 0, e1, e2); in luaK_posfix()