Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Small improvements in the manual | Roberto Ierusalimschy | 2018-07-25 | 1 | -5/+7 |
| | |||||
* | File operations try an "emergency collection" when failing | Roberto Ierusalimschy | 2018-07-25 | 2 | -6/+65 |
| | | | | | | | | | If a file operation fails do to lack of resources (too many open files or not enough memory), it does a full garbage collection and tries the operation again. Lack of resources are "too many open files" (process wise and system wise) and "not enough memory". The code is full of '#if's because error codes are not part of the standard ISO C. | ||||
* | Comments about OLD0/OLD1 ages | Roberto Ierusalimschy | 2018-07-18 | 1 | -24/+30 |
| | | | | | Improved the comments in file 'lgc.c' explaining the roles of "ages" OLD0 and OLD1 in the generacional collector. | ||||
* | Fixed bug in generational collection of userdata | Roberto Ierusalimschy | 2018-07-13 | 4 | -15/+102 |
| | | | | | | | | | During generational collection, a userdatum must become gray and go to a gray list after being traversed (like tables), so that 'correctgraylist' can handle it to its next stage. This commit also added minimum tests for the generational collector, including one that would detect this bug. | ||||
* | Avoid using 'int' for UTF-8 values | Roberto Ierusalimschy | 2018-07-12 | 1 | -11/+22 |
| | | | | | | An 'int' may have only 16 bits, so it may not be big enough for UTF-8 values. The new type 'utfint' (in the utf8 library) ensures at least 21 bits for those values. | ||||
* | Bug: wrong 'nCcalls' when resuming a coroutine | Roberto Ierusalimschy | 2018-07-11 | 2 | -5/+24 |
| | | | | | | | | The counter 'nCcalls' now includes the number of CallInfo structures pre-allocated (so that these "potential" C calls can be made without checking 'nCcalls'). So, when copying this value from a thread to another, in 'lua_resume', it must be corrected to the number of CallInfo structures in the thread being resumed. | ||||
* | Added definition for LUA_VERSION_RELEASE_NUM | Roberto Ierusalimschy | 2018-07-11 | 1 | -1/+3 |
| | | | | | LUA_VERSION_RELEASE_NUM is set to the release number of the Lua interpreter (e.g., 5.4.0 becomes the integer 50400). | ||||
* | Fixed bug in line info. when using 'not' operator | Roberto Ierusalimschy | 2018-07-11 | 3 | -26/+93 |
| | | | | | | | | | When creating code for a jump on a 'not' condition, the code generator was removing an instruction (the OP_NOT) without adjusting its corresponding line information. This fix also added tests for this case and extra functionality in the test library to debug line info. structures. | ||||
* | In tests of opcodes, avoid coercion in bitwise operation | Roberto Ierusalimschy | 2018-07-10 | 1 | -1/+1 |
| | |||||
* | Improvements in the manual | Roberto Ierusalimschy | 2018-07-10 | 1 | -14/+17 |
| | | | | | | - More precise use of 'argument' x 'parameter'. - Clarification about what the lexer considers 'letter', 'space', and 'digit'. | ||||
* | Added missing $Id$ to file 'ljumptab.h' | Roberto Ierusalimschy | 2018-07-10 | 1 | -0/+7 |
| | |||||
* | Generational mode may wait longer after a major collection | Roberto Ierusalimschy | 2018-07-09 | 1 | -8/+25 |
| | | | | | | | | When Lua is building large long-duration structures, frequent small minor collections just waste time. Trying to avoid this, the collector will do a larger pause after a major collection when it does not collect enough garbage (which is a hint that memory is being used for long-lasting objects). | ||||
* | 'searchpath' creates less temporary strings | Roberto Ierusalimschy | 2018-07-09 | 1 | -18/+34 |
| | | | | | | | When creating error messages, package loaders may create dozens of temporary strings (one or more for each tried template). This change reduces the number of these strings, and avoid creating some of them if the search is successful. | ||||
* | Bit-library file removed from the project (as it was deprecated) | Roberto Ierusalimschy | 2018-07-09 | 1 | -7/+0 |
| | | | | | This commit only removed the file 'lbitlib.c' from the project; the makefile already was not using it. | ||||
* | Opcode names moved to a new header file | Roberto Ierusalimschy | 2018-07-09 | 4 | -94/+100 |
| | | | | | | | The array with the names of the opcodes was moved to a header file ('lopnames.h'), as it is not used by the Lua kernel. Files that need that array ('luac.c' and 'ltests.c') include the header file to get a private (static) copy. | ||||
* | Fixed bug in OP_IDIVI | Roberto Ierusalimschy | 2018-07-09 | 2 | -3/+14 |
| | | | | | Opocode was using 'luai_numdiv' (float division) instead of 'luai_numidiv' (integer division). | ||||
* | Added manual and tests for version 5.4-w2 | Roberto Ierusalimschy | 2018-07-09 | 37 | -0/+22260 |
| | |||||
* | opening functions must be exported!v5.4-w2 | Roberto Ierusalimschy | 2018-06-19 | 1 | -5/+3 |
| | |||||
* | several details | Roberto Ierusalimschy | 2018-06-18 | 1 | -11/+10 |
| | |||||
* | in generational mode, an emergency collection can turn any object black | Roberto Ierusalimschy | 2018-06-18 | 1 | -3/+3 |
| | | | | | | during any memory allocation + 'luaT_getvarargs' may reallocate the stack, and therefore the top must be correct. | ||||
* | in generational mode, an emergency collection can turn any object black | Roberto Ierusalimschy | 2018-06-18 | 1 | -2/+2 |
| | | | | during any memory allocation. | ||||
* | change in 'LUAI_DDEC' to allow variables to be static in 'onelua' | Roberto Ierusalimschy | 2018-06-18 | 4 | -13/+17 |
| | | | | + change in 'LUAMOD_API' as opening functions do not need to be global | ||||
* | no need to check whether libraries and host use the same kernel; | Roberto Ierusalimschy | 2018-06-18 | 6 | -23/+18 |
| | | | | Lua should work correctly with several copies of the kernel | ||||
* | new field 'nilvalue' in struct 'global_State' to avoid the use of | Roberto Ierusalimschy | 2018-06-15 | 5 | -22/+17 |
| | | | | addresses of static variables | ||||
* | removed unused macros 'isstackindex'/'api_checkstackindex' + | Roberto Ierusalimschy | 2018-06-15 | 1 | -10/+2 |
| | | | | macro 'api_checkvalidindex' (used only once) expanded and removed | ||||
* | detail (removed unused definition for 'LUA_QS') | Roberto Ierusalimschy | 2018-06-15 | 1 | -10/+2 |
| | |||||
* | warning (comparison between signed and unsigned integers) | Roberto Ierusalimschy | 2018-06-15 | 1 | -2/+3 |
| | |||||
* | field 'sizearray' in struct 'Table' changed to 'alimit', which can | Roberto Ierusalimschy | 2018-06-15 | 7 | -54/+201 |
| | | | | be used as a hint for '#t' | ||||
* | new macro 'ispow2' | Roberto Ierusalimschy | 2018-06-15 | 1 | -1/+7 |
| | |||||
* | type 'Rand64' may not be long long, so it should not use 'LL' in its | Roberto Ierusalimschy | 2018-06-14 | 1 | -4/+5 |
| | | | | constants | ||||
* | no more 'TESTGRAYBIT' (to free this bit for real uses) | Roberto Ierusalimschy | 2018-06-11 | 2 | -24/+8 |
| | |||||
* | detail in comment | Roberto Ierusalimschy | 2018-06-08 | 1 | -2/+2 |
| | |||||
* | added 'const' to 'Proto*' when possible | Roberto Ierusalimschy | 2018-06-08 | 4 | -23/+24 |
| | |||||
* | added patch for bug 5.3.4-7 | Roberto Ierusalimschy | 2018-06-08 | 1 | -2/+40 |
| | |||||
* | no more 'luaO_nilobject' to avoid comparison of global variable addresses | Roberto Ierusalimschy | 2018-06-01 | 5 | -20/+12 |
| | | | | (now uses static variables) | ||||
* | no more 'luaH_emptyobject' and comparisons of addresses of global variables | Roberto Ierusalimschy | 2018-06-01 | 5 | -30/+46 |
| | | | | | (instead, use a different kind of nil to signal the fake entry returned when a key is not found in a table) | ||||
* | avoid craches when loading tampered code with NULL as a string constant | Roberto Ierusalimschy | 2018-06-01 | 1 | -6/+20 |
| | |||||
* | new macros 'likely'/'unlikely' with hints for jump predictions | Roberto Ierusalimschy | 2018-05-30 | 6 | -48/+78 |
| | | | | (used only in errors for now) | ||||
* | macro 'luai_makeseed' now controls the whole process of making the seed | Roberto Ierusalimschy | 2018-05-29 | 1 | -17/+17 |
| | |||||
* | detail ('l_castU2S' should only be used over lua_Unsigned values) | Roberto Ierusalimschy | 2018-05-29 | 1 | -2/+2 |
| | |||||
* | avoid possible overflows when checking sizes in 'string.unpack' | Roberto Ierusalimschy | 2018-05-25 | 1 | -11/+8 |
| | |||||
* | added patches for two bugs (5.3.4-2 and 5.3.4-3) | Roberto Ierusalimschy | 2018-05-24 | 1 | -2/+51 |
| | |||||
* | avoid circular inclusion between ltm.h <-> lstate.h | Roberto Ierusalimschy | 2018-05-23 | 1 | -2/+1 |
| | |||||
* | in 'luaD_poscall', there is no need to compute 'firstResult' when 'nres==0' | Roberto Ierusalimschy | 2018-05-22 | 3 | -51/+48 |
| | |||||
* | using some weak "randomness" (time and memory address) to initialize | Roberto Ierusalimschy | 2018-05-16 | 1 | -10/+21 |
| | | | | seeds for the PRNG | ||||
* | correction on xoshiro256** algorithm | Roberto Ierusalimschy | 2018-05-09 | 1 | -3/+3 |
| | | | | (should use state[1] instead of state[0] for output) | ||||
* | reorganization of '#if's for sellecting a type for 'Rand64' + | Roberto Ierusalimschy | 2018-05-04 | 2 | -32/+61 |
| | | | | comments | ||||
* | minimizing the code ran by 'vmfetch' + no more 'vra' | Roberto Ierusalimschy | 2018-05-02 | 3 | -125/+128 |
| | | | | (the code is simpler without 'vra' and conversion is a no-op) | ||||
* | 'luaO_pushvfstring' does not need to reallocate stack | Roberto Ierusalimschy | 2018-04-25 | 1 | -10/+12 |
| | | | | (less error cases in the API) | ||||
* | no need to define 'luaP_opnames' in regular builds | Roberto Ierusalimschy | 2018-04-19 | 2 | -2/+10 |
| |