Go to file
Roberto Ierusalimschy 440a5ee78c 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)()
2019-07-19 12:13:00 -03:00
manual 'math.randomseed()' returns the seeds it used 2019-07-17 16:00:24 -03:00
testes Details 2019-07-18 15:31:22 -03:00
all 'all' script automatically 'make's everything 2018-12-19 13:15:14 -02:00
bugs Bug: Long brackets with a huge number of '=' causes overflow 2018-12-14 13:12:01 -02:00
lapi.c Calls 'luaF_close' in 'lua_settop' only when needed 2019-07-17 15:22:11 -03:00
lapi.h To-be-closed variables in the C API 2018-10-25 15:30:15 -03:00
lauxlib.c Details (typos in comments) 2019-07-05 15:03:15 -03:00
lauxlib.h New function 'luaL_addgsub' 2019-04-24 14:41:41 -03:00
lbaselib.c Function 'warn' is vararg 2019-06-04 11:22:21 -03:00
lcode.c Fixed small issue with constant propagation 2019-07-17 14:50:42 -03:00
lcode.h New kind of expression VKSTR 2019-07-17 14:26:56 -03:00
lcorolib.c Multiple errors in '__toclose' report the first one 2019-06-05 13:16:25 -03:00
lctype.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lctype.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
ldblib.c New function 'setCstacklimit' 2019-06-18 16:52:22 -03:00
ldebug.c Details 2019-06-03 11:36:42 -03:00
ldebug.h A to-be-closed variable must have a closable value (or be nil) 2018-11-29 16:02:44 -02:00
ldo.c '__call' metamethod can be any callable object 2019-06-25 17:45:50 -03:00
ldo.h First "complete" implementation of to-be-closed variables 2018-10-17 10:44:42 -03:00
ldump.c First implementation of constant propagation 2019-07-12 11:38:42 -03:00
lfunc.c Fixed bug for emergency collection in upvalue creation 2019-07-19 12:13:00 -03:00
lfunc.h Fixed bug for emergency collection in upvalue creation 2019-07-19 12:13:00 -03:00
lgc.c Tag LUA_TUPVALTBC replaced by a flag 2019-07-19 11:12:31 -03:00
lgc.h Avoid the creation of too many strings in 'package' 2019-05-03 10:14:25 -03:00
linit.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
liolib.c Details (typos in comments) 2019-07-05 15:03:15 -03:00
ljumptab.h Keep correct type for immediate operands in comparisons 2019-03-22 13:37:17 -03:00
llex.c Details 2019-06-03 11:36:42 -03:00
llex.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
llimits.h A few changes in tests about number of bits in integers 2019-05-13 16:17:21 -03:00
lmathlib.c 'math.randomseed()' returns the seeds it used 2019-07-17 16:00:24 -03:00
lmem.c Some details in 'lmem.c' and 'lgc.c' 2019-07-19 09:43:35 -03:00
lmem.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
loadlib.c Details (typos in comments) 2019-07-05 15:03:15 -03:00
lobject.c OP_NEWTABLE keeps exact size of arrays 2019-07-12 16:13:50 -03:00
lobject.h Tag LUA_TUPVALTBC replaced by a flag 2019-07-19 11:12:31 -03:00
lopcodes.c Keep correct type for immediate operands in comparisons 2019-03-22 13:37:17 -03:00
lopcodes.h Micro optimization in OP_RETURN and OP_TAILCALL 2019-07-16 15:44:37 -03:00
lopnames.h Keep correct type for immediate operands in comparisons 2019-03-22 13:37:17 -03:00
loslib.c Removed resource-related "emergency collections" 2018-10-31 16:25:29 -03:00
lparser.c New kind of expression VKSTR 2019-07-17 14:26:56 -03:00
lparser.h New kind of expression VKSTR 2019-07-17 14:26:56 -03:00
lprefix.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lstate.c Small changes around C-stack limit 2019-06-26 13:26:36 -03:00
lstate.h Tag LUA_TUPVALTBC replaced by a flag 2019-07-19 11:12:31 -03:00
lstring.c Details 2019-06-03 11:36:42 -03:00
lstring.h Strings inside Lua are not fully aligned 2019-03-13 14:14:40 -03:00
lstrlib.c Avoid using large buffers in 'string.format' 2019-04-12 11:48:24 -03:00
ltable.c A few changes in tests about number of bits in integers 2019-05-13 16:17:21 -03:00
ltable.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
ltablib.c Details (typos in comments) 2019-07-05 15:03:15 -03:00
ltests.c Tag LUA_TUPVALTBC replaced by a flag 2019-07-19 11:12:31 -03:00
ltests.h Small changes around C-stack limit 2019-06-26 13:26:36 -03:00
ltm.c Details (typos in comments) 2019-07-05 15:03:15 -03:00
ltm.h Keep correct type for immediate operands in comparisons 2019-03-22 13:37:17 -03:00
lua.c Removed use of 'rl_inhibit_completion' in 'lua.c' 2018-08-16 14:38:05 -03:00
lua.h New function 'setCstacklimit' 2019-06-18 16:52:22 -03:00
luaconf.h Details (typos in comments) 2019-07-05 15:03:15 -03:00
lualib.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lundump.c First implementation of constant propagation 2019-07-12 11:38:42 -03:00
lundump.h Small changes in the header of binary files 2019-03-19 15:31:08 -03:00
lutf8lib.c A few changes in tests about number of bits in integers 2019-05-13 16:17:21 -03:00
lvm.c Fixed bug for emergency collection in upvalue creation 2019-07-19 12:13:00 -03:00
lvm.h New macros for arithmetic/bitwise operations in 'luaV_execute' 2018-11-05 16:10:42 -02:00
lzio.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lzio.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
makefile Detail in makefile 2019-06-05 13:21:16 -03:00
onelua.c Keep correct type for immediate operands in comparisons 2019-03-22 13:37:17 -03:00