<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lua/lopcodes.h, branch v5.5.1</title>
<subtitle>A mirror of https://github.com/lua/lua
</subtitle>
<id>https://git.lua4.win/lua/atom?h=v5.5.1</id>
<link rel='self' href='https://git.lua4.win/lua/atom?h=v5.5.1'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/'/>
<updated>2026-05-28T18:10:17+00:00</updated>
<entry>
<title>Cleaning 'luaP_isIT' and 'luaP_isOT'</title>
<updated>2026-05-28T18:10:17+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2026-05-28T18:10:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=0465c23b3ee214ea3a117ab9d69a83cf85e7a82f'/>
<id>urn:sha1:0465c23b3ee214ea3a117ab9d69a83cf85e7a82f</id>
<content type='text'>
- 'luaP_isOT' is only used for tests, so it is defined as a macro to avoid
wasting space with an unused function.
- 'luaP_isIT' must include OP_VARARGPREP.
</content>
</entry>
<entry>
<title>Functions with vararg tables don't need hidden args.</title>
<updated>2025-11-28T18:12:51+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-11-28T18:12:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=a07f6a824197d7dc01c321599d3bc71936a2590e'/>
<id>urn:sha1:a07f6a824197d7dc01c321599d3bc71936a2590e</id>
<content type='text'>
Vararg functions with vararg tables don't use the arguments hidden in
the stack; therfore, it doesn't need to build/keep them.
</content>
</entry>
<entry>
<title>New conceptual model for vararg</title>
<updated>2025-11-26T14:18:29+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-11-26T14:18:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=f33cc4ddec886ea499d7d41dd60cac5ddc5687db'/>
<id>urn:sha1:f33cc4ddec886ea499d7d41dd60cac5ddc5687db</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Details</title>
<updated>2025-11-24T14:39:46+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-11-24T14:39:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=d94f7ba3040eb06895d7305014e88157d3bfd1a1'/>
<id>urn:sha1:d94f7ba3040eb06895d7305014e88157d3bfd1a1</id>
<content type='text'>
Comments, capitalization in the manual, globals in test 'heady.lua'
</content>
</entry>
<entry>
<title>Global initialization checks name conflict</title>
<updated>2025-11-08T14:43:42+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-11-08T14:43:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=e44f3a2ffc7ced5e75cca7657aaa60ef27da89aa'/>
<id>urn:sha1:e44f3a2ffc7ced5e75cca7657aaa60ef27da89aa</id>
<content type='text'>
Initialization "global a = 10" raises an error if global 'a' is already
defined, that is, it has a non-nil value.
</content>
</entry>
<entry>
<title>Optimization for vararg tables</title>
<updated>2025-09-24T21:33:08+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-09-24T21:33:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=25c54fe60e22d05cdfaa48c64372d354efa59547'/>
<id>urn:sha1:25c54fe60e22d05cdfaa48c64372d354efa59547</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Vararg table</title>
<updated>2025-09-16T16:26:24+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-09-16T16:26:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=140b672e2ee2ac842661ece4b48e1a64f0cd11ea'/>
<id>urn:sha1:140b672e2ee2ac842661ece4b48e1a64f0cd11ea</id>
<content type='text'>
Not yet optimized nor documented.
</content>
</entry>
<entry>
<title>Keep the order left-right in shifts</title>
<updated>2025-08-20T17:31:07+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-08-20T17:31:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=88aa4049ad3e638571bfffcf5fd8b6a8e07c6aaf'/>
<id>urn:sha1:88aa4049ad3e638571bfffcf5fd8b6a8e07c6aaf</id>
<content type='text'>
Opcodes OP_SHLI-OP_SHRI and the cases for opcodes OP_SHL-OP_SHR were
out of order.
</content>
</entry>
<entry>
<title>Bug: check for constructor overflow in [exp] fields</title>
<updated>2025-05-20T20:50:56+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-05-20T20:50:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=c15543b9afa31ab5dc564511ae11acd808405e8f'/>
<id>urn:sha1:c15543b9afa31ab5dc564511ae11acd808405e8f</id>
<content type='text'>
The check for constructor overflow was considering only fields with
explicit names, ignoring fields with syntax '[exp]=exp'.
</content>
</entry>
<entry>
<title>Janitorial work on casts</title>
<updated>2025-05-08T18:18:57+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-05-08T18:18:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=7ade1557627cf3f09c23c892ee227b7386f28414'/>
<id>urn:sha1:7ade1557627cf3f09c23c892ee227b7386f28414</id>
<content type='text'>
</content>
</entry>
</feed>
