Lines Matching refs:L
41 #define api_checknelems(L, n) api_check(L, (n) <= (L->top - L->base)) argument
43 #define api_checkvalidindex(L, i) api_check(L, (i) != luaO_nilobject) argument
45 #define api_incr_top(L) {api_check(L, L->top < L->ci->top); L->top++;} argument
49 static TValue *index2adr (lua_State *L, int idx) { in index2adr() argument
51 TValue *o = L->base + (idx - 1); in index2adr()
52 api_check(L, idx <= L->ci->top - L->base); in index2adr()
53 if (o >= L->top) return cast(TValue *, luaO_nilobject); in index2adr()
57 api_check(L, idx != 0 && -idx <= L->top - L->base); in index2adr()
58 return L->top + idx; in index2adr()
61 case LUA_REGISTRYINDEX: return registry(L); in index2adr()
63 Closure *func = curr_func(L); in index2adr()
64 sethvalue(L, &L->env, func->c.env); in index2adr()
65 return &L->env; in index2adr()
67 case LUA_GLOBALSINDEX: return gt(L); in index2adr()
69 Closure *func = curr_func(L); in index2adr()
79 static Table *getcurrenv (lua_State *L) { in getcurrenv() argument
80 if (L->ci == L->base_ci) /* no enclosing function? */ in getcurrenv()
81 return hvalue(gt(L)); /* use global table as environment */ in getcurrenv()
83 Closure *func = curr_func(L); in getcurrenv()
89 void luaA_pushobject (lua_State *L, const TValue *o) { in luaA_pushobject() argument
90 setobj2s(L, L->top, o); in luaA_pushobject()
91 api_incr_top(L); in luaA_pushobject()
95 LUA_API int lua_checkstack (lua_State *L, int size) { in lua_checkstack() argument
97 lua_lock(L); in lua_checkstack()
98 if (size > LUAI_MAXCSTACK || (L->top - L->base + size) > LUAI_MAXCSTACK) in lua_checkstack()
101 luaD_checkstack(L, size); in lua_checkstack()
102 if (L->ci->top < L->top + size) in lua_checkstack()
103 L->ci->top = L->top + size; in lua_checkstack()
105 lua_unlock(L); in lua_checkstack()
130 LUA_API lua_CFunction lua_atpanic (lua_State *L, lua_CFunction panicf) { in lua_atpanic() argument
132 lua_lock(L); in lua_atpanic()
133 old = G(L)->panic; in lua_atpanic()
134 G(L)->panic = panicf; in lua_atpanic()
135 lua_unlock(L); in lua_atpanic()
140 LUA_API lua_State *lua_newthread (lua_State *L) { in lua_newthread() argument
142 lua_lock(L); in lua_newthread()
143 luaC_checkGC(L); in lua_newthread()
144 L1 = luaE_newthread(L); in lua_newthread()
145 setthvalue(L, L->top, L1); in lua_newthread()
146 api_incr_top(L); in lua_newthread()
147 lua_unlock(L); in lua_newthread()
148 luai_userstatethread(L, L1); in lua_newthread()
159 LUA_API int lua_gettop (lua_State *L) { in lua_gettop() argument
160 return cast_int(L->top - L->base); in lua_gettop()
164 LUA_API void lua_settop (lua_State *L, int idx) { in lua_settop() argument
165 lua_lock(L); in lua_settop()
167 api_check(L, idx <= L->stack_last - L->base); in lua_settop()
168 while (L->top < L->base + idx) in lua_settop()
169 setnilvalue(L->top++); in lua_settop()
170 L->top = L->base + idx; in lua_settop()
173 api_check(L, -(idx+1) <= (L->top - L->base)); in lua_settop()
174 L->top += idx+1; /* `subtract' index (index is negative) */ in lua_settop()
176 lua_unlock(L); in lua_settop()
180 LUA_API void lua_remove (lua_State *L, int idx) { in lua_remove() argument
182 lua_lock(L); in lua_remove()
183 p = index2adr(L, idx); in lua_remove()
184 api_checkvalidindex(L, p); in lua_remove()
185 while (++p < L->top) setobjs2s(L, p-1, p); in lua_remove()
186 L->top--; in lua_remove()
187 lua_unlock(L); in lua_remove()
191 LUA_API void lua_insert (lua_State *L, int idx) { in lua_insert() argument
194 lua_lock(L); in lua_insert()
195 p = index2adr(L, idx); in lua_insert()
196 api_checkvalidindex(L, p); in lua_insert()
197 for (q = L->top; q>p; q--) setobjs2s(L, q, q-1); in lua_insert()
198 setobjs2s(L, p, L->top); in lua_insert()
199 lua_unlock(L); in lua_insert()
203 LUA_API void lua_replace (lua_State *L, int idx) { in lua_replace() argument
205 lua_lock(L); in lua_replace()
207 if (idx == LUA_ENVIRONINDEX && L->ci == L->base_ci) in lua_replace()
208 luaG_runerror(L, "no calling environment"); in lua_replace()
209 api_checknelems(L, 1); in lua_replace()
210 o = index2adr(L, idx); in lua_replace()
211 api_checkvalidindex(L, o); in lua_replace()
213 Closure *func = curr_func(L); in lua_replace()
214 api_check(L, ttistable(L->top - 1)); in lua_replace()
215 func->c.env = hvalue(L->top - 1); in lua_replace()
216 luaC_barrier(L, func, L->top - 1); in lua_replace()
219 setobj(L, o, L->top - 1); in lua_replace()
221 luaC_barrier(L, curr_func(L), L->top - 1); in lua_replace()
223 L->top--; in lua_replace()
224 lua_unlock(L); in lua_replace()
228 LUA_API void lua_pushvalue (lua_State *L, int idx) { in lua_pushvalue() argument
229 lua_lock(L); in lua_pushvalue()
230 setobj2s(L, L->top, index2adr(L, idx)); in lua_pushvalue()
231 api_incr_top(L); in lua_pushvalue()
232 lua_unlock(L); in lua_pushvalue()
242 LUA_API int lua_type (lua_State *L, int idx) { in lua_type() argument
243 StkId o = index2adr(L, idx); in lua_type()
248 LUA_API const char *lua_typename (lua_State *L, int t) { in lua_typename() argument
249 UNUSED(L); in lua_typename()
254 LUA_API int lua_iscfunction (lua_State *L, int idx) { in lua_iscfunction() argument
255 StkId o = index2adr(L, idx); in lua_iscfunction()
260 LUA_API int lua_isnumber (lua_State *L, int idx) { in lua_isnumber() argument
262 const TValue *o = index2adr(L, idx); in lua_isnumber()
267 LUA_API int lua_isstring (lua_State *L, int idx) { in lua_isstring() argument
268 int t = lua_type(L, idx); in lua_isstring()
273 LUA_API int lua_isuserdata (lua_State *L, int idx) { in lua_isuserdata() argument
274 const TValue *o = index2adr(L, idx); in lua_isuserdata()
279 LUA_API int lua_rawequal (lua_State *L, int index1, int index2) { in lua_rawequal() argument
280 StkId o1 = index2adr(L, index1); in lua_rawequal()
281 StkId o2 = index2adr(L, index2); in lua_rawequal()
287 LUA_API int lua_equal (lua_State *L, int index1, int index2) { in lua_equal() argument
290 lua_lock(L); /* may call tag method */ in lua_equal()
291 o1 = index2adr(L, index1); in lua_equal()
292 o2 = index2adr(L, index2); in lua_equal()
293 i = (o1 == luaO_nilobject || o2 == luaO_nilobject) ? 0 : equalobj(L, o1, o2); in lua_equal()
294 lua_unlock(L); in lua_equal()
299 LUA_API int lua_lessthan (lua_State *L, int index1, int index2) { in lua_lessthan() argument
302 lua_lock(L); /* may call tag method */ in lua_lessthan()
303 o1 = index2adr(L, index1); in lua_lessthan()
304 o2 = index2adr(L, index2); in lua_lessthan()
306 : luaV_lessthan(L, o1, o2); in lua_lessthan()
307 lua_unlock(L); in lua_lessthan()
313 LUA_API lua_Number lua_tonumber (lua_State *L, int idx) { in lua_tonumber() argument
315 const TValue *o = index2adr(L, idx); in lua_tonumber()
323 LUA_API lua_Integer lua_tointeger (lua_State *L, int idx) { in lua_tointeger() argument
325 const TValue *o = index2adr(L, idx); in lua_tointeger()
337 LUA_API int lua_toboolean (lua_State *L, int idx) { in lua_toboolean() argument
338 const TValue *o = index2adr(L, idx); in lua_toboolean()
343 LUA_API const char *lua_tolstring (lua_State *L, int idx, size_t *len) { in lua_tolstring() argument
344 StkId o = index2adr(L, idx); in lua_tolstring()
346 lua_lock(L); /* `luaV_tostring' may create a new string */ in lua_tolstring()
347 if (!luaV_tostring(L, o)) { /* conversion failed? */ in lua_tolstring()
349 lua_unlock(L); in lua_tolstring()
352 luaC_checkGC(L); in lua_tolstring()
353 o = index2adr(L, idx); /* previous call may reallocate the stack */ in lua_tolstring()
354 lua_unlock(L); in lua_tolstring()
361 LUA_API size_t lua_objlen (lua_State *L, int idx) { in lua_objlen() argument
362 StkId o = index2adr(L, idx); in lua_objlen()
369 lua_lock(L); /* `luaV_tostring' may create a new string */ in lua_objlen()
370 l = (luaV_tostring(L, o) ? tsvalue(o)->len : 0); in lua_objlen()
371 lua_unlock(L); in lua_objlen()
379 LUA_API lua_CFunction lua_tocfunction (lua_State *L, int idx) { in lua_tocfunction() argument
380 StkId o = index2adr(L, idx); in lua_tocfunction()
385 LUA_API void *lua_touserdata (lua_State *L, int idx) { in lua_touserdata() argument
386 StkId o = index2adr(L, idx); in lua_touserdata()
395 LUA_API lua_State *lua_tothread (lua_State *L, int idx) { in lua_tothread() argument
396 StkId o = index2adr(L, idx); in lua_tothread()
401 LUA_API const void *lua_topointer (lua_State *L, int idx) { in lua_topointer() argument
402 StkId o = index2adr(L, idx); in lua_topointer()
409 return lua_touserdata(L, idx); in lua_topointer()
421 LUA_API void lua_pushnil (lua_State *L) { in lua_pushnil() argument
422 lua_lock(L); in lua_pushnil()
423 setnilvalue(L->top); in lua_pushnil()
424 api_incr_top(L); in lua_pushnil()
425 lua_unlock(L); in lua_pushnil()
429 LUA_API void lua_pushnumber (lua_State *L, lua_Number n) { in lua_pushnumber() argument
430 lua_lock(L); in lua_pushnumber()
431 setnvalue(L->top, n); in lua_pushnumber()
432 api_incr_top(L); in lua_pushnumber()
433 lua_unlock(L); in lua_pushnumber()
437 LUA_API void lua_pushinteger (lua_State *L, lua_Integer n) { in lua_pushinteger() argument
438 lua_lock(L); in lua_pushinteger()
439 setnvalue(L->top, cast_num(n)); in lua_pushinteger()
440 api_incr_top(L); in lua_pushinteger()
441 lua_unlock(L); in lua_pushinteger()
445 LUA_API void lua_pushlstring (lua_State *L, const char *s, size_t len) { in lua_pushlstring() argument
446 lua_lock(L); in lua_pushlstring()
447 luaC_checkGC(L); in lua_pushlstring()
448 setsvalue2s(L, L->top, luaS_newlstr(L, s, len)); in lua_pushlstring()
449 api_incr_top(L); in lua_pushlstring()
450 lua_unlock(L); in lua_pushlstring()
454 LUA_API void lua_pushstring (lua_State *L, const char *s) { in lua_pushstring() argument
456 lua_pushnil(L); in lua_pushstring()
458 lua_pushlstring(L, s, strlen(s)); in lua_pushstring()
462 LUA_API const char *lua_pushvfstring (lua_State *L, const char *fmt, in lua_pushvfstring() argument
465 lua_lock(L); in lua_pushvfstring()
466 luaC_checkGC(L); in lua_pushvfstring()
467 ret = luaO_pushvfstring(L, fmt, argp); in lua_pushvfstring()
468 lua_unlock(L); in lua_pushvfstring()
473 LUA_API const char *lua_pushfstring (lua_State *L, const char *fmt, ...) { in lua_pushfstring() argument
476 lua_lock(L); in lua_pushfstring()
477 luaC_checkGC(L); in lua_pushfstring()
479 ret = luaO_pushvfstring(L, fmt, argp); in lua_pushfstring()
481 lua_unlock(L); in lua_pushfstring()
486 LUA_API void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n) { in lua_pushcclosure() argument
488 lua_lock(L); in lua_pushcclosure()
489 luaC_checkGC(L); in lua_pushcclosure()
490 api_checknelems(L, n); in lua_pushcclosure()
491 cl = luaF_newCclosure(L, n, getcurrenv(L)); in lua_pushcclosure()
493 L->top -= n; in lua_pushcclosure()
495 setobj2n(L, &cl->c.upvalue[n], L->top+n); in lua_pushcclosure()
496 setclvalue(L, L->top, cl); in lua_pushcclosure()
498 api_incr_top(L); in lua_pushcclosure()
499 lua_unlock(L); in lua_pushcclosure()
503 LUA_API void lua_pushboolean (lua_State *L, int b) { in lua_pushboolean() argument
504 lua_lock(L); in lua_pushboolean()
505 setbvalue(L->top, (b != 0)); /* ensure that true is 1 */ in lua_pushboolean()
506 api_incr_top(L); in lua_pushboolean()
507 lua_unlock(L); in lua_pushboolean()
511 LUA_API void lua_pushlightuserdata (lua_State *L, void *p) { in lua_pushlightuserdata() argument
512 lua_lock(L); in lua_pushlightuserdata()
513 setpvalue(L->top, p); in lua_pushlightuserdata()
514 api_incr_top(L); in lua_pushlightuserdata()
515 lua_unlock(L); in lua_pushlightuserdata()
519 LUA_API int lua_pushthread (lua_State *L) { in lua_pushthread() argument
520 lua_lock(L); in lua_pushthread()
521 setthvalue(L, L->top, L); in lua_pushthread()
522 api_incr_top(L); in lua_pushthread()
523 lua_unlock(L); in lua_pushthread()
524 return (G(L)->mainthread == L); in lua_pushthread()
534 LUA_API void lua_gettable (lua_State *L, int idx) { in lua_gettable() argument
536 lua_lock(L); in lua_gettable()
537 t = index2adr(L, idx); in lua_gettable()
538 api_checkvalidindex(L, t); in lua_gettable()
539 luaV_gettable(L, t, L->top - 1, L->top - 1); in lua_gettable()
540 lua_unlock(L); in lua_gettable()
544 LUA_API void lua_getfield (lua_State *L, int idx, const char *k) { in lua_getfield() argument
547 lua_lock(L); in lua_getfield()
548 t = index2adr(L, idx); in lua_getfield()
549 api_checkvalidindex(L, t); in lua_getfield()
550 setsvalue(L, &key, luaS_new(L, k)); in lua_getfield()
551 luaV_gettable(L, t, &key, L->top); in lua_getfield()
552 api_incr_top(L); in lua_getfield()
553 lua_unlock(L); in lua_getfield()
557 LUA_API void lua_rawget (lua_State *L, int idx) { in lua_rawget() argument
559 lua_lock(L); in lua_rawget()
560 t = index2adr(L, idx); in lua_rawget()
561 api_check(L, ttistable(t)); in lua_rawget()
562 setobj2s(L, L->top - 1, luaH_get(hvalue(t), L->top - 1)); in lua_rawget()
563 lua_unlock(L); in lua_rawget()
567 LUA_API void lua_rawgeti (lua_State *L, int idx, int n) { in lua_rawgeti() argument
569 lua_lock(L); in lua_rawgeti()
570 o = index2adr(L, idx); in lua_rawgeti()
571 api_check(L, ttistable(o)); in lua_rawgeti()
572 setobj2s(L, L->top, luaH_getnum(hvalue(o), n)); in lua_rawgeti()
573 api_incr_top(L); in lua_rawgeti()
574 lua_unlock(L); in lua_rawgeti()
578 LUA_API void lua_createtable (lua_State *L, int narray, int nrec) { in lua_createtable() argument
579 lua_lock(L); in lua_createtable()
580 luaC_checkGC(L); in lua_createtable()
581 sethvalue(L, L->top, luaH_new(L, narray, nrec)); in lua_createtable()
582 api_incr_top(L); in lua_createtable()
583 lua_unlock(L); in lua_createtable()
587 LUA_API int lua_getmetatable (lua_State *L, int objindex) { in lua_getmetatable() argument
591 lua_lock(L); in lua_getmetatable()
592 obj = index2adr(L, objindex); in lua_getmetatable()
601 mt = G(L)->mt[ttype(obj)]; in lua_getmetatable()
607 sethvalue(L, L->top, mt); in lua_getmetatable()
608 api_incr_top(L); in lua_getmetatable()
611 lua_unlock(L); in lua_getmetatable()
616 LUA_API void lua_getfenv (lua_State *L, int idx) { in lua_getfenv() argument
618 lua_lock(L); in lua_getfenv()
619 o = index2adr(L, idx); in lua_getfenv()
620 api_checkvalidindex(L, o); in lua_getfenv()
623 sethvalue(L, L->top, clvalue(o)->c.env); in lua_getfenv()
626 sethvalue(L, L->top, uvalue(o)->env); in lua_getfenv()
629 setobj2s(L, L->top, gt(thvalue(o))); in lua_getfenv()
632 setnilvalue(L->top); in lua_getfenv()
635 api_incr_top(L); in lua_getfenv()
636 lua_unlock(L); in lua_getfenv()
645 LUA_API void lua_settable (lua_State *L, int idx) { in lua_settable() argument
647 lua_lock(L); in lua_settable()
648 api_checknelems(L, 2); in lua_settable()
649 t = index2adr(L, idx); in lua_settable()
650 api_checkvalidindex(L, t); in lua_settable()
651 luaV_settable(L, t, L->top - 2, L->top - 1); in lua_settable()
652 L->top -= 2; /* pop index and value */ in lua_settable()
653 lua_unlock(L); in lua_settable()
657 LUA_API void lua_setfield (lua_State *L, int idx, const char *k) { in lua_setfield() argument
660 lua_lock(L); in lua_setfield()
661 api_checknelems(L, 1); in lua_setfield()
662 t = index2adr(L, idx); in lua_setfield()
663 api_checkvalidindex(L, t); in lua_setfield()
664 setsvalue(L, &key, luaS_new(L, k)); in lua_setfield()
665 luaV_settable(L, t, &key, L->top - 1); in lua_setfield()
666 L->top--; /* pop value */ in lua_setfield()
667 lua_unlock(L); in lua_setfield()
671 LUA_API void lua_rawset (lua_State *L, int idx) { in lua_rawset() argument
673 lua_lock(L); in lua_rawset()
674 api_checknelems(L, 2); in lua_rawset()
675 t = index2adr(L, idx); in lua_rawset()
676 api_check(L, ttistable(t)); in lua_rawset()
677 setobj2t(L, luaH_set(L, hvalue(t), L->top-2), L->top-1); in lua_rawset()
678 luaC_barriert(L, hvalue(t), L->top-1); in lua_rawset()
679 L->top -= 2; in lua_rawset()
680 lua_unlock(L); in lua_rawset()
684 LUA_API void lua_rawseti (lua_State *L, int idx, int n) { in lua_rawseti() argument
686 lua_lock(L); in lua_rawseti()
687 api_checknelems(L, 1); in lua_rawseti()
688 o = index2adr(L, idx); in lua_rawseti()
689 api_check(L, ttistable(o)); in lua_rawseti()
690 setobj2t(L, luaH_setnum(L, hvalue(o), n), L->top-1); in lua_rawseti()
691 luaC_barriert(L, hvalue(o), L->top-1); in lua_rawseti()
692 L->top--; in lua_rawseti()
693 lua_unlock(L); in lua_rawseti()
697 LUA_API int lua_setmetatable (lua_State *L, int objindex) { in lua_setmetatable() argument
700 lua_lock(L); in lua_setmetatable()
701 api_checknelems(L, 1); in lua_setmetatable()
702 obj = index2adr(L, objindex); in lua_setmetatable()
703 api_checkvalidindex(L, obj); in lua_setmetatable()
704 if (ttisnil(L->top - 1)) in lua_setmetatable()
707 api_check(L, ttistable(L->top - 1)); in lua_setmetatable()
708 mt = hvalue(L->top - 1); in lua_setmetatable()
714 luaC_objbarriert(L, hvalue(obj), mt); in lua_setmetatable()
720 luaC_objbarrier(L, rawuvalue(obj), mt); in lua_setmetatable()
724 G(L)->mt[ttype(obj)] = mt; in lua_setmetatable()
728 L->top--; in lua_setmetatable()
729 lua_unlock(L); in lua_setmetatable()
734 LUA_API int lua_setfenv (lua_State *L, int idx) { in lua_setfenv() argument
737 lua_lock(L); in lua_setfenv()
738 api_checknelems(L, 1); in lua_setfenv()
739 o = index2adr(L, idx); in lua_setfenv()
740 api_checkvalidindex(L, o); in lua_setfenv()
741 api_check(L, ttistable(L->top - 1)); in lua_setfenv()
744 clvalue(o)->c.env = hvalue(L->top - 1); in lua_setfenv()
747 uvalue(o)->env = hvalue(L->top - 1); in lua_setfenv()
750 sethvalue(L, gt(thvalue(o)), hvalue(L->top - 1)); in lua_setfenv()
756 if (res) luaC_objbarrier(L, gcvalue(o), hvalue(L->top - 1)); in lua_setfenv()
757 L->top--; in lua_setfenv()
758 lua_unlock(L); in lua_setfenv()
768 #define adjustresults(L,nres) \ argument
769 { if (nres == LUA_MULTRET && L->top >= L->ci->top) L->ci->top = L->top; }
772 #define checkresults(L,na,nr) \ argument
773 api_check(L, (nr) == LUA_MULTRET || (L->ci->top - L->top >= (nr) - (na)))
776 LUA_API void lua_call (lua_State *L, int nargs, int nresults) { in lua_call() argument
778 lua_lock(L); in lua_call()
779 api_checknelems(L, nargs+1); in lua_call()
780 checkresults(L, nargs, nresults); in lua_call()
781 func = L->top - (nargs+1); in lua_call()
782 luaD_call(L, func, nresults); in lua_call()
783 adjustresults(L, nresults); in lua_call()
784 lua_unlock(L); in lua_call()
798 static void f_call (lua_State *L, void *ud) { in f_call() argument
800 luaD_call(L, c->func, c->nresults); in f_call()
805 LUA_API int lua_pcall (lua_State *L, int nargs, int nresults, int errfunc) { in lua_pcall() argument
809 lua_lock(L); in lua_pcall()
810 api_checknelems(L, nargs+1); in lua_pcall()
811 checkresults(L, nargs, nresults); in lua_pcall()
815 StkId o = index2adr(L, errfunc); in lua_pcall()
816 api_checkvalidindex(L, o); in lua_pcall()
817 func = savestack(L, o); in lua_pcall()
819 c.func = L->top - (nargs+1); /* function to be called */ in lua_pcall()
821 status = luaD_pcall(L, f_call, &c, savestack(L, c.func), func); in lua_pcall()
822 adjustresults(L, nresults); in lua_pcall()
823 lua_unlock(L); in lua_pcall()
837 static void f_Ccall (lua_State *L, void *ud) { in f_Ccall() argument
840 cl = luaF_newCclosure(L, 0, getcurrenv(L)); in f_Ccall()
842 setclvalue(L, L->top, cl); /* push function */ in f_Ccall()
843 api_incr_top(L); in f_Ccall()
844 setpvalue(L->top, c->ud); /* push only argument */ in f_Ccall()
845 api_incr_top(L); in f_Ccall()
846 luaD_call(L, L->top - 2, 0); in f_Ccall()
850 LUA_API int lua_cpcall (lua_State *L, lua_CFunction func, void *ud) { in lua_cpcall() argument
853 lua_lock(L); in lua_cpcall()
856 status = luaD_pcall(L, f_Ccall, &c, savestack(L, L->top), 0); in lua_cpcall()
857 lua_unlock(L); in lua_cpcall()
862 LUA_API int lua_load (lua_State *L, lua_Reader reader, void *data, in lua_load() argument
866 lua_lock(L); in lua_load()
868 luaZ_init(L, &z, reader, data); in lua_load()
869 status = luaD_protectedparser(L, &z, chunkname); in lua_load()
870 lua_unlock(L); in lua_load()
875 LUA_API int lua_dump (lua_State *L, lua_Writer writer, void *data) { in lua_dump() argument
878 lua_lock(L); in lua_dump()
879 api_checknelems(L, 1); in lua_dump()
880 o = L->top - 1; in lua_dump()
882 status = luaU_dump(L, clvalue(o)->l.p, writer, data, 0); in lua_dump()
885 lua_unlock(L); in lua_dump()
890 LUA_API int lua_status (lua_State *L) { in lua_status() argument
891 return L->status; in lua_status()
899 LUA_API int lua_gc (lua_State *L, int what, int data) { in lua_gc() argument
902 lua_lock(L); in lua_gc()
903 g = G(L); in lua_gc()
914 luaC_fullgc(L); in lua_gc()
933 luaC_step(L); in lua_gc()
953 lua_unlock(L); in lua_gc()
964 LUA_API int lua_error (lua_State *L) { in lua_error() argument
965 lua_lock(L); in lua_error()
966 api_checknelems(L, 1); in lua_error()
967 luaG_errormsg(L); in lua_error()
968 lua_unlock(L); in lua_error()
973 LUA_API int lua_next (lua_State *L, int idx) { in lua_next() argument
976 lua_lock(L); in lua_next()
977 t = index2adr(L, idx); in lua_next()
978 api_check(L, ttistable(t)); in lua_next()
979 more = luaH_next(L, hvalue(t), L->top - 1); in lua_next()
981 api_incr_top(L); in lua_next()
984 L->top -= 1; /* remove key */ in lua_next()
985 lua_unlock(L); in lua_next()
990 LUA_API void lua_concat (lua_State *L, int n) { in lua_concat() argument
991 lua_lock(L); in lua_concat()
992 api_checknelems(L, n); in lua_concat()
994 luaC_checkGC(L); in lua_concat()
995 luaV_concat(L, n, cast_int(L->top - L->base) - 1); in lua_concat()
996 L->top -= (n-1); in lua_concat()
999 setsvalue2s(L, L->top, luaS_newlstr(L, "", 0)); in lua_concat()
1000 api_incr_top(L); in lua_concat()
1003 lua_unlock(L); in lua_concat()
1007 LUA_API lua_Alloc lua_getallocf (lua_State *L, void **ud) { in lua_getallocf() argument
1009 lua_lock(L); in lua_getallocf()
1010 if (ud) *ud = G(L)->ud; in lua_getallocf()
1011 f = G(L)->frealloc; in lua_getallocf()
1012 lua_unlock(L); in lua_getallocf()
1017 LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud) { in lua_setallocf() argument
1018 lua_lock(L); in lua_setallocf()
1019 G(L)->ud = ud; in lua_setallocf()
1020 G(L)->frealloc = f; in lua_setallocf()
1021 lua_unlock(L); in lua_setallocf()
1025 LUA_API void *lua_newuserdata (lua_State *L, size_t size) { in lua_newuserdata() argument
1027 lua_lock(L); in lua_newuserdata()
1028 luaC_checkGC(L); in lua_newuserdata()
1029 u = luaS_newudata(L, size, getcurrenv(L)); in lua_newuserdata()
1030 setuvalue(L, L->top, u); in lua_newuserdata()
1031 api_incr_top(L); in lua_newuserdata()
1032 lua_unlock(L); in lua_newuserdata()
1057 LUA_API const char *lua_getupvalue (lua_State *L, int funcindex, int n) { in lua_getupvalue() argument
1060 lua_lock(L); in lua_getupvalue()
1061 name = aux_upvalue(index2adr(L, funcindex), n, &val); in lua_getupvalue()
1063 setobj2s(L, L->top, val); in lua_getupvalue()
1064 api_incr_top(L); in lua_getupvalue()
1066 lua_unlock(L); in lua_getupvalue()
1071 LUA_API const char *lua_setupvalue (lua_State *L, int funcindex, int n) { in lua_setupvalue() argument
1075 lua_lock(L); in lua_setupvalue()
1076 fi = index2adr(L, funcindex); in lua_setupvalue()
1077 api_checknelems(L, 1); in lua_setupvalue()
1080 L->top--; in lua_setupvalue()
1081 setobj(L, val, L->top); in lua_setupvalue()
1082 luaC_barrier(L, clvalue(fi), L->top); in lua_setupvalue()
1084 lua_unlock(L); in lua_setupvalue()