<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/lua-github.git/ltests.c, branch v5.4.2</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>'luaL_newstate' should not allocate extra memory</title>
<updated>2020-11-03T19:34:36+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-11-03T19:34:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=58216600eba27d472de33dbb89e2f3e629bf8a59'/>
<id>58216600eba27d472de33dbb89e2f3e629bf8a59</id>
<content type='text'>
The allocation of a userdata for the state of the warn system can
cause a panic if it fails; 'luaL_ref' also can fail. This commit
re-implements the warn system so that it does not need an explicit
state. Instead, the system uses different functions to represent
the different states.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The allocation of a userdata for the state of the warn system can
cause a panic if it fails; 'luaL_ref' also can fail. This commit
re-implements the warn system so that it does not need an explicit
state. Instead, the system uses different functions to represent
the different states.
</pre>
</div>
</content>
</entry>
<entry>
<title>Hash always use all characters in a long string</title>
<updated>2020-10-12T15:29:09+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-10-12T13:02:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=9a89fb1c9dfeda4640780111f9e9437f08cfad88'/>
<id>9a89fb1c9dfeda4640780111f9e9437f08cfad88</id>
<content type='text'>
Hashes for long strings are computed only when they are used as keys
in a table, not a too common case. And, in that case, it is to easy to
force collisions changing only the characters which are not part of the
hash.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Hashes for long strings are computed only when they are used as keys
in a table, not a too common case. And, in that case, it is to easy to
force collisions changing only the characters which are not part of the
hash.
</pre>
</div>
</content>
</entry>
<entry>
<title>No more field 'lua_State.stacksize'</title>
<updated>2020-10-12T15:29:09+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-10-06T18:50:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=5aa36e894f5a0348dfd19bd9cdcdd27ce8aa5f05'/>
<id>5aa36e894f5a0348dfd19bd9cdcdd27ce8aa5f05</id>
<content type='text'>
The stack size is derived from 'stack_last', when needed. Moreover,
the handling of stack sizes is more consistent, always excluding the
extra space except when allocating/deallocating the array.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The stack size is derived from 'stack_last', when needed. Moreover,
the handling of stack sizes is more consistent, always excluding the
extra space except when allocating/deallocating the array.
</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>Clearer handling of gray lists when entering generational mode</title>
<updated>2020-08-03T16:22:57+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-08-03T16:22:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=b9b554e0f68726b19274209ea6ce910b7e9f5fbf'/>
<id>b9b554e0f68726b19274209ea6ce910b7e9f5fbf</id>
<content type='text'>
When entering generational mode, all objects are old. So, the only
objects that need to be in a gray list are threads, which can be
assigned without barriers. Changes in anything else (e.g., weak
tables) will trigger barriers that, if needed, will add the object
to a gray list.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When entering generational mode, all objects are old. So, the only
objects that need to be in a gray list are threads, which can be
assigned without barriers. Changes in anything else (e.g., weak
tables) will trigger barriers that, if needed, will add the object
to a gray list.
</pre>
</div>
</content>
</entry>
<entry>
<title>Details</title>
<updated>2020-07-29T14:34:08+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-07-29T14:34:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=b4c353434f28f3e9d4c45e61d42b4fd07d76cad2'/>
<id>b4c353434f28f3e9d4c45e61d42b4fd07d76cad2</id>
<content type='text'>
The fields 'old' and 'finobjold' were renamed 'old1' and 'finobjold1',
respectively, to make clearer the main ages of their elements.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The fields 'old' and 'finobjold' were renamed 'old1' and 'finobjold1',
respectively, to make clearer the main ages of their elements.
</pre>
</div>
</content>
</entry>
<entry>
<title>Function 'printobj' in 'ltests.c' made public</title>
<updated>2020-07-27T14:24:03+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-07-27T14:24:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=8c7c9ea06502b8caa5224bf74c90a8885dbe0d42'/>
<id>8c7c9ea06502b8caa5224bf74c90a8885dbe0d42</id>
<content type='text'>
It helps to have this function available for debugging.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It helps to have this function available for debugging.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make sure that main thread is non yieldable</title>
<updated>2020-07-06T16:54:01+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-07-06T16:54:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=d39ea8b3ce684728c1ad5005192766d39d2e8baa'/>
<id>d39ea8b3ce684728c1ad5005192766d39d2e8baa</id>
<content type='text'>
Main thread must be non yieldable even at "level 0" (bare API), outside
the 'pcall' from 'lua.c'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Main thread must be non yieldable even at "level 0" (bare API), outside
the 'pcall' from 'lua.c'.
</pre>
</div>
</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='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=bfcf06d91a87b7ffb8c83e290db0cb6176a167f8'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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).
</pre>
</div>
</content>
</entry>
<entry>
<title>In 'lua_checkmemory', userdata can be gray, too</title>
<updated>2020-06-15T15:01:36+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-06-15T15:01:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=993c58fde3a85c27f52f094002ec57dabca81028'/>
<id>993c58fde3a85c27f52f094002ec57dabca81028</id>
<content type='text'>
Since commit ca6fe7449a74, userdata with uservalues can be gray
and can belong to gray lists ('gclist').
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since commit ca6fe7449a74, userdata with uservalues can be gray
and can belong to gray lists ('gclist').
</pre>
</div>
</content>
</entry>
</feed>
