tree 30d361cbe23eb652f8874e580750ca65fcca5b52
parent dc07719b0dbc4f2df0f42e34e18be1e0ac4fa2c3
author Roberto Ierusalimschy <roberto@inf.puc-rio.br> 1563549180 -0300
committer Roberto Ierusalimschy <roberto@inf.puc-rio.br> 1563549180 -0300

Fixed bug for emergency collection in upvalue creation

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)()
