** Emit code for binary expressions that "produce values" over ** two registers. */
| 1390 | ** two registers. |
| 1391 | */ |
| 1392 | static void codebinexpval (FuncState *fs, OpCode op, |
| 1393 | expdesc *e1, expdesc *e2, int line) { |
| 1394 | int v2 = luaK_exp2anyreg(fs, e2); /* make sure 'e2' is in a register */ |
| 1395 | /* 'e1' must be already in a register or it is a constant */ |
| 1396 | lua_assert((VNIL <= e1->k && e1->k <= VKSTR) || |
| 1397 | e1->k == VNONRELOC || e1->k == VRELOC); |
| 1398 | lua_assert(OP_ADD <= op && op <= OP_SHR); |
| 1399 | finishbinexpval(fs, e1, e2, op, v2, 0, line, OP_MMBIN, |
| 1400 | cast(TMS, (op - OP_ADD) + TM_ADD)); |
| 1401 | } |
| 1402 | |
| 1403 | |
| 1404 | /* |
no test coverage detected