<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/lua-github.git/lapi.c, branch v5.4-beta</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>Undo change in the handling of 'L-&gt;top' (commit b80077b8f3)</title>
<updated>2019-08-29T15:52:37+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-08-29T15:52:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=72a094bda7d71050a91a88474d67d39aa2bc1c46'/>
<id>72a094bda7d71050a91a88474d67d39aa2bc1c46</id>
<content type='text'>
With MMBIN instructions, there are fewer opcodes that need to update
'L-&gt;top', so that change does not seem to pay for the increased
complexity.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With MMBIN instructions, there are fewer opcodes that need to update
'L-&gt;top', so that change does not seem to pay for the increased
complexity.
</pre>
</div>
</content>
</entry>
<entry>
<title>Change in the handling of 'L-&gt;top' when calling metamethods</title>
<updated>2019-07-26T17:59:39+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-07-26T17:59:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=b80077b8f3e27a94c6afa895b41a9f8b52c42e61'/>
<id>b80077b8f3e27a94c6afa895b41a9f8b52c42e61</id>
<content type='text'>
Instead of updating 'L-&gt;top' in every place that may call a
metamethod, the metamethod functions themselves (luaT_trybinTM and
luaT_callorderTM) correct the top. (When calling metamethods from
the C API, however, the callers must preserve 'L-&gt;top'.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of updating 'L-&gt;top' in every place that may call a
metamethod, the metamethod functions themselves (luaT_trybinTM and
luaT_callorderTM) correct the top. (When calling metamethods from
the C API, however, the callers must preserve 'L-&gt;top'.)
</pre>
</div>
</content>
</entry>
<entry>
<title>Calls 'luaF_close' in 'lua_settop' only when needed</title>
<updated>2019-07-17T18:22:11+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-07-17T18:22:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=9c28ed05c95cb6854d917ac3e3ed7be9ae109480'/>
<id>9c28ed05c95cb6854d917ac3e3ed7be9ae109480</id>
<content type='text'>
In 'lua_settop', avoid calling 'luaF_close' when increasing the stack
or when the function has no to-be-closed variables.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In 'lua_settop', avoid calling 'luaF_close' when increasing the stack
or when the function has no to-be-closed variables.
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid setting the stack top below upvalues to be closed</title>
<updated>2019-07-16T17:13:22+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-07-16T17:13:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=298f383ffcc30d0799fbca0293175f647fe6bccf'/>
<id>298f383ffcc30d0799fbca0293175f647fe6bccf</id>
<content type='text'>
When leaving a scope, the new stack top should be set only after
closing any upvalue, to avoid manipulating values in an "invalid"
part of the stack.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When leaving a scope, the new stack top should be set only after
closing any upvalue, to avoid manipulating values in an "invalid"
part of the stack.
</pre>
</div>
</content>
</entry>
<entry>
<title>Small optimizations in range checks</title>
<updated>2019-03-27T17:56:10+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-03-27T17:56:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=d12262068d689eacc452a459a021df0ad8f6d46c'/>
<id>d12262068d689eacc452a459a021df0ad8f6d46c</id>
<content type='text'>
Checks of the form '1 &lt;= x &amp;&amp; x &lt;= M' were rewritten in the form
'(unsigned)x - 1 &lt; (unsigned)M', which is usually more efficient.
(Other similar checks have similar translations.) Although
some compilers do these optimizations, that does not happen
for all compilers or all cases.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Checks of the form '1 &lt;= x &amp;&amp; x &lt;= M' were rewritten in the form
'(unsigned)x - 1 &lt; (unsigned)M', which is usually more efficient.
(Other similar checks have similar translations.) Although
some compilers do these optimizations, that does not happen
for all compilers or all cases.
</pre>
</div>
</content>
</entry>
<entry>
<title>Changes in the warning system</title>
<updated>2019-03-14T18:30:54+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-03-14T18:30:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=b56d4e570a60a8e84df8288c3122eb5bb5c20af6'/>
<id>b56d4e570a60a8e84df8288c3122eb5bb5c20af6</id>
<content type='text'>
- The warning functions get an extra parameter that tells whether
message is to be continued (instead of using end-of-lines as a signal).

- The user data for the warning function is a regular value, instead
of a writable slot inside the Lua state.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- The warning functions get an extra parameter that tells whether
message is to be continued (instead of using end-of-lines as a signal).

- The user data for the warning function is a regular value, instead
of a writable slot inside the Lua state.
</pre>
</div>
</content>
</entry>
<entry>
<title>Details</title>
<updated>2019-03-13T16:16:53+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-03-13T16:16:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=cf71a5ddc742692fad813f89f1c9ef53e1ffde0f'/>
<id>cf71a5ddc742692fad813f89f1c9ef53e1ffde0f</id>
<content type='text'>
Several small improvements (code style, warnings, comments, more tests),
in particular:

- 'lua_topointer' extended to handle strings
- raises an error in 'string.format("%10q")' ('%q' with modifiers)
- in the manual for 'string.format', the term "option" replaced by
  "conversion specifier" (the term used by the C standard)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Several small improvements (code style, warnings, comments, more tests),
in particular:

- 'lua_topointer' extended to handle strings
- raises an error in 'string.format("%10q")' ('%q' with modifiers)
- in the manual for 'string.format', the term "option" replaced by
  "conversion specifier" (the term used by the C standard)
</pre>
</div>
</content>
</entry>
<entry>
<title>After a "bad collections", avoid switching back back to generational</title>
<updated>2019-01-30T13:44:42+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-01-30T13:44:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=2c32bff60987d38a60a58d4f0123f3783da60a63'/>
<id>2c32bff60987d38a60a58d4f0123f3783da60a63</id>
<content type='text'>
After a major bad collection (one that collects too few objects),
next collection will be major again. In that case, avoid switching
back to generational mode (as it will have to switch again to
incremental to do next major collection).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After a major bad collection (one that collects too few objects),
next collection will be major again. In that case, avoid switching
back to generational mode (as it will have to switch again to
incremental to do next major collection).
</pre>
</div>
</content>
</entry>
<entry>
<title>No more LUA_ERRGCMM errors</title>
<updated>2019-01-01T14:14:56+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-01-01T14:14:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=c6f7181e910b6b2ff1346b5486a31be87b1da5af'/>
<id>c6f7181e910b6b2ff1346b5486a31be87b1da5af</id>
<content type='text'>
Errors in finalizers (__gc metamethods) are never propagated.
Instead, they generate a warning.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Errors in finalizers (__gc metamethods) are never propagated.
Instead, they generate a warning.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added a warning system to Lua</title>
<updated>2018-12-28T17:42:34+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-12-28T17:42:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=437a5b07d415e1a74160ddfd804017171d6cc5cb'/>
<id>437a5b07d415e1a74160ddfd804017171d6cc5cb</id>
<content type='text'>
The warning system is just a way for Lua to emit warnings, messages
to the programmer that do not interfere with the running program.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The warning system is just a way for Lua to emit warnings, messages
to the programmer that do not interfere with the running program.
</pre>
</div>
</content>
</entry>
</feed>
