<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lua/testes/gc.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>2025-06-16T19:33:02+00:00</updated>
<entry>
<title>Bug: new metatable in weak table can fool the GC</title>
<updated>2025-06-16T19:33:02+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2025-06-16T19:33:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=1b0f943da7dfb25987456a77259edbeea0b94edc'/>
<id>urn:sha1:1b0f943da7dfb25987456a77259edbeea0b94edc</id>
<content type='text'>
All-weak tables are not being revisited after being visited during
propagation; if it gets a new metatable after that, the new metatable
may not be marked.
</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>Fix debug information about finalizers</title>
<updated>2021-12-14T15:50:05+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-12-14T15:50:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=066e0f93c4901e601d93e31fb700f8f66f95feb8'/>
<id>urn:sha1:066e0f93c4901e601d93e31fb700f8f66f95feb8</id>
<content type='text'>
The flag CIST_FIN does not mark a finalizer, but the function that was
running when the finalizer was called. (So, the function did not call
the finalizer, but it looks that way in the stack.)
</content>
</entry>
<entry>
<title>Bug: GC is not reentrant</title>
<updated>2021-12-13T13:41:17+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-12-13T13:41:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=0bfc572e51d9035a615ef6e9523f736c9ffa8e57'/>
<id>urn:sha1:0bfc572e51d9035a615ef6e9523f736c9ffa8e57</id>
<content type='text'>
As the GC is not reentrant, finalizers should not be able to invoke it.
</content>
</entry>
<entry>
<title>New control for reentrancy of emergency collections</title>
<updated>2021-02-26T14:41:02+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-02-26T14:41:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=1537d6680bb66dc2484e11815bc2cd0e31ca39cc'/>
<id>urn:sha1:1537d6680bb66dc2484e11815bc2cd0e31ca39cc</id>
<content type='text'>
Instead of assuming that shrinking a block may be an emergency
collection, use an explicit field ('gcstopem') to stop emergency
collections while GC is working.
</content>
</entry>
<entry>
<title>Avoid memory allocation in some functions from 'ltests.c'</title>
<updated>2020-07-04T19:40:18+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-07-04T19:40:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=bfcf06d91a87b7ffb8c83e290db0cb6176a167f8'/>
<id>urn:sha1:bfcf06d91a87b7ffb8c83e290db0cb6176a167f8</id>
<content type='text'>
To allow their use in memory tests, some functions in 'ltests.c'
should never allocate memory. To avoid this allocation, the
library registers the strings used for status codes, and keeps
the variable '_WARN' always defined (with false instead of nil).
</content>
</entry>
<entry>
<title>Comments (mosty typos)</title>
<updated>2019-12-30T14:45:08+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-12-30T14:45:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=bd1b87c5790c0c6fe23f76aa360e879922e1e738'/>
<id>urn:sha1:bd1b87c5790c0c6fe23f76aa360e879922e1e738</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Default for warnings changed to "off"</title>
<updated>2019-08-20T16:42:26+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-08-20T16:42:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=be78aeae4c429d7d68af3a3e1b0cf8e52fcff160'/>
<id>urn:sha1:be78aeae4c429d7d68af3a3e1b0cf8e52fcff160</id>
<content type='text'>
Warnings are mostly a tool to help developers (e.g., by showing hidden
error messages); regular users usually don't need to see them.
</content>
</entry>
<entry>
<title>Improvement in warn-mode '@store' (for testing)</title>
<updated>2019-08-18T20:29:46+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-08-18T20:29:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=9405472565cb4b0cb0c339d65babdef4d4cb7abd'/>
<id>urn:sha1:9405472565cb4b0cb0c339d65babdef4d4cb7abd</id>
<content type='text'>
When using warn-mode '@store', from the test library, the tests ensure
not only that the expected warnings were issued, but also that there was
no extra warnings.
</content>
</entry>
<entry>
<title>Added control messages to warnings</title>
<updated>2019-08-15T16:44:36+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-08-15T16:44:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=a1d8eb27431c02c4529be1efd92143ad65434f3a'/>
<id>urn:sha1:a1d8eb27431c02c4529be1efd92143ad65434f3a</id>
<content type='text'>
Added the concept of control messages to the warning system, plus the
implementation of the controls "@on"/"@off" to turn warnings on/off.
Moreover, the warning system in the test library adds some other
controls to ease the test of warnings.
</content>
</entry>
</feed>
