<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lua/lfunc.h, 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>2022-10-29T15:06:37+00:00</updated>
<entry>
<title>Stack indices changed to union's</title>
<updated>2022-10-29T15:06:37+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2022-10-29T15:06:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=413a393e6222482f46599e138bebac162610a572'/>
<id>urn:sha1:413a393e6222482f46599e138bebac162610a572</id>
<content type='text'>
That will allow to change pointers to offsets while reallocating
the stack.
</content>
</entry>
<entry>
<title>Bug: 'lua_settop' may use an invalid pointer to stack</title>
<updated>2022-05-25T20:41:39+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2022-05-25T20:41:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=196bb94d66e727e0aec053a0276c3ad701500762'/>
<id>urn:sha1:196bb94d66e727e0aec053a0276c3ad701500762</id>
<content type='text'>
</content>
</entry>
<entry>
<title>New implementation for to-be-closed variables</title>
<updated>2021-02-09T17:00:05+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-02-09T17:00:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=4e47f81188d37e29027158b76271d02a781242e2'/>
<id>urn:sha1:4e47f81188d37e29027158b76271d02a781242e2</id>
<content type='text'>
To-be-closed variables are linked in their own list, embedded into the
stack elements. (Due to alignment, this information does not change
the size of the stack elements in most architectures.)  This new list
does not produce garbage and avoids memory errors when creating tbc
variables.
</content>
</entry>
<entry>
<title>Allow yields inside '__close' metamethods</title>
<updated>2021-01-13T16:54:10+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-01-13T16:54:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=b07fc10e91a5954254b47280aba287220c734a4b'/>
<id>urn:sha1:b07fc10e91a5954254b47280aba287220c734a4b</id>
<content type='text'>
Initial implementation to allow yields inside '__close' metamethods.
This current version still does not allow a '__close' metamethod
to yield when called due to an error. '__close' metamethods from
C functions also are not allowed to yield.
</content>
</entry>
<entry>
<title>Cleaner handling of errors in '__close' metamethods</title>
<updated>2020-12-28T14:40:30+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-12-28T14:40:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=7af27ef59da4051914d93d8b63efac663b64765a'/>
<id>urn:sha1:7af27ef59da4051914d93d8b63efac663b64765a</id>
<content type='text'>
Instead of protecting each individual metamethod call, protect the
entire call to 'luaF_close'.
</content>
</entry>
<entry>
<title>Details</title>
<updated>2019-11-18T17:54:06+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-11-18T17:54:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=5f83fb658206d195e54d3574b989ce5285a5b18f'/>
<id>urn:sha1:5f83fb658206d195e54d3574b989ce5285a5b18f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Do not collect open upvalues</title>
<updated>2019-07-22T12:41:10+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-07-22T12:41:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=9e6807c3c9d5036e999f636f936df07b72284442'/>
<id>urn:sha1:9e6807c3c9d5036e999f636f936df07b72284442</id>
<content type='text'>
Open upvalues are kept alive together with their corresponding
stack. This change makes a simpler and safer fix to the issue in
commit 440a5ee78c8, about upvalues in the list of open upvalues
being collected while others are being created. (That previous fix
may not be correct.)
</content>
</entry>
<entry>
<title>Fixed bug for emergency collection in upvalue creation</title>
<updated>2019-07-19T15:13:00+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-07-19T15:13:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=440a5ee78c8592230780310c9c8d8c2ba1700cb1'/>
<id>urn:sha1:440a5ee78c8592230780310c9c8d8c2ba1700cb1</id>
<content type='text'>
When creating an upvalue, an emergency collection can collect the
previous upvalue where the new one would be linked. The following
code can trigger the bug, using valgrind on Lua compiled with the
-DHARDMEMTESTS option:

  local x; local y
  (function () return y end)();
  (function () return x end)()
</content>
</entry>
<entry>
<title>New functions 'lua_resetthread' and 'coroutine.kill'</title>
<updated>2018-12-13T15:07:53+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-12-13T15:07:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=fdc25a1ebfe9968dcec390dd556375105aa0be40'/>
<id>urn:sha1:fdc25a1ebfe9968dcec390dd556375105aa0be40</id>
<content type='text'>
New functions to reset/kill a thread/coroutine, mainly (only?) to
close any pending to-be-closed variable. ('lua_resetthread' also
allows a thread to be reused...)
</content>
</entry>
<entry>
<title>Handling of memory errors when creating to-be-closed upvalues</title>
<updated>2018-10-18T19:15:09+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-10-18T19:15:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=3c7dc52909ce0688bdb20cacaf686413a79aaf48'/>
<id>urn:sha1:3c7dc52909ce0688bdb20cacaf686413a79aaf48</id>
<content type='text'>
</content>
</entry>
</feed>
