> Won't this add significant overhead for the table allocations vs just
> leaving the vargs on the stack?
That was the motivation for stack varargs. But "significant" is quite
relative. Moreover, stack varargs add an overhead (a quite small one, but
it is not zero) to all functions, even those not varargs. We do not see
vararg functions in critical paths often. Several (most?) vararg functions
have to create tables (or pay the price of 'select') anyway.
More important, table is the bread-and-butter of Lua. If we start to
demonise them, we are left with little else.