aboutsummaryrefslogtreecommitdiff
path: root/ldo.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2016-08-01 16:51:24 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2016-08-01 16:51:24 -0300
commite4a9e6fcca4ac2a14c9832b1a40b74cdca7016b9 (patch)
treef4e6a467d530017d905a331ea41114cb9333ffd4 /ldo.c
parent9de2bb0d62a2531c47e5b8197f57a48c9aea05d2 (diff)
downloadlua-e4a9e6fcca4ac2a14c9832b1a40b74cdca7016b9.tar.gz
lua-e4a9e6fcca4ac2a14c9832b1a40b74cdca7016b9.tar.bz2
lua-e4a9e6fcca4ac2a14c9832b1a40b74cdca7016b9.zip
do not eliminate varargs from functions that do not use varargs
(confuses the debug lib and gains very little in performance)
Diffstat (limited to 'ldo.c')
-rw-r--r--ldo.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/ldo.c b/ldo.c
index d0c65a4b..0b4e9569 100644
--- a/ldo.c
+++ b/ldo.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ldo.c,v 2.151 2015/12/16 16:40:07 roberto Exp roberto $ 2** $Id: ldo.c,v 2.152 2016/07/29 17:12:44 roberto Exp roberto $
3** Stack and Call structure of Lua 3** Stack and Call structure of Lua
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -374,13 +374,13 @@ int luaD_precall (lua_State *L, StkId func, int nresults) {
374 int n = cast_int(L->top - func) - 1; /* number of real arguments */ 374 int n = cast_int(L->top - func) - 1; /* number of real arguments */
375 int fsize = p->maxstacksize; /* frame size */ 375 int fsize = p->maxstacksize; /* frame size */
376 checkstackp(L, fsize, func); 376 checkstackp(L, fsize, func);
377 if (p->is_vararg != 1) { /* do not use vararg? */ 377 if (p->is_vararg)
378 base = adjust_varargs(L, p, n);
379 else { /* non vararg function */
378 for (; n < p->numparams; n++) 380 for (; n < p->numparams; n++)
379 setnilvalue(L->top++); /* complete missing arguments */ 381 setnilvalue(L->top++); /* complete missing arguments */
380 base = func + 1; 382 base = func + 1;
381 } 383 }
382 else
383 base = adjust_varargs(L, p, n);
384 ci = next_ci(L); /* now 'enter' new function */ 384 ci = next_ci(L); /* now 'enter' new function */
385 ci->nresults = nresults; 385 ci->nresults = nresults;
386 ci->func = func; 386 ci->func = func;