Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Avoid excessive name pollution in test files | Roberto Ierusalimschy | 2022-12-28 | 26 | -261/+335 | |
| | | | | | Test files are more polite regarding the use of globals when locals would do, and when globals are necessary deleting them after use. | |||||
* | Detail in make file for testes/libs | Roberto Ierusalimschy | 2022-12-23 | 1 | -5/+5 | |
| | | | | Everything depends on the Lua version (as given by 'lua.h') | |||||
* | Small change in barrier macros | Roberto Ierusalimschy | 2022-12-15 | 1 | -8/+9 | |
| | | | | Reuse macros for objects when defining the macros for values. | |||||
* | Small improvements in 'lmem.c' | Roberto Ierusalimschy | 2022-12-15 | 1 | -27/+41 | |
| | | | | | | Added some auxiliary macros + fixed a bug in compilation option EMERGENCYGCTESTS. (It should not try to force an emergency collection when it cannot run one.) | |||||
* | Details in some header files | Roberto Ierusalimschy | 2022-12-14 | 3 | -11/+21 | |
| | | | | | Identifier LUA_NUMTAGS was deprecated (changed to LUA_NUMTYPES) + better handling of some inclusion loops. | |||||
* | Reduce calls to 'luaC_step' when GC is stopped | Roberto Ierusalimschy | 2022-12-09 | 1 | -3/+6 | |
| | ||||||
* | Details | Roberto Ierusalimschy | 2022-12-02 | 1 | -5/+5 | |
| | | | | Parentheses and comments. | |||||
* | Stop GC while building initial state | Roberto Ierusalimschy | 2022-11-23 | 1 | -1/+3 | |
| | ||||||
* | Removed unused field 'UpVal.tbc' | Roberto Ierusalimschy | 2022-11-08 | 2 | -4/+2 | |
| | ||||||
* | Threads are created like other objects | Roberto Ierusalimschy | 2022-11-01 | 3 | -12/+16 | |
| | | | | | Using a version of 'luaC_newobj' that allows offsets (extra space before the object itself). | |||||
* | Stack reallocation done with a single realloc | Roberto Ierusalimschy | 2022-10-31 | 2 | -22/+52 | |
| | | | | | | | To avoid the need of both the old and the new stack addresses valid at the same time, to correct the pointers to the stack, these pointers are changed to offsets before the reallocation and then changed back to pointers after the reallocation. | |||||
* | Stack indices changed to union's | Roberto Ierusalimschy | 2022-10-29 | 19 | -370/+384 | |
| | | | | | That will allow to change pointers to offsets while reallocating the stack. | |||||
* | Details | Roberto Ierusalimschy | 2022-10-26 | 1 | -2/+7 | |
| | | | | Added comments in the makefile about other useful '-fsanitize' options. | |||||
* | Bug: stack overflow with nesting of coroutine.close | Roberto Ierusalimschy | 2022-10-25 | 6 | -6/+38 | |
| | ||||||
* | Removed test function 'luaH_isdummy' | Roberto Ierusalimschy | 2022-10-21 | 2 | -3/+0 | |
| | | | | It was not being used anywhere. | |||||
* | Option '-l g=mod' added to the manual | Roberto Ierusalimschy | 2022-10-19 | 1 | -11/+12 | |
| | | | | Plus some other improvements in the manual. | |||||
* | Details | Roberto Ierusalimschy | 2022-10-19 | 2 | -7/+7 | |
| | | | | Some cast operations rewritten to use respective macros. | |||||
* | Portability issue in a test for 'string.format' | Roberto Ierusalimschy | 2022-10-19 | 1 | -2/+7 | |
| | ||||||
* | Negation in constant folding of '>>' may overflow | Roberto Ierusalimschy | 2022-09-23 | 4 | -4/+19 | |
| | ||||||
* | Small simplification in overflow check in 'getfield' | Roberto Ierusalimschy | 2022-09-23 | 2 | -3/+10 | |
| | | | | | Subtracting a small non-negative int from a non-negative int cannot overflow, and adding a non-negative int to INT_MIN cannot overflow. | |||||
* | Bug: 'utf8.codes' accepts spurious continuation bytes | Roberto Ierusalimschy | 2022-09-23 | 2 | -12/+27 | |
| | ||||||
* | New test for table rehash | Roberto Ierusalimschy | 2022-09-16 | 1 | -9/+29 | |
| | ||||||
* | Note in the manual about using '...' as an expression | Roberto Ierusalimschy | 2022-09-08 | 1 | -5/+16 | |
| | ||||||
* | Corrected error message in 'table.remove' | Roberto Ierusalimschy | 2022-09-07 | 1 | -1/+1 | |
| | ||||||
* | Changed the growth rate of string buffers | Roberto Ierusalimschy | 2022-09-06 | 2 | -6/+7 | |
| | | | | | | | | The growth rate of string buffers was reduced from 2 to 1.5 (3/2). As string buffers start larger (256~1024 bytes), they don't need to grow that fast. Moreover, a lower rate allows multiplicative growth up to larger sizes (3/2 of the maximum). (After that, the growth becomes linear, which is mostly useless.) | |||||
* | Bug: 'break' may not properly close variable in a 'for' loop | Roberto Ierusalimschy | 2022-08-24 | 2 | -8/+28 | |
| | | | | | | | Function 'leaveblock' was generating "break" label before removing variables from the closing block. If 'createlabel' created a 'close' instruction (which it did when matching a goto/break that exited the scope of an upvalue), that instruction would use the wrong level. | |||||
* | Simpler handling of Byte Order Mark (BOM) | Roberto Ierusalimschy | 2022-08-23 | 2 | -26/+56 | |
| | ||||||
* | Bug: set correct pause when (re)entering gen. collection. | Roberto Ierusalimschy | 2022-08-23 | 1 | -32/+31 | |
| | ||||||
* | Better documentation for 'multires' expressions | Roberto Ierusalimschy | 2022-08-19 | 3 | -75/+120 | |
| | | | | | | Manual has a new section explaining multires expressions, lists of expressions, and adjustments. This commit also corrects some comments in the code. | |||||
* | More checks and documentation for uses of EXTRA_STACK | Roberto Ierusalimschy | 2022-05-26 | 5 | -13/+47 | |
| | ||||||
* | Bug: 'lua_settop' may use an invalid pointer to stack | Roberto Ierusalimschy | 2022-05-25 | 5 | -12/+34 | |
| | ||||||
* | 'luaV_concat' can use invalidated pointer to stack | Roberto Ierusalimschy | 2022-05-23 | 1 | -3/+3 | |
| | | | | Bug introduced in commit 42d40581. | |||||
* | 'lua_checkstack' doesn't need to check stack overflow | Roberto Ierusalimschy | 2022-05-23 | 5 | -26/+17 | |
| | | | | | | 'luaD_growstack' already checks that. This commit also fixes an internal bug in 'luaD_growstack': a large 'n' could cause an arithmetic overflow when computing 'needed'. | |||||
* | Save stack space while handling errors | Roberto Ierusalimschy | 2022-05-20 | 2 | -3/+8 | |
| | | | | | | | | | | Because error handling (luaG_errormsg) uses slots from EXTRA_STACK, and some errors can recur (e.g., string overflow while creating an error message in 'luaG_runerror', or a C-stack overflow before calling the message handler), the code should use stack slots with parsimony. This commit fixes the bug "Lua-stack overflow when C stack overflows while handling an error". | |||||
* | Details (identation and typos) | Roberto Ierusalimschy | 2022-05-10 | 2 | -3/+4 | |
| | ||||||
* | Factoring out common parts of 'codearith' and 'codebitwise' | Roberto Ierusalimschy | 2022-05-06 | 1 | -25/+33 | |
| | ||||||
* | Bug: Wrong code generation in bitwise operations | Roberto Ierusalimschy | 2022-04-25 | 3 | -6/+42 | |
| | ||||||
* | New release number (5.4.5) | Roberto Ierusalimschy | 2022-04-07 | 1 | -2/+2 | |
| | ||||||
* | Details | Roberto Ierusalimschy | 2022-04-01 | 4 | -6/+17 | |
| | | | | | Comments + manual + identation + asserts about stack limits that were not allowing the use of the full stack | |||||
* | Avoid computing invalid addresses | Roberto Ierusalimschy | 2022-02-18 | 1 | -32/+89 | |
| | | | | | | luaV_execute should compute 'ra' only when the instruction uses it. Computing an illegal address is undefined behavior even if the address is never dereferenced. | |||||
* | Bug: Lua can generate wrong code when _ENV is <const> | Roberto Ierusalimschy | 2022-02-15 | 2 | -0/+11 | |
| | ||||||
* | Bug: lua.c assumes that argv has at least one element | Roberto Ierusalimschy | 2022-02-07 | 1 | -12/+23 | |
| | ||||||
* | Explanation of borders in the manualv5.4.4 | Roberto Ierusalimschy | 2022-01-13 | 1 | -10/+12 | |
| | | | | | | The explanation includes the limit case of maxinteger being a border. It also avoids the term "natural", which might include large floats with natural values. | |||||
* | Detail | Roberto Ierusalimschy | 2022-01-03 | 3 | -8/+8 | |
| | | | | Warnings with clang when using long double for Lua floats. | |||||
* | New year (2022) | Roberto Ierusalimschy | 2022-01-02 | 2 | -3/+3 | |
| | ||||||
* | Bug: finalizer calling exit can corrupt finalization order | Roberto Ierusalimschy | 2021-12-22 | 3 | -5/+34 | |
| | | | | | 'os.exit' can call lua_close again, separating new finalizers created after all previous finalizers were already separated. | |||||
* | Details | Roberto Ierusalimschy | 2021-12-21 | 2 | -2/+2 | |
| | | | | correction in macro for hard tests + type in comment | |||||
* | Bug: finalizers can be called with an invalid stack | Roberto Ierusalimschy | 2021-12-15 | 1 | -1/+1 | |
| | | | | | The call to 'checkstackGC' can run finalizers, which will find an inconsistent CallInfo, as 'ci' is half updated at the point of call. | |||||
* | Fix debug information about finalizers | Roberto Ierusalimschy | 2021-12-14 | 5 | -27/+35 | |
| | | | | | | The flag CIST_FIN does not mark a finalizer, but the function that was running when the finalizer was called. (So, the function did not call the finalizer, but it looks that way in the stack.) | |||||
* | Bug: GC is not reentrant | Roberto Ierusalimschy | 2021-12-13 | 9 | -27/+57 | |
| | | | | As the GC is not reentrant, finalizers should not be able to invoke it. |