aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Avoid excessive name pollution in test filesRoberto Ierusalimschy2022-12-2826-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/libsRoberto Ierusalimschy2022-12-231-5/+5
| | | | Everything depends on the Lua version (as given by 'lua.h')
* Small change in barrier macrosRoberto Ierusalimschy2022-12-151-8/+9
| | | | Reuse macros for objects when defining the macros for values.
* Small improvements in 'lmem.c'Roberto Ierusalimschy2022-12-151-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 filesRoberto Ierusalimschy2022-12-143-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 stoppedRoberto Ierusalimschy2022-12-091-3/+6
|
* DetailsRoberto Ierusalimschy2022-12-021-5/+5
| | | | Parentheses and comments.
* Stop GC while building initial stateRoberto Ierusalimschy2022-11-231-1/+3
|
* Removed unused field 'UpVal.tbc'Roberto Ierusalimschy2022-11-082-4/+2
|
* Threads are created like other objectsRoberto Ierusalimschy2022-11-013-12/+16
| | | | | Using a version of 'luaC_newobj' that allows offsets (extra space before the object itself).
* Stack reallocation done with a single reallocRoberto Ierusalimschy2022-10-312-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'sRoberto Ierusalimschy2022-10-2919-370/+384
| | | | | That will allow to change pointers to offsets while reallocating the stack.
* DetailsRoberto Ierusalimschy2022-10-261-2/+7
| | | | Added comments in the makefile about other useful '-fsanitize' options.
* Bug: stack overflow with nesting of coroutine.closeRoberto Ierusalimschy2022-10-256-6/+38
|
* Removed test function 'luaH_isdummy'Roberto Ierusalimschy2022-10-212-3/+0
| | | | It was not being used anywhere.
* Option '-l g=mod' added to the manualRoberto Ierusalimschy2022-10-191-11/+12
| | | | Plus some other improvements in the manual.
* DetailsRoberto Ierusalimschy2022-10-192-7/+7
| | | | Some cast operations rewritten to use respective macros.
* Portability issue in a test for 'string.format'Roberto Ierusalimschy2022-10-191-2/+7
|
* Negation in constant folding of '>>' may overflowRoberto Ierusalimschy2022-09-234-4/+19
|
* Small simplification in overflow check in 'getfield'Roberto Ierusalimschy2022-09-232-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 bytesRoberto Ierusalimschy2022-09-232-12/+27
|
* New test for table rehashRoberto Ierusalimschy2022-09-161-9/+29
|
* Note in the manual about using '...' as an expressionRoberto Ierusalimschy2022-09-081-5/+16
|
* Corrected error message in 'table.remove'Roberto Ierusalimschy2022-09-071-1/+1
|
* Changed the growth rate of string buffersRoberto Ierusalimschy2022-09-062-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' loopRoberto Ierusalimschy2022-08-242-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 Ierusalimschy2022-08-232-26/+56
|
* Bug: set correct pause when (re)entering gen. collection.Roberto Ierusalimschy2022-08-231-32/+31
|
* Better documentation for 'multires' expressionsRoberto Ierusalimschy2022-08-193-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_STACKRoberto Ierusalimschy2022-05-265-13/+47
|
* Bug: 'lua_settop' may use an invalid pointer to stackRoberto Ierusalimschy2022-05-255-12/+34
|
* 'luaV_concat' can use invalidated pointer to stackRoberto Ierusalimschy2022-05-231-3/+3
| | | | Bug introduced in commit 42d40581.
* 'lua_checkstack' doesn't need to check stack overflowRoberto Ierusalimschy2022-05-235-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 errorsRoberto Ierusalimschy2022-05-202-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 Ierusalimschy2022-05-102-3/+4
|
* Factoring out common parts of 'codearith' and 'codebitwise'Roberto Ierusalimschy2022-05-061-25/+33
|
* Bug: Wrong code generation in bitwise operationsRoberto Ierusalimschy2022-04-253-6/+42
|
* New release number (5.4.5)Roberto Ierusalimschy2022-04-071-2/+2
|
* DetailsRoberto Ierusalimschy2022-04-014-6/+17
| | | | | Comments + manual + identation + asserts about stack limits that were not allowing the use of the full stack
* Avoid computing invalid addressesRoberto Ierusalimschy2022-02-181-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 Ierusalimschy2022-02-152-0/+11
|
* Bug: lua.c assumes that argv has at least one elementRoberto Ierusalimschy2022-02-071-12/+23
|
* Explanation of borders in the manualv5.4.4Roberto Ierusalimschy2022-01-131-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.
* DetailRoberto Ierusalimschy2022-01-033-8/+8
| | | | Warnings with clang when using long double for Lua floats.
* New year (2022)Roberto Ierusalimschy2022-01-022-3/+3
|
* Bug: finalizer calling exit can corrupt finalization orderRoberto Ierusalimschy2021-12-223-5/+34
| | | | | 'os.exit' can call lua_close again, separating new finalizers created after all previous finalizers were already separated.
* DetailsRoberto Ierusalimschy2021-12-212-2/+2
| | | | correction in macro for hard tests + type in comment
* Bug: finalizers can be called with an invalid stackRoberto Ierusalimschy2021-12-151-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 finalizersRoberto Ierusalimschy2021-12-145-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 reentrantRoberto Ierusalimschy2021-12-139-27/+57
| | | | As the GC is not reentrant, finalizers should not be able to invoke it.