Lines Matching refs:e2

527 static void freeexps (FuncState *fs, expdesc *e1, expdesc *e2) {  in freeexps()  argument
529 int r2 = (e2->k == VNONRELOC) ? e2->u.info : -1; in freeexps()
1341 const expdesc *e2) { in constfolding() argument
1343 if (!tonumeral(e1, &v1) || !tonumeral(e2, &v2) || !validop(op, &v1, &v2)) in constfolding()
1410 static void finishbinexpval (FuncState *fs, expdesc *e1, expdesc *e2, in finishbinexpval() argument
1415 freeexps(fs, e1, e2); in finishbinexpval()
1429 expdesc *e1, expdesc *e2, int line) { in codebinexpval() argument
1431 int v2 = luaK_exp2anyreg(fs, e2); /* make sure 'e2' is in a register */ in codebinexpval()
1436 finishbinexpval(fs, e1, e2, op, v2, 0, line, OP_MMBIN, binopr2TM(opr)); in codebinexpval()
1444 expdesc *e1, expdesc *e2, int flip, int line, in codebini() argument
1446 int v2 = int2sC(cast_int(e2->u.ival)); /* immediate operand */ in codebini()
1447 lua_assert(e2->k == VKINT); in codebini()
1448 finishbinexpval(fs, e1, e2, op, v2, flip, line, OP_MMBINI, event); in codebini()
1456 expdesc *e1, expdesc *e2, int flip, int line) { in codebinK() argument
1458 int v2 = e2->u.info; /* K index */ in codebinK()
1460 finishbinexpval(fs, e1, e2, op, v2, flip, line, OP_MMBINK, event); in codebinK()
1467 static int finishbinexpneg (FuncState *fs, expdesc *e1, expdesc *e2, in finishbinexpneg() argument
1469 if (!luaK_isKint(e2)) in finishbinexpneg()
1472 lua_Integer i2 = e2->u.ival; in finishbinexpneg()
1477 finishbinexpval(fs, e1, e2, op, int2sC(-v2), 0, line, OP_MMBINI, event); in finishbinexpneg()
1486 static void swapexps (expdesc *e1, expdesc *e2) { in swapexps() argument
1487 expdesc temp = *e1; *e1 = *e2; *e2 = temp; /* swap 'e1' and 'e2' */ in swapexps()
1495 expdesc *e1, expdesc *e2, int flip, int line) { in codebinNoK() argument
1497 swapexps(e1, e2); /* back to original order */ in codebinNoK()
1498 codebinexpval(fs, opr, e1, e2, line); /* use standard operators */ in codebinNoK()
1507 expdesc *e1, expdesc *e2, int flip, int line) { in codearith() argument
1508 if (tonumeral(e2, NULL) && luaK_exp2K(fs, e2)) /* K operand? */ in codearith()
1509 codebinK(fs, opr, e1, e2, flip, line); in codearith()
1511 codebinNoK(fs, opr, e1, e2, flip, line); in codearith()
1521 expdesc *e1, expdesc *e2, int line) { in codecommutative() argument
1524 swapexps(e1, e2); /* change order */ in codecommutative()
1527 if (op == OPR_ADD && isSCint(e2)) /* immediate operand? */ in codecommutative()
1528 codebini(fs, OP_ADDI, e1, e2, flip, line, TM_ADD); in codecommutative()
1530 codearith(fs, op, e1, e2, flip, line); in codecommutative()
1539 expdesc *e1, expdesc *e2, int line) { in codebitwise() argument
1542 swapexps(e1, e2); /* 'e2' will be the constant operand */ in codebitwise()
1545 if (e2->k == VKINT && luaK_exp2K(fs, e2)) /* K operand? */ in codebitwise()
1546 codebinK(fs, opr, e1, e2, flip, line); in codebitwise()
1548 codebinNoK(fs, opr, e1, e2, flip, line); in codebitwise()
1556 static void codeorder (FuncState *fs, BinOpr opr, expdesc *e1, expdesc *e2) { in codeorder() argument
1561 if (isSCnumber(e2, &im, &isfloat)) { in codeorder()
1569 r1 = luaK_exp2anyreg(fs, e2); in codeorder()
1575 r2 = luaK_exp2anyreg(fs, e2); in codeorder()
1578 freeexps(fs, e1, e2); in codeorder()
1588 static void codeeq (FuncState *fs, BinOpr opr, expdesc *e1, expdesc *e2) { in codeeq() argument
1595 swapexps(e1, e2); in codeeq()
1598 if (isSCnumber(e2, &im, &isfloat)) { in codeeq()
1602 else if (luaK_exp2RK(fs, e2)) { /* 2nd expression is constant? */ in codeeq()
1604 r2 = e2->u.info; /* constant index */ in codeeq()
1608 r2 = luaK_exp2anyreg(fs, e2); in codeeq()
1610 freeexps(fs, e1, e2); in codeeq()
1689 static void codeconcat (FuncState *fs, expdesc *e1, expdesc *e2, int line) { in codeconcat() argument
1694 freeexp(fs, e2); in codeconcat()
1700 freeexp(fs, e2); in codeconcat()
1710 expdesc *e1, expdesc *e2, int line) { in luaK_posfix() argument
1711 luaK_dischargevars(fs, e2); in luaK_posfix()
1712 if (foldbinop(opr) && constfolding(fs, opr + LUA_OPADD, e1, e2)) in luaK_posfix()
1717 luaK_concat(fs, &e2->f, e1->f); in luaK_posfix()
1718 *e1 = *e2; in luaK_posfix()
1723 luaK_concat(fs, &e2->t, e1->t); in luaK_posfix()
1724 *e1 = *e2; in luaK_posfix()
1728 luaK_exp2nextreg(fs, e2); in luaK_posfix()
1729 codeconcat(fs, e1, e2, line); in luaK_posfix()
1733 codecommutative(fs, opr, e1, e2, line); in luaK_posfix()
1737 if (finishbinexpneg(fs, e1, e2, OP_ADDI, line, TM_SUB)) in luaK_posfix()
1742 codearith(fs, opr, e1, e2, 0, line); in luaK_posfix()
1746 codebitwise(fs, opr, e1, e2, line); in luaK_posfix()
1751 swapexps(e1, e2); in luaK_posfix()
1752 codebini(fs, OP_SHLI, e1, e2, 1, line, TM_SHL); /* I << r2 */ in luaK_posfix()
1754 else if (finishbinexpneg(fs, e1, e2, OP_SHRI, line, TM_SHL)) { in luaK_posfix()
1758 codebinexpval(fs, opr, e1, e2, line); in luaK_posfix()
1762 if (isSCint(e2)) in luaK_posfix()
1763 codebini(fs, OP_SHRI, e1, e2, 0, line, TM_SHR); /* r1 >> I */ in luaK_posfix()
1765 codebinexpval(fs, opr, e1, e2, line); in luaK_posfix()
1769 codeeq(fs, opr, e1, e2); in luaK_posfix()
1774 swapexps(e1, e2); in luaK_posfix()
1778 codeorder(fs, opr, e1, e2); in luaK_posfix()