aboutsummaryrefslogtreecommitdiff
path: root/testes/files.lua (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-12-16Cleaner definition for macro 'ttisclosure'Roberto Ierusalimschy1-1/+2
2020-12-08Review of asserts in 'ltests.c'Roberto Ierusalimschy1-56/+70
The module 'ltests.c' must work correctly with asserts off, too.
2020-12-07Details (do not affect regular code)Roberto Ierusalimschy4-3/+31
* Avoids multiple definitions of 'lua_assert' in test file. * Smaller C-stack limit in test mode. * Note in the manual about the use of false * Extra test for constant reuse.
2020-12-04Changes in the API of 'luaH_set' and related functionsRoberto Ierusalimschy6-40/+58
Functions to set values in a table (luaH_set, luaH_newkey, etc.) receive the new value, instead of returning a slot where to put the value.
2020-12-03Added test cases for error messages about goto/labelRoberto Ierusalimschy1-0/+21
2020-12-03n Windows, 'popen' accepts "[rw][bt]?" as valid modesRoberto Ierusalimschy1-6/+12
Added the modifiers 'b' and 't' to valid modes for 'popen' in Windows.
2020-12-03Avoid "bad programming habits" in the reference systemRoberto Ierusalimschy1-6/+18
References were using both 0 indices and nils as values in arrays. Both do not fit in the concept of a sequence, which is the kind of use that guides all Lua optimizations.
2020-12-03'lua_assert' moved from 'lualib.h' to 'lauxlib.h'Roberto Ierusalimschy2-6/+12
The macro is useful also in 'lauxlib.c', which does not include 'lualib.h'. Also, the definition was corrected to be "on" when LUAI_ASSERT is defined.
2020-12-02DetailsRoberto Ierusalimschy5-32/+32
Names in the parser and other details that do not change actual code.
2020-11-26Changed access to global table in the registryRoberto Ierusalimschy2-14/+20
The global table is always in the array part of the registry; we can use this fact to make its access slightly more efficient.
2020-11-24Avoid using 'signal' when 'sigaction' is availableRoberto Ierusalimschy1-3/+23
The semantics of 'signal' varies a lot among different implementations; 'sigaction' ensures a more consistent behavior.
2020-11-13Optimization for 'n^2'v5.4.2Roberto Ierusalimschy1-1/+2
Squares are much more common than other exponentiations, and 'n*n' is much more efficient than 'pow'.
2020-11-11Compiler optimization back to '-O2'Roberto Ierusalimschy1-10/+0
Undo commit 6a10f03ff. Compiler performance is important, too.
2020-11-11Removed optimization for «if ... then goto»Roberto Ierusalimschy2-66/+6
That optimization was too complex and caused some weird traces when debugging. The more common case «if ... then break» was kept.
2020-11-08Bug when growing a stackRoberto Ierusalimschy3-4/+4
When a stack grows, its extra area can be in use, and it becomes part of the common area. So, the extra area must be kept correct all the times. (Bug introduced by commit 5aa36e894f5.)
2020-11-03'luaL_newstate' should not allocate extra memoryRoberto Ierusalimschy3-26/+50
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.
2020-10-30DetailsRoberto Ierusalimschy4-18/+30
- small corrections in the manual - ldo.c: 'docall' -> 'ccall' ('docall' already used in 'lua.c') - comments
2020-10-26_PROMPT can have non-string valuesRoberto Ierusalimschy2-6/+37
'get_prompt' uses 'luaL_tolstring' to convert _PROMPT or _PROMPT2 value to a string. That conversion may invoke a '__tostring' metamethod.
2020-10-22CommentsRoberto Ierusalimschy3-26/+34
2020-10-19Fixed wrong trace of vararg functionsRoberto Ierusalimschy2-20/+35
Trace of vararg functions was skipping an instruction when returning from a call. (Bug introduced by commit 5d8ce05b3.)
2020-10-19Fixed compiler option -DHARDSTACKTESTS to commit 5aa36e8Roberto Ierusalimschy1-1/+1
2020-10-14Fixed bug of keys removed from tables vs 'next'Roberto Ierusalimschy4-27/+67
Fixed the bug that a key removed from a table might not be found again by 'next'. (This is needed to allow keys to be removed during a traversal.) This bug was introduced in commit 73ec04fc.
2020-10-12New release number (5.4.2)Roberto Ierusalimschy1-1/+1
2020-10-12'lua_upvalueid' returns NULL on invalid upvalue indexRoberto Ierusalimschy4-15/+33
2020-10-12Hash always use all characters in a long stringRoberto Ierusalimschy4-20/+6
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.
2020-10-12DetailsRoberto Ierusalimschy4-14/+45
- After converting a generic GCObject to a specific type ('gco2*'), avoid using the original GCObject (to reduce aliasing). - Small corrections in comments in 'lopcodes.h' - Added tests about who calls __close metamethods
2020-10-12'recover' finish of 'luaD_pcall' should follow the originalRoberto Ierusalimschy2-7/+25
2020-10-12No more field 'lua_State.stacksize'Roberto Ierusalimschy6-26/+29
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.
2020-10-12Avoid shrinking stacks to oftenRoberto Ierusalimschy2-17/+87
Shrink a stack only when the final stack size can be at most 2/3 the previous size with half of its entries empty. This commit also improves the clarity of 'luaD_growstack'.
2020-10-12No need for 'volatile' in string.pack/unpackRoberto Ierusalimschy1-10/+7
Type punning an address to 'char *' should be always safe.
2020-10-12Avoid GCs when testing stack overflowRoberto Ierusalimschy1-6/+14
A GC step may invoke some finalizer, which may error and emit a warning due to stack overflfow.
2020-10-12Correct handling of 'luaV_execute' invocationsRoberto Ierusalimschy5-32/+37
The previous stackless implementations marked all 'luaV_execute' invocations as fresh. However, re-entering 'luaV_execute' when resuming a coroutine should not be a fresh invocation. (It works because 'unroll' called 'luaV_execute' for each call entry, but it was slower than letting 'luaV_execute' finish all non-fresh invocations.)
2020-10-12Revision of stackless implementationRoberto Ierusalimschy12-283/+127
- more organized handling of 'nCcalls' - comments - deprecation of 'setcstacklimit'
2020-10-12Back to a stackless implementationRoberto Ierusalimschy11-95/+72
A "with stack" implementation gains too little in performance to be worth all the noise from C-stack overflows. This commit is almost a sketch, to test performance. There are several pending stuff: - review control of C-stack overflow and error messages; - what to do with setcstacklimit; - review comments; - review unroll of Lua calls.
2020-09-30Wrong cast in 'str_unpack'Roberto Ierusalimschy1-1/+1