34 #ifndef lua_number2str
35 #define lua_number2str(s,n) sprintf((s), LUA_NUMBER_FMT, (n))
40 #define MAXTAGLOOP 100
71 if (mask & LUA_MASKCOUNT) {
78 if (mask & LUA_MASKLINE) {
88 ci->
u.
l.savedpc = *ci->
u.
l.pc;
90 if (*ci->
u.
l.pc <= ci->
u.
l.savedpc ||
95 ci->
u.
l.savedpc = *ci->
u.
l.pc;
200 callTM(L, tm, t, key, val);
232 if (tm1 == NULL)
return NULL;
233 if (mt1 == mt2)
return tm1;
234 tm2 =
fasttm(L, mt2, event);
235 if (tm2 == NULL)
return NULL;
260 const char *l =
getstr(ls);
262 const char *r =
getstr(rs);
265 int temp = strcoll(l, r);
266 if (temp != 0)
return temp;
268 size_t len = strlen(l);
270 return (len == ll) ? 0 : 1;
275 l += len; ll -= len; r += len; lr -= len;
317 case LUA_TNIL:
return 1;
320 case LUA_TLIGHTUSERDATA:
return pvalue(t1) ==
pvalue(t2);
321 case LUA_TUSERDATA: {
334 if (tm == NULL)
return 0;
347 }
else if (
tsvalue(top-1)->tsv.len > 0) {
353 while (n < total &&
tostring(L, top-n-1)) {
354 tl +=
tsvalue(top-n-1)->tsv.len;
360 for (i=n; i>0; i--) {
361 size_t l =
tsvalue(top-i)->tsv.len;
362 memcpy(buffer+tl,
svalue(top-i), l);
390 luaG_runerror(L,
"`__pow' (`^' operator) is not a function");
409 #define runtime_check(L, c) { if (!(c)) return 0; }
411 #define RA(i) (base+GETARG_A(i))
413 #define XRA(i) (L->base+GETARG_A(i))
414 #define RB(i) (base+GETARG_B(i))
415 #define RKB(i) ((GETARG_B(i) < MAXSTACK) ? RB(i) : k+GETARG_B(i)-MAXSTACK)
416 #define RC(i) (base+GETARG_C(i))
417 #define RKC(i) ((GETARG_C(i) < MAXSTACK) ? RC(i) : k+GETARG_C(i)-MAXSTACK)
418 #define KBx(i) (k+GETARG_Bx(i))
421 #define dojump(pc, i) ((pc) += (i))
438 pc = L->
ci->
u.
l.savedpc;
445 if ((L->
hookmask & (LUA_MASKLINE | LUA_MASKCOUNT)) &&
449 L->
ci->
u.
l.savedpc = pc - 1;
652 if (b != 0) L->
top = ra+b;
656 if (firstResult > L->
top) {
658 (L->
ci - 1)->u.l.savedpc = pc;
664 if (nresults >= 0) L->
top = L->
ci->
top;
668 (L->
ci-1)->u.l.savedpc = pc;
673 base = (L->
ci - 1)->base;
676 for (aux = 0; ra+aux < L->
top; aux++)
678 (L->
ci - 1)->top = L->
top = base+aux;
680 (L->
ci - 1)->u.l.savedpc = L->
ci->
u.
l.savedpc;
681 (L->
ci - 1)->u.l.tailcalls++;
693 if (b != 0) L->
top = ra+b-1;
697 L->
ci->
u.
l.savedpc = pc;
707 nresults =
GETARG_C(*(ci->
u.
l.savedpc - 1)) - 1;
709 if (nresults >= 0) L->
top = L->
ci->
top;
714 lua_Number step, idx, limit;
728 if (step > 0 ? idx <= limit : idx >= limit) {
736 StkId cb = ra + nvar + 2;
794 for (j=0; j<nup; j++, pc++) {