aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Bug: wrong 'nCcalls' when resuming a coroutineRoberto Ierusalimschy2018-07-112-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_NUMRoberto Ierusalimschy2018-07-111-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' operatorRoberto Ierusalimschy2018-07-113-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 operationRoberto Ierusalimschy2018-07-101-1/+1
|
* Improvements in the manualRoberto Ierusalimschy2018-07-101-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 Ierusalimschy2018-07-101-0/+7
|
* Generational mode may wait longer after a major collectionRoberto Ierusalimschy2018-07-091-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 stringsRoberto Ierusalimschy2018-07-091-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 Ierusalimschy2018-07-091-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 fileRoberto Ierusalimschy2018-07-094-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_IDIVIRoberto Ierusalimschy2018-07-092-3/+14
| | | | | Opocode was using 'luai_numdiv' (float division) instead of 'luai_numidiv' (integer division).
* Added manual and tests for version 5.4-w2Roberto Ierusalimschy2018-07-0937-0/+22260
|
* opening functions must be exported!v5.4-w2Roberto Ierusalimschy2018-06-191-5/+3
|
* several detailsRoberto Ierusalimschy2018-06-181-11/+10
|
* in generational mode, an emergency collection can turn any object blackRoberto Ierusalimschy2018-06-181-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 blackRoberto Ierusalimschy2018-06-181-2/+2
| | | | during any memory allocation.
* change in 'LUAI_DDEC' to allow variables to be static in 'onelua'Roberto Ierusalimschy2018-06-184-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 Ierusalimschy2018-06-186-23/+18
| | | | Lua should work correctly with several copies of the kernel
* new field 'nilvalue' in struct 'global_State' to avoid the use ofRoberto Ierusalimschy2018-06-155-22/+17
| | | | addresses of static variables
* removed unused macros 'isstackindex'/'api_checkstackindex' +Roberto Ierusalimschy2018-06-151-10/+2
| | | | macro 'api_checkvalidindex' (used only once) expanded and removed
* detail (removed unused definition for 'LUA_QS')Roberto Ierusalimschy2018-06-151-10/+2
|
* warning (comparison between signed and unsigned integers)Roberto Ierusalimschy2018-06-151-2/+3
|
* field 'sizearray' in struct 'Table' changed to 'alimit', which canRoberto Ierusalimschy2018-06-157-54/+201
| | | | be used as a hint for '#t'
* new macro 'ispow2'Roberto Ierusalimschy2018-06-151-1/+7
|
* type 'Rand64' may not be long long, so it should not use 'LL' in itsRoberto Ierusalimschy2018-06-141-4/+5
| | | | constants
* no more 'TESTGRAYBIT' (to free this bit for real uses)Roberto Ierusalimschy2018-06-112-24/+8
|
* detail in commentRoberto Ierusalimschy2018-06-081-2/+2
|
* added 'const' to 'Proto*' when possibleRoberto Ierusalimschy2018-06-084-23/+24
|
* added patch for bug 5.3.4-7Roberto Ierusalimschy2018-06-081-2/+40
|
* no more 'luaO_nilobject' to avoid comparison of global variable addressesRoberto Ierusalimschy2018-06-015-20/+12
| | | | (now uses static variables)
* no more 'luaH_emptyobject' and comparisons of addresses of global variablesRoberto Ierusalimschy2018-06-015-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 constantRoberto Ierusalimschy2018-06-011-6/+20
|
* new macros 'likely'/'unlikely' with hints for jump predictionsRoberto Ierusalimschy2018-05-306-48/+78
| | | | (used only in errors for now)
* macro 'luai_makeseed' now controls the whole process of making the seedRoberto Ierusalimschy2018-05-291-17/+17
|
* detail ('l_castU2S' should only be used over lua_Unsigned values)Roberto Ierusalimschy2018-05-291-2/+2
|
* avoid possible overflows when checking sizes in 'string.unpack'Roberto Ierusalimschy2018-05-251-11/+8
|
* added patches for two bugs (5.3.4-2 and 5.3.4-3)Roberto Ierusalimschy2018-05-241-2/+51
|
* avoid circular inclusion between ltm.h <-> lstate.hRoberto Ierusalimschy2018-05-231-2/+1
|
* in 'luaD_poscall', there is no need to compute 'firstResult' when 'nres==0'Roberto Ierusalimschy2018-05-223-51/+48
|
* using some weak "randomness" (time and memory address) to initializeRoberto Ierusalimschy2018-05-161-10/+21
| | | | seeds for the PRNG
* correction on xoshiro256** algorithmRoberto Ierusalimschy2018-05-091-3/+3
| | | | (should use state[1] instead of state[0] for output)
* reorganization of '#if's for sellecting a type for 'Rand64' +Roberto Ierusalimschy2018-05-042-32/+61
| | | | comments
* minimizing the code ran by 'vmfetch' + no more 'vra'Roberto Ierusalimschy2018-05-023-125/+128
| | | | (the code is simpler without 'vra' and conversion is a no-op)
* 'luaO_pushvfstring' does not need to reallocate stackRoberto Ierusalimschy2018-04-251-10/+12
| | | | (less error cases in the API)
* no need to define 'luaP_opnames' in regular buildsRoberto Ierusalimschy2018-04-192-2/+10
|
* use test mode to test the interpreter without jump tablesRoberto Ierusalimschy2018-04-111-1/+5
|
* detail (trim constants are unsigned)Roberto Ierusalimschy2018-04-061-3/+3
|
* PRNG changed from 'xoroshiro128+' to 'xoshiro256**' + "I' renamed 'Rand64'Roberto Ierusalimschy2018-04-061-73/+109
| | | | + implementation can use integer types larger than 64 (or 32) bits
* using 'xoroshiro128+' for PRNGRoberto Ierusalimschy2018-04-041-87/+88
| | | | (plus a rotate at the final result to have better lower bits)
* no more nil-in-tableRoberto Ierusalimschy2018-04-0416-172/+23
|