<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/lua-github.git/lcode.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>Fixed a warning and other minor issues</title>
<updated>2019-10-04T19:17:04+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-10-04T19:17:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=7bd1e53753de7176eb0b23f2bf19ad2235dec826'/>
<id>7bd1e53753de7176eb0b23f2bf19ad2235dec826</id>
<content type='text'>
Fixed some minor issues from the feedback for 5.4-beta rc1.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixed some minor issues from the feedback for 5.4-beta rc1.
</pre>
</div>
</content>
</entry>
<entry>
<title>Janitorial work</title>
<updated>2019-10-01T20:24:37+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-10-01T20:24:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=b2a580bdb1982e45bb37f95b78c2dafec6efa7a6'/>
<id>b2a580bdb1982e45bb37f95b78c2dafec6efa7a6</id>
<content type='text'>
- Several details in 'lcode.c'
- A few more tests for code generation
- Bug in assert in 'lcode.c' ("=" x "==")
- Comments in 'lopcodes.h' and 'ltable.c'
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Several details in 'lcode.c'
- A few more tests for code generation
- Bug in assert in 'lcode.c' ("=" x "==")
- Comments in 'lopcodes.h' and 'ltable.c'
</pre>
</div>
</content>
</entry>
<entry>
<title>Subtraction of small constant integers optimized with OP_ADDI</title>
<updated>2019-09-24T17:34:52+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-09-24T17:34:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=6ef366644f7c3c21cfb17434835edf4ebf970d6d'/>
<id>6ef366644f7c3c21cfb17434835edf4ebf970d6d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Janitorial work in 'lcode.c'</title>
<updated>2019-09-19T17:29:21+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-09-19T17:29:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=6b2e202df55f3d1f3c670eab65981db6e125c758'/>
<id>6b2e202df55f3d1f3c670eab65981db6e125c758</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplification in the call to 'constfolding'</title>
<updated>2019-09-11T13:20:10+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-09-11T13:20:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=40d8832ee05096f9aea8eb54d1cdccf2646aecd0'/>
<id>40d8832ee05096f9aea8eb54d1cdccf2646aecd0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed arithmetic opcodes with immediate operand</title>
<updated>2019-09-10T16:20:03+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-09-10T16:20:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=91dad09f65984048ae43c8894d18acb785c7092b'/>
<id>91dad09f65984048ae43c8894d18acb785c7092b</id>
<content type='text'>
The difference in performance between immediate operands and K operands
does not seem to justify all those extra opcodes. We only keep OP_ADDI,
due to its ubiquity and because the difference is a little more relevant.
(Later, OP_SUBI will be implemented by OP_ADDI, negating the constant.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The difference in performance between immediate operands and K operands
does not seem to justify all those extra opcodes. We only keep OP_ADDI,
due to its ubiquity and because the difference is a little more relevant.
(Later, OP_SUBI will be implemented by OP_ADDI, negating the constant.)
</pre>
</div>
</content>
</entry>
<entry>
<title>Use of 'MMBIN' opcodes extended to shift operators</title>
<updated>2019-08-28T12:58:03+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-08-28T12:58:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=46b84580d6d7890f4ba813f312e52514fffc38a7'/>
<id>46b84580d6d7890f4ba813f312e52514fffc38a7</id>
<content type='text'>
Plus, this commit removes useless 'tm' parameters in 'op_*' macros.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Plus, this commit removes useless 'tm' parameters in 'op_*' macros.
</pre>
</div>
</content>
</entry>
<entry>
<title>First version of OP_MMBIN opcodes</title>
<updated>2019-08-27T16:59:39+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-08-27T16:59:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=df13f259487459f3a28d31d76c890aa6c2d061e0'/>
<id>df13f259487459f3a28d31d76c890aa6c2d061e0</id>
<content type='text'>
In arithmetic/bitwise operators, the call to metamethods is made
in a separate opcode following the main one. (The main
opcode skips this next one when the operation succeeds.) This
change reduces slightly the size of the binary and the complexity
of the arithmetic/bitwise opcodes. It also simplfies the treatment
of errors and yeld/resume in these operations, as there are much
fewer cases to consider. (Only OP_MMBIN/OP_MMBINI/OP_MMBINK,
instead of all variants of all arithmetic/bitwise operators.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In arithmetic/bitwise operators, the call to metamethods is made
in a separate opcode following the main one. (The main
opcode skips this next one when the operation succeeds.) This
change reduces slightly the size of the binary and the complexity
of the arithmetic/bitwise opcodes. It also simplfies the treatment
of errors and yeld/resume in these operations, as there are much
fewer cases to consider. (Only OP_MMBIN/OP_MMBINI/OP_MMBINK,
instead of all variants of all arithmetic/bitwise operators.)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed small issue with constant propagation</title>
<updated>2019-07-17T17:50:42+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-07-17T17:50:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=8082906c059f2b1473de4363ca57fe19b52f281f'/>
<id>8082906c059f2b1473de4363ca57fe19b52f281f</id>
<content type='text'>
Constants directly assigned to other constants were not propagating:
For instance, in
  local &lt;const&gt; k1 = 10
  local &lt;const&gt; k2 = k1
'k2' were not treated as a compile-time constant.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Constants directly assigned to other constants were not propagating:
For instance, in
  local &lt;const&gt; k1 = 10
  local &lt;const&gt; k2 = k1
'k2' were not treated as a compile-time constant.
</pre>
</div>
</content>
</entry>
<entry>
<title>New kind of expression VKSTR</title>
<updated>2019-07-17T17:26:56+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-07-17T17:26:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=d6af81084df569bc8e3bd0949ad6fc0b40c8468d'/>
<id>d6af81084df569bc8e3bd0949ad6fc0b40c8468d</id>
<content type='text'>
String literal expressions have their own kind VKSTR, instead of the
generic VK. This allows strings to "cross" functions without entering
their constant tables (e.g., if they are used only by some nested
function).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
String literal expressions have their own kind VKSTR, instead of the
generic VK. This allows strings to "cross" functions without entering
their constant tables (e.g., if they are used only by some nested
function).
</pre>
</div>
</content>
</entry>
</feed>
