<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lua/lvm.c, 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-07-22T16:43:40+00:00</updated>
<entry>
<title>Details</title>
<updated>2026-07-22T16:43:40+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2026-07-22T16:43:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=d5bbe955840c5c83e37ed19df4d392d7ba0970ed'/>
<id>urn:sha1:d5bbe955840c5c83e37ed19df4d392d7ba0970ed</id>
<content type='text'>
- Some api_checknelems changed to the more restrict api_checkpop.
- Added a class to the html for APIs in the manual.
- Comments and manual.
</content>
</entry>
<entry>
<title>Bug: Issues with write barrier for __newindex</title>
<updated>2026-07-12T17:57:55+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2026-07-12T17:57:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=b996f8fd1be7fb711cc6f754a31a1c87d2c2fd9b'/>
<id>urn:sha1:b996f8fd1be7fb711cc6f754a31a1c87d2c2fd9b</id>
<content type='text'>
In 'luaV_finishset', there is an update on a table that is a field on
another table. If the first table is the same as the one with the field
(e.g., after 't.__newindex = t'), the update can change the value on
that field (e.g., there may be a collision and the field is moved, or
the field being updated is '__newindex' itself). After that, the
barrier is called with the table stored in that field, which is not
the correct table anymore.
</content>
</entry>
<entry>
<title>new macro 'setnilvalue2s'</title>
<updated>2026-04-23T21:00:23+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2026-04-23T21:00:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=ae23e726018bd31a25c1279600328d90207ec81c'/>
<id>urn:sha1:ae23e726018bd31a25c1279600328d90207ec81c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Adjustment in useless parameter L in macros luai_num*</title>
<updated>2026-03-15T18:14:14+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2026-03-15T18:14:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=51269bd783c9371252947b26cc865239dbb0153d'/>
<id>urn:sha1:51269bd783c9371252947b26cc865239dbb0153d</id>
<content type='text'>
</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>External strings are as good as internal ones</title>
<updated>2025-11-11T17:40:30+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-11-11T17:40:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=5b7d9987642f72d44223a8e5e79e013bb2b3d579'/>
<id>urn:sha1:5b7d9987642f72d44223a8e5e79e013bb2b3d579</id>
<content type='text'>
A '__mode' metafield and an "n" key both can be external strings.
</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>Details</title>
<updated>2025-10-31T17:48:55+00:00</updated>
<author>
<name>Roberto I</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-10-31T17:48:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=f791bb69061c15f73395c5a95958ac18af5ef764'/>
<id>urn:sha1:f791bb69061c15f73395c5a95958ac18af5ef764</id>
<content type='text'>
- New macro l_strcoll to ease changing 'strcoll' to something else.
- MAXINDEXRK==1 in 'ltests.h' is enough to run test 'code.lua'.
- Removed unused '#include' in 'lutf8lib.c'.
</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>
</feed>
