aboutsummaryrefslogtreecommitdiff
path: root/ltm.h
diff options
context:
space:
mode:
authorRoberto I <roberto@inf.puc-rio.br>2025-09-24 18:33:08 -0300
committerRoberto I <roberto@inf.puc-rio.br>2025-09-24 18:33:08 -0300
commit25c54fe60e22d05cdfaa48c64372d354efa59547 (patch)
tree3ccaeded5e4363db358f73b7c8fc6b9f414a2f2a /ltm.h
parent0cc3c9447cca9abae9738ee77c24d88801c3916c (diff)
downloadlua-25c54fe60e22d05cdfaa48c64372d354efa59547.tar.gz
lua-25c54fe60e22d05cdfaa48c64372d354efa59547.tar.bz2
lua-25c54fe60e22d05cdfaa48c64372d354efa59547.zip
Optimization for vararg tables
A vararg table can be virtual. If the vararg table is used only as a base in indexing expressions, the code does not need to create an actual table for it. Instead, it compiles the indexing expressions into direct accesses to the internal vararg data.
Diffstat (limited to 'ltm.h')
-rw-r--r--ltm.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/ltm.h b/ltm.h
index ed479bb4..86f457eb 100644
--- a/ltm.h
+++ b/ltm.h
@@ -97,6 +97,7 @@ LUAI_FUNC int luaT_callorderiTM (lua_State *L, const TValue *p1, int v2,
97 97
98LUAI_FUNC void luaT_adjustvarargs (lua_State *L, struct CallInfo *ci, 98LUAI_FUNC void luaT_adjustvarargs (lua_State *L, struct CallInfo *ci,
99 const Proto *p); 99 const Proto *p);
100LUAI_FUNC void luaT_getvararg (CallInfo *ci, StkId ra, TValue *rc);
100LUAI_FUNC void luaT_getvarargs (lua_State *L, struct CallInfo *ci, 101LUAI_FUNC void luaT_getvarargs (lua_State *L, struct CallInfo *ci,
101 StkId where, int wanted); 102 StkId where, int wanted);
102 103