eplicit 1-bit opcode operand 'k'
This commit is contained in:
22
lvm.c
22
lvm.c
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
** $Id: lvm.c,v 2.297 2017/10/01 19:13:43 roberto Exp roberto $
|
||||
** $Id: lvm.c,v 2.298 2017/10/04 15:49:24 roberto Exp roberto $
|
||||
** Lua virtual machine
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
@@ -742,7 +742,7 @@ void luaV_finishOp (lua_State *L) {
|
||||
#define RC(i) (base+GETARG_C(i))
|
||||
#define vRC(i) s2v(RC(i))
|
||||
#define KC(i) (k+GETARG_C(i))
|
||||
#define RKC(i) ((GETARG_Ck(i)) ? k + GETARG_Cr(i) : s2v(base + GETARG_Cr(i)))
|
||||
#define RKC(i) ((GETARG_k(i)) ? k + GETARG_C(i) : s2v(base + GETARG_C(i)))
|
||||
|
||||
|
||||
|
||||
@@ -992,7 +992,7 @@ void luaV_execute (lua_State *L) {
|
||||
}
|
||||
vmcase(OP_ADDI) {
|
||||
TValue *rb = vRB(i);
|
||||
int ic = GETARG_Cr(i);
|
||||
int ic = GETARG_sC(i);
|
||||
lua_Number nb;
|
||||
if (ttisinteger(rb)) {
|
||||
setivalue(s2v(ra), intop(+, ivalue(rb), ic));
|
||||
@@ -1001,12 +1001,12 @@ void luaV_execute (lua_State *L) {
|
||||
setfltvalue(s2v(ra), luai_numadd(L, nb, cast_num(ic)));
|
||||
}
|
||||
else
|
||||
Protect(luaT_trybiniTM(L, rb, ic, GETARG_Ck(i), ra, TM_ADD));
|
||||
Protect(luaT_trybiniTM(L, rb, ic, GETARG_k(i), ra, TM_ADD));
|
||||
vmbreak;
|
||||
}
|
||||
vmcase(OP_SUBI) {
|
||||
TValue *rb = vRB(i);
|
||||
int ic = GETARG_Cr(i);
|
||||
int ic = GETARG_sC(i);
|
||||
lua_Number nb;
|
||||
if (ttisinteger(rb)) {
|
||||
setivalue(s2v(ra), intop(-, ivalue(rb), ic));
|
||||
@@ -1020,7 +1020,7 @@ void luaV_execute (lua_State *L) {
|
||||
}
|
||||
vmcase(OP_MULI) {
|
||||
TValue *rb = vRB(i);
|
||||
int ic = GETARG_Cr(i);
|
||||
int ic = GETARG_sC(i);
|
||||
lua_Number nb;
|
||||
if (ttisinteger(rb)) {
|
||||
setivalue(s2v(ra), intop(*, ivalue(rb), ic));
|
||||
@@ -1029,12 +1029,12 @@ void luaV_execute (lua_State *L) {
|
||||
setfltvalue(s2v(ra), luai_nummul(L, nb, cast_num(ic)));
|
||||
}
|
||||
else
|
||||
Protect(luaT_trybiniTM(L, rb, ic, GETARG_Ck(i), ra, TM_MUL));
|
||||
Protect(luaT_trybiniTM(L, rb, ic, GETARG_k(i), ra, TM_MUL));
|
||||
vmbreak;
|
||||
}
|
||||
vmcase(OP_MODI) {
|
||||
TValue *rb = vRB(i);
|
||||
int ic = GETARG_Cr(i);
|
||||
int ic = GETARG_sC(i);
|
||||
lua_Number nb;
|
||||
if (ttisinteger(rb)) {
|
||||
setivalue(s2v(ra), luaV_mod(L, ivalue(rb), ic));
|
||||
@@ -1051,7 +1051,7 @@ void luaV_execute (lua_State *L) {
|
||||
}
|
||||
vmcase(OP_POWI) {
|
||||
TValue *rb = vRB(i);
|
||||
int ic = GETARG_Cr(i);
|
||||
int ic = GETARG_sC(i);
|
||||
lua_Number nb;
|
||||
if (tonumberns(rb, nb)) {
|
||||
lua_Number nc = cast_num(ic);
|
||||
@@ -1063,7 +1063,7 @@ void luaV_execute (lua_State *L) {
|
||||
}
|
||||
vmcase(OP_DIVI) {
|
||||
TValue *rb = vRB(i);
|
||||
int ic = GETARG_Cr(i);
|
||||
int ic = GETARG_sC(i);
|
||||
lua_Number nb;
|
||||
if (tonumberns(rb, nb)) {
|
||||
lua_Number nc = cast_num(ic);
|
||||
@@ -1075,7 +1075,7 @@ void luaV_execute (lua_State *L) {
|
||||
}
|
||||
vmcase(OP_IDIVI) {
|
||||
TValue *rb = vRB(i);
|
||||
int ic = GETARG_Cr(i);
|
||||
int ic = GETARG_sC(i);
|
||||
lua_Number nb;
|
||||
if (ttisinteger(rb)) {
|
||||
setivalue(s2v(ra), luaV_div(L, ivalue(rb), ic));
|
||||
|
||||
Reference in New Issue
Block a user