| 7902 | |
| 7903 | |
| 7904 | static void open_func (LexState *ls, FuncState *fs) { |
| 7905 | lua_State *L = ls->L; |
| 7906 | Proto *f = luaF_newproto(L); |
| 7907 | fs->f = f; |
| 7908 | fs->prev = ls->fs; /* linked list of funcstates */ |
| 7909 | fs->ls = ls; |
| 7910 | fs->L = L; |
| 7911 | ls->fs = fs; |
| 7912 | fs->pc = 0; |
| 7913 | fs->lasttarget = -1; |
| 7914 | fs->jpc = NO_JUMP; |
| 7915 | fs->freereg = 0; |
| 7916 | fs->nk = 0; |
| 7917 | fs->np = 0; |
| 7918 | fs->nlocvars = 0; |
| 7919 | fs->nactvar = 0; |
| 7920 | fs->bl = NULL; |
| 7921 | f->source = ls->source; |
| 7922 | f->maxstacksize = 2; /* registers 0/1 are always valid */ |
| 7923 | fs->h = luaH_new(L, 0, 0); |
| 7924 | /* anchor table of constants and prototype (to avoid being collected) */ |
| 7925 | sethvalue2s(L, L->top, fs->h); |
| 7926 | incr_top(L); |
| 7927 | setptvalue2s(L, L->top, f); |
| 7928 | incr_top(L); |
| 7929 | } |
| 7930 | |
| 7931 | |
| 7932 | static void close_func (LexState *ls) { |
no test coverage detected