aboutsummaryrefslogtreecommitdiff
path: root/lvm.c
diff options
context:
space:
mode:
Diffstat (limited to 'lvm.c')
-rw-r--r--lvm.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/lvm.c b/lvm.c
index 71f6ae0d..46150ef0 100644
--- a/lvm.c
+++ b/lvm.c
@@ -516,7 +516,6 @@ int luaV_equalobj (lua_State *L, const TValue *t1, const TValue *t2) {
516 if (tm == NULL) /* no TM? */ 516 if (tm == NULL) /* no TM? */
517 return 0; /* objects are different */ 517 return 0; /* objects are different */
518 else { 518 else {
519 L->top = L->ci->top;
520 luaT_callTMres(L, tm, t1, t2, L->top); /* call TM */ 519 luaT_callTMres(L, tm, t1, t2, L->top); /* call TM */
521 return !l_isfalse(s2v(L->top)); 520 return !l_isfalse(s2v(L->top));
522 } 521 }
@@ -925,7 +924,7 @@ void luaV_finishOp (lua_State *L) {
925 else if (ttisnumber(s2v(ra)) && ttisnumber(rb)) \ 924 else if (ttisnumber(s2v(ra)) && ttisnumber(rb)) \
926 cond = opf(s2v(ra), rb); \ 925 cond = opf(s2v(ra), rb); \
927 else \ 926 else \
928 ProtectNT(cond = other(L, s2v(ra), rb)); \ 927 Protect(cond = other(L, s2v(ra), rb)); \
929 docondjump(); } 928 docondjump(); }
930 929
931 930
@@ -944,7 +943,7 @@ void luaV_finishOp (lua_State *L) {
944 } \ 943 } \
945 else { \ 944 else { \
946 int isf = GETARG_C(i); \ 945 int isf = GETARG_C(i); \
947 ProtectNT(cond = luaT_callorderiTM(L, s2v(ra), im, inv, isf, tm)); \ 946 Protect(cond = luaT_callorderiTM(L, s2v(ra), im, inv, isf, tm)); \
948 } \ 947 } \
949 docondjump(); } 948 docondjump(); }
950 949
@@ -989,7 +988,7 @@ void luaV_finishOp (lua_State *L) {
989 988
990 989
991/* for test instructions, execute the jump instruction that follows it */ 990/* for test instructions, execute the jump instruction that follows it */
992#define donextjump(ci) { i = *pc; dojump(ci, i, 1); } 991#define donextjump(ci) { Instruction ni = *pc; dojump(ci, ni, 1); }
993 992
994/* 993/*
995** do a conditional jump: skip next instruction if 'cond' is not what 994** do a conditional jump: skip next instruction if 'cond' is not what
@@ -1408,7 +1407,7 @@ void luaV_execute (lua_State *L, CallInfo *ci) {
1408 TMS tm = (TMS)GETARG_C(i); 1407 TMS tm = (TMS)GETARG_C(i);
1409 StkId result = RA(pi); 1408 StkId result = RA(pi);
1410 lua_assert(OP_ADD <= GET_OPCODE(pi) && GET_OPCODE(pi) <= OP_SHR); 1409 lua_assert(OP_ADD <= GET_OPCODE(pi) && GET_OPCODE(pi) <= OP_SHR);
1411 ProtectNT(luaT_trybinTM(L, s2v(ra), rb, result, tm)); 1410 Protect(luaT_trybinTM(L, s2v(ra), rb, result, tm));
1412 vmbreak; 1411 vmbreak;
1413 } 1412 }
1414 vmcase(OP_MMBINI) { 1413 vmcase(OP_MMBINI) {
@@ -1417,7 +1416,7 @@ void luaV_execute (lua_State *L, CallInfo *ci) {
1417 TMS tm = (TMS)GETARG_C(i); 1416 TMS tm = (TMS)GETARG_C(i);
1418 int flip = GETARG_k(i); 1417 int flip = GETARG_k(i);
1419 StkId result = RA(pi); 1418 StkId result = RA(pi);
1420 ProtectNT(luaT_trybiniTM(L, s2v(ra), imm, flip, result, tm)); 1419 Protect(luaT_trybiniTM(L, s2v(ra), imm, flip, result, tm));
1421 vmbreak; 1420 vmbreak;
1422 } 1421 }
1423 vmcase(OP_MMBINK) { 1422 vmcase(OP_MMBINK) {
@@ -1426,7 +1425,7 @@ void luaV_execute (lua_State *L, CallInfo *ci) {
1426 TMS tm = (TMS)GETARG_C(i); 1425 TMS tm = (TMS)GETARG_C(i);
1427 int flip = GETARG_k(i); 1426 int flip = GETARG_k(i);
1428 StkId result = RA(pi); 1427 StkId result = RA(pi);
1429 ProtectNT(luaT_trybinassocTM(L, s2v(ra), imm, flip, result, tm)); 1428 Protect(luaT_trybinassocTM(L, s2v(ra), imm, flip, result, tm));
1430 vmbreak; 1429 vmbreak;
1431 } 1430 }
1432 vmcase(OP_UNM) { 1431 vmcase(OP_UNM) {
@@ -1440,7 +1439,7 @@ void luaV_execute (lua_State *L, CallInfo *ci) {
1440 setfltvalue(s2v(ra), luai_numunm(L, nb)); 1439 setfltvalue(s2v(ra), luai_numunm(L, nb));
1441 } 1440 }
1442 else 1441 else
1443 ProtectNT(luaT_trybinTM(L, rb, rb, ra, TM_UNM)); 1442 Protect(luaT_trybinTM(L, rb, rb, ra, TM_UNM));
1444 vmbreak; 1443 vmbreak;
1445 } 1444 }
1446 vmcase(OP_BNOT) { 1445 vmcase(OP_BNOT) {
@@ -1450,7 +1449,7 @@ void luaV_execute (lua_State *L, CallInfo *ci) {
1450 setivalue(s2v(ra), intop(^, ~l_castS2U(0), ib)); 1449 setivalue(s2v(ra), intop(^, ~l_castS2U(0), ib));
1451 } 1450 }
1452 else 1451 else
1453 ProtectNT(luaT_trybinTM(L, rb, rb, ra, TM_BNOT)); 1452 Protect(luaT_trybinTM(L, rb, rb, ra, TM_BNOT));
1454 vmbreak; 1453 vmbreak;
1455 } 1454 }
1456 vmcase(OP_NOT) { 1455 vmcase(OP_NOT) {
@@ -1486,7 +1485,7 @@ void luaV_execute (lua_State *L, CallInfo *ci) {
1486 vmcase(OP_EQ) { 1485 vmcase(OP_EQ) {
1487 int cond; 1486 int cond;
1488 TValue *rb = vRB(i); 1487 TValue *rb = vRB(i);
1489 ProtectNT(cond = luaV_equalobj(L, s2v(ra), rb)); 1488 Protect(cond = luaV_equalobj(L, s2v(ra), rb));
1490 docondjump(); 1489 docondjump();
1491 vmbreak; 1490 vmbreak;
1492 } 1491 }