aboutsummaryrefslogtreecommitdiff
path: root/lopcodes.h
diff options
context:
space:
mode:
authorRoberto I <roberto@inf.puc-rio.br>2025-11-26 11:18:29 -0300
committerRoberto I <roberto@inf.puc-rio.br>2025-11-26 11:18:29 -0300
commitf33cc4ddec886ea499d7d41dd60cac5ddc5687db (patch)
tree917dccdbb60f984b21f5f7e1c0c3aa4f4f758ddc /lopcodes.h
parentd94f7ba3040eb06895d7305014e88157d3bfd1a1 (diff)
downloadlua-f33cc4ddec886ea499d7d41dd60cac5ddc5687db.tar.gz
lua-f33cc4ddec886ea499d7d41dd60cac5ddc5687db.tar.bz2
lua-f33cc4ddec886ea499d7d41dd60cac5ddc5687db.zip
New conceptual model for vararg
Conceptually, all functions get their vararg arguments in a vararg table. The storing of vararg arguments in the stack is always treated as an optimization.
Diffstat (limited to 'lopcodes.h')
-rw-r--r--lopcodes.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/lopcodes.h b/lopcodes.h
index f5c95151..fac87da2 100644
--- a/lopcodes.h
+++ b/lopcodes.h
@@ -336,7 +336,7 @@ OP_SETLIST,/* A vB vC k R[A][vC+i] := R[A+i], 1 <= i <= vB */
336 336
337OP_CLOSURE,/* A Bx R[A] := closure(KPROTO[Bx]) */ 337OP_CLOSURE,/* A Bx R[A] := closure(KPROTO[Bx]) */
338 338
339OP_VARARG,/* A C R[A], R[A+1], ..., R[A+C-2] = vararg */ 339OP_VARARG,/* A C R[A], ..., R[A+C-2] = vararg, R[B] is vararg param. */
340 340
341OP_GETVARG, /* A B C R[A] := R[B][R[C]], R[B] is vararg parameter */ 341OP_GETVARG, /* A B C R[A] := R[B][R[C]], R[B] is vararg parameter */
342 342