|
|
|
@ -10,7 +10,7 @@ |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* If 'obj' is a string, it is tried to be interpreted as a number.
|
|
|
|
|
@@ -566,12 +569,63 @@ static inline int arith_mode( const TVal
|
|
|
|
|
@@ -568,12 +571,63 @@ static inline int arith_mode( const TVal
|
|
|
|
|
ARITH_OP1_END
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@ -74,7 +74,7 @@ |
|
|
|
|
reentry: /* entry point */
|
|
|
|
|
lua_assert(isLua(L->ci));
|
|
|
|
|
pc = L->savedpc;
|
|
|
|
|
@@ -596,33 +650,33 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
@@ -598,33 +652,33 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
lua_assert(base == L->base && L->base == L->ci->base);
|
|
|
|
|
lua_assert(base <= L->top && L->top <= L->stack + L->stacksize);
|
|
|
|
|
lua_assert(L->top == L->ci->top || luaG_checkopenop(i));
|
|
|
|
@ -115,7 +115,7 @@ |
|
|
|
|
TValue g;
|
|
|
|
|
TValue *rb = KBx(i);
|
|
|
|
|
sethvalue(L, &g, cl->env);
|
|
|
|
|
@@ -630,88 +684,88 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
@@ -632,88 +686,88 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
Protect(luaV_gettable(L, &g, rb, ra));
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
@ -219,7 +219,7 @@ |
|
|
|
|
const TValue *rb = RB(i);
|
|
|
|
|
switch (ttype(rb)) {
|
|
|
|
|
case LUA_TTABLE: {
|
|
|
|
|
@@ -731,18 +785,18 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
@@ -733,18 +787,18 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
}
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
@ -241,7 +241,7 @@ |
|
|
|
|
TValue *rb = RKB(i);
|
|
|
|
|
TValue *rc = RKC(i);
|
|
|
|
|
Protect(
|
|
|
|
|
@@ -752,7 +806,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
@@ -754,7 +808,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
pc++;
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
@ -250,7 +250,7 @@ |
|
|
|
|
Protect(
|
|
|
|
|
if (luaV_lessthan(L, RKB(i), RKC(i)) == GETARG_A(i))
|
|
|
|
|
dojump(L, pc, GETARG_sBx(*pc));
|
|
|
|
|
@@ -760,7 +814,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
@@ -762,7 +816,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
pc++;
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
@ -259,7 +259,7 @@ |
|
|
|
|
Protect(
|
|
|
|
|
if (lessequal(L, RKB(i), RKC(i)) == GETARG_A(i))
|
|
|
|
|
dojump(L, pc, GETARG_sBx(*pc));
|
|
|
|
|
@@ -768,13 +822,13 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
@@ -770,13 +824,13 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
pc++;
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
@ -275,7 +275,7 @@ |
|
|
|
|
TValue *rb = RB(i);
|
|
|
|
|
if (l_isfalse(rb) != GETARG_C(i)) {
|
|
|
|
|
setobjs2s(L, ra, rb);
|
|
|
|
|
@@ -783,7 +837,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
@@ -785,7 +839,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
pc++;
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
@ -284,7 +284,7 @@ |
|
|
|
|
int b = GETARG_B(i);
|
|
|
|
|
int nresults = GETARG_C(i) - 1;
|
|
|
|
|
if (b != 0) L->top = ra+b; /* else previous instruction set top */
|
|
|
|
|
@@ -804,7 +858,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
@@ -806,7 +860,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -293,7 +293,7 @@ |
|
|
|
|
int b = GETARG_B(i);
|
|
|
|
|
if (b != 0) L->top = ra+b; /* else previous instruction set top */
|
|
|
|
|
L->savedpc = pc;
|
|
|
|
|
@@ -836,7 +890,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
@@ -838,7 +892,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -302,7 +302,7 @@ |
|
|
|
|
int b = GETARG_B(i);
|
|
|
|
|
if (b != 0) L->top = ra+b-1;
|
|
|
|
|
if (L->openupval) luaF_close(L, base);
|
|
|
|
|
@@ -851,7 +905,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
@@ -853,7 +907,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
goto reentry;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -311,7 +311,7 @@ |
|
|
|
|
/* If start,step and limit are all integers, we don't need to check
|
|
|
|
|
* against overflow in the looping.
|
|
|
|
|
*/
|
|
|
|
|
@@ -879,7 +933,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
@@ -881,7 +935,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
}
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
@ -320,7 +320,7 @@ |
|
|
|
|
const TValue *init = ra;
|
|
|
|
|
const TValue *plimit = ra+1;
|
|
|
|
|
const TValue *pstep = ra+2;
|
|
|
|
|
@@ -902,7 +956,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
@@ -904,7 +958,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
dojump(L, pc, GETARG_sBx(i));
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
@ -329,7 +329,7 @@ |
|
|
|
|
StkId cb = ra + 3; /* call base */
|
|
|
|
|
setobjs2s(L, cb+2, ra+2);
|
|
|
|
|
setobjs2s(L, cb+1, ra+1);
|
|
|
|
|
@@ -918,7 +972,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
@@ -920,7 +974,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
pc++;
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
@ -338,7 +338,7 @@ |
|
|
|
|
int n = GETARG_B(i);
|
|
|
|
|
int c = GETARG_C(i);
|
|
|
|
|
int last;
|
|
|
|
|
@@ -940,11 +994,11 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
@@ -942,11 +996,11 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
}
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
@ -352,7 +352,7 @@ |
|
|
|
|
Proto *p;
|
|
|
|
|
Closure *ncl;
|
|
|
|
|
int nup, j;
|
|
|
|
|
@@ -964,7 +1018,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
@@ -966,7 +1020,7 @@ void luaV_execute (lua_State *L, int nex
|
|
|
|
|
Protect(luaC_checkGC(L));
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|