<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lua/testes/closure.lua, branch v5.4.9</title>
<subtitle>A mirror of https://github.com/lua/lua
</subtitle>
<id>https://git.lua4.win/lua/atom?h=v5.4.9</id>
<link rel='self' href='https://git.lua4.win/lua/atom?h=v5.4.9'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/'/>
<updated>2024-08-17T15:37:04+00:00</updated>
<entry>
<title>Bug: wrong code gen. for indices with comparisons</title>
<updated>2024-08-17T15:37:04+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2024-08-17T15:37:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=782ef85b22f89d1cd1ab083202f018668d26e4b0'/>
<id>urn:sha1:782ef85b22f89d1cd1ab083202f018668d26e4b0</id>
<content type='text'>
In function 'luaK_exp2val', used to generate code for indices: Macro
'hasjumps' does not consider the case when the whole expression is a
"jump" (a test). In all other of its uses, the surrounding code ensures
that the expression cannot be VJMP.
</content>
</entry>
<entry>
<title>Avoid excessive name pollution in test files</title>
<updated>2022-12-28T21:34:11+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2022-12-28T21:34:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=314745ed8438d1276c6c928d5f9d4be018dfadb6'/>
<id>urn:sha1:314745ed8438d1276c6c928d5f9d4be018dfadb6</id>
<content type='text'>
Test files are more polite regarding the use of globals when locals
would do, and when globals are necessary deleting them after use.
</content>
</entry>
<entry>
<title>'lua_upvalueid' returns NULL on invalid upvalue index</title>
<updated>2020-10-12T17:51:28+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-10-12T17:51:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=30528049f1d11ea2854a6431e8e8524f83206559'/>
<id>urn:sha1:30528049f1d11ea2854a6431e8e8524f83206559</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Removed internal cache for closures</title>
<updated>2018-11-01T16:21:00+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-11-01T16:21:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=e8c779736f3029df353038352c14c8ab63728811'/>
<id>urn:sha1:e8c779736f3029df353038352c14c8ab63728811</id>
<content type='text'>
The mechanism of "caching the last closure created for a prototype to
try to reuse it the next time a closure for that prototype is created"
was removed. There are several reasons:

- It is hard to find a natural example where this cache has a measurable
impact on performance.

- Programmers already perceive closure creation as something slow,
so they tend to avoid it inside hot paths. (Any case where the cache
could reuse a closure can be rewritten predefining the closure in some
variable and using that variable.)

- The implementation was somewhat complex, due to a bad interaction
with the generational collector. (Typically, new closures are new,
while prototypes are old. So, the cache breaks the invariant that
old objects should not point to new ones.)
</content>
</entry>
<entry>
<title>Added directory to test file names in '$Id:'</title>
<updated>2018-07-25T18:31:04+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-07-25T18:31:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=aa4c5cf190f77ab2730af5e21cfd2b830ff329df'/>
<id>urn:sha1:aa4c5cf190f77ab2730af5e21cfd2b830ff329df</id>
<content type='text'>
From the point of view of 'git', all names are relative to the root
directory of the project. So, file names in '$Id:' also should be
relative to that directory: the proper name for test file 'all.lua'
is 'testes/all.lua'.
</content>
</entry>
<entry>
<title>Added manual and tests for version 5.4-w2</title>
<updated>2018-07-09T15:33:01+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-07-09T15:33:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=7c519dfbd0c68b952f0849e01deaa3750e1f8153'/>
<id>urn:sha1:7c519dfbd0c68b952f0849e01deaa3750e1f8153</id>
<content type='text'>
</content>
</entry>
</feed>
