MCPcopy Create free account
hub / github.com/Cubitect/cubiomes-viewer / luaK_setlist

Function luaK_setlist

lua/src/lcode.c:1768–1781  ·  view source on GitHub ↗

** Emit a SETLIST instruction. ** 'base' is register that keeps table; ** 'nelems' is #table plus those to be stored now; ** 'tostore' is number of values (in registers 'base + 1',...) to add to ** table (or LUA_MULTRET to add up to stack top). */

Source from the content-addressed store, hash-verified

1766** table (or LUA_MULTRET to add up to stack top).
1767*/
1768void luaK_setlist (FuncState *fs, int base, int nelems, int tostore) {
1769 lua_assert(tostore != 0 && tostore <= LFIELDS_PER_FLUSH);
1770 if (tostore == LUA_MULTRET)
1771 tostore = 0;
1772 if (nelems <= MAXARG_C)
1773 luaK_codeABC(fs, OP_SETLIST, base, tostore, nelems);
1774 else {
1775 int extra = nelems / (MAXARG_C + 1);
1776 nelems %= (MAXARG_C + 1);
1777 luaK_codeABCk(fs, OP_SETLIST, base, tostore, nelems, 1);
1778 codeextraarg(fs, extra);
1779 }
1780 fs->freereg = base + 1; /* free registers with list values */
1781}
1782
1783
1784/*

Callers 2

closelistfieldFunction · 0.85
lastlistfieldFunction · 0.85

Calls 2

luaK_codeABCkFunction · 0.85
codeextraargFunction · 0.85

Tested by

no test coverage detected