<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/lua-github.git/testes/nextvar.lua, branch v5.4.4</title>
<subtitle>github.com: lua/lua.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/'/>
<entry>
<title>Avoid overflows when incrementing parameters in C</title>
<updated>2021-09-22T16:10:39+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-09-22T16:10:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=deac067ed39a44c001599c0d15de09872496b2aa'/>
<id>deac067ed39a44c001599c0d15de09872496b2aa</id>
<content type='text'>
Any C function can receive maxinteger as an integer argument, and
therefore cannot increment it without some care (e.g., doing unsigned
arithmetic as the core does).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Any C function can receive maxinteger as an integer argument, and
therefore cannot increment it without some care (e.g., doing unsigned
arithmetic as the core does).
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow yields inside '__pairs'</title>
<updated>2021-03-29T15:57:32+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-03-29T15:57:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=bf10593a3a912cd3cac69569c7474e687c0d0cd8'/>
<id>bf10593a3a912cd3cac69569c7474e687c0d0cd8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed bug of keys removed from tables vs 'next'</title>
<updated>2020-10-14T18:46:58+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-10-14T18:46:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=52c86797608f1bf927be5bab1e9b97b7d35bdf2c'/>
<id>52c86797608f1bf927be5bab1e9b97b7d35bdf2c</id>
<content type='text'>
Fixed the bug that a key removed from a table might not be found
again by 'next'. (This is needed to allow keys to be removed during a
traversal.) This bug was introduced in commit 73ec04fc.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixed the bug that a key removed from a table might not be found
again by 'next'. (This is needed to allow keys to be removed during a
traversal.) This bug was introduced in commit 73ec04fc.
</pre>
</div>
</content>
</entry>
<entry>
<title>Better tests for gray lists</title>
<updated>2020-08-07T17:45:20+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-08-07T17:45:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=f13dc59416afa8fc93bb3d784d1a73e49e1b5b09'/>
<id>f13dc59416afa8fc93bb3d784d1a73e49e1b5b09</id>
<content type='text'>
Test uses an extra bit in 'marked' to mark all elements in gray lists
and then check against elements colored gray.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Test uses an extra bit in 'marked' to mark all elements in gray lists
and then check against elements colored gray.
</pre>
</div>
</content>
</entry>
<entry>
<title>Details</title>
<updated>2020-02-27T15:59:22+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-02-27T15:59:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=6eb53b752617fae9e1329bfe2cfecdcbb593c398'/>
<id>6eb53b752617fae9e1329bfe2cfecdcbb593c398</id>
<content type='text'>
Several details in code (e.g., moving a variable to the most inner
scope that encloses its uses), comments, parameter names, extra tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Several details in code (e.g., moving a variable to the most inner
scope that encloses its uses), comments, parameter names, extra tests.
</pre>
</div>
</content>
</entry>
<entry>
<title>Small corrections when setting 'L-&gt;top'</title>
<updated>2019-07-25T16:55:29+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-07-25T16:55:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=9a37dc0ce64c51fd57f5e658a5af8f3671a26b0a'/>
<id>9a37dc0ce64c51fd57f5e658a5af8f3671a26b0a</id>
<content type='text'>
- OP_NEWTABLE can use 'ra + 1' to set top (instead of ci-&gt;top);
- OP_CLOSE doesn't need to set top ('Protect' already does that);
- OP_TFORCALL must use 'ProtectNT', to preserve the top already set.
  (That was a small bug, because iterators could be called with
   extra parameters besides the state and the control variable.)
- Comments and an extra test for the bug in previous item.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- OP_NEWTABLE can use 'ra + 1' to set top (instead of ci-&gt;top);
- OP_CLOSE doesn't need to set top ('Protect' already does that);
- OP_TFORCALL must use 'ProtectNT', to preserve the top already set.
  (That was a small bug, because iterators could be called with
   extra parameters besides the state and the control variable.)
- Comments and an extra test for the bug in previous item.
</pre>
</div>
</content>
</entry>
<entry>
<title>Unification of size representation in OP_NEWTABLE and OP_SETLIST</title>
<updated>2019-07-15T17:59:35+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-07-15T17:59:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=758c1ef445ab27d89bace746111add04083a8e20'/>
<id>758c1ef445ab27d89bace746111add04083a8e20</id>
<content type='text'>
Opcodes OP_NEWTABLE and OP_SETLIST use the same representation to
store the size of the array part of a table. This new representation
can go up to 2^33 (8 + 25 bits).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Opcodes OP_NEWTABLE and OP_SETLIST use the same representation to
store the size of the array part of a table. This new representation
can go up to 2^33 (8 + 25 bits).
</pre>
</div>
</content>
</entry>
<entry>
<title>OP_NEWTABLE keeps exact size of arrays</title>
<updated>2019-07-12T19:13:50+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-07-12T19:13:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=1fb4d539254b67e7e35ed698250c66d1edff0e08'/>
<id>1fb4d539254b67e7e35ed698250c66d1edff0e08</id>
<content type='text'>
OP_NEWTABLE is followed by an OP_EXTRAARG, so that it can keep
the exact size of the array part of the table to be created.
(Functions 'luaO_int2fb'/'luaO_fb2int' were removed.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OP_NEWTABLE is followed by an OP_EXTRAARG, so that it can keep
the exact size of the array part of the table to be created.
(Functions 'luaO_int2fb'/'luaO_fb2int' were removed.)
</pre>
</div>
</content>
</entry>
<entry>
<title>Details in the implementation of the integer 'for' loop</title>
<updated>2019-03-21T19:01:55+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-03-21T19:01:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=682054920ddc434fd4a7f8cc78027dbb03f47f00'/>
<id>682054920ddc434fd4a7f8cc78027dbb03f47f00</id>
<content type='text'>
Changed some implementation details; in particular, it is back using
an internal variable to keep the index, with the control variable
being only a copy of that internal variable. (The direct use of
the control variable demands a check of its type for each access,
which offsets the gains from the use of a single variable.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Changed some implementation details; in particular, it is back using
an internal variable to keep the index, with the control variable
being only a copy of that internal variable. (The direct use of
the control variable demands a check of its type for each access,
which offsets the gains from the use of a single variable.)
</pre>
</div>
</content>
</entry>
<entry>
<title>New semantics for the integer 'for' loop</title>
<updated>2019-03-19T13:53:18+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-03-19T13:53:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=9b37a4695ebf50b37b5b4fb279ae948f23b5b6a0'/>
<id>9b37a4695ebf50b37b5b4fb279ae948f23b5b6a0</id>
<content type='text'>
The numerical 'for' loop over integers now uses a precomputed counter
to control its number of iteractions. This change eliminates several
weird cases caused by overflows (wrap-around) in the control variable.
(It also ensures that every integer loop halts.)

Also, the special opcodes for the usual case of step==1 were removed.
(The new code is already somewhat complex for the usual case,
but efficient.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The numerical 'for' loop over integers now uses a precomputed counter
to control its number of iteractions. This change eliminates several
weird cases caused by overflows (wrap-around) in the control variable.
(It also ensures that every integer loop halts.)

Also, the special opcodes for the usual case of step==1 were removed.
(The new code is already somewhat complex for the usual case,
but efficient.)
</pre>
</div>
</content>
</entry>
</feed>
