diff options
-rw-r--r-- | ldo.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -530,10 +530,10 @@ int luaD_pretailcall (lua_State *L, CallInfo *ci, StkId func, | |||
530 | int fsize = p->maxstacksize; /* frame size */ | 530 | int fsize = p->maxstacksize; /* frame size */ |
531 | int nfixparams = p->numparams; | 531 | int nfixparams = p->numparams; |
532 | int i; | 532 | int i; |
533 | checkstackGCp(L, fsize - delta, func); | ||
533 | ci->func -= delta; /* restore 'func' (if vararg) */ | 534 | ci->func -= delta; /* restore 'func' (if vararg) */ |
534 | for (i = 0; i < narg1; i++) /* move down function and arguments */ | 535 | for (i = 0; i < narg1; i++) /* move down function and arguments */ |
535 | setobjs2s(L, ci->func + i, func + i); | 536 | setobjs2s(L, ci->func + i, func + i); |
536 | checkstackGC(L, fsize); | ||
537 | func = ci->func; /* moved-down function */ | 537 | func = ci->func; /* moved-down function */ |
538 | for (; narg1 <= nfixparams; narg1++) | 538 | for (; narg1 <= nfixparams; narg1++) |
539 | setnilvalue(s2v(func + narg1)); /* complete missing arguments */ | 539 | setnilvalue(s2v(func + narg1)); /* complete missing arguments */ |