Roberto Ierusalimschy
941b189d98
Improvements in the manual
- More precise use of 'argument' x 'parameter'.
- Clarification about what the lexer considers 'letter', 'space',
and 'digit'.
6 years ago
Roberto Ierusalimschy
21f663d29f
Added missing $Id$ to file 'ljumptab.h'
6 years ago
Roberto Ierusalimschy
626cf0581b
Generational mode may wait longer after a major collection
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).
6 years ago
Roberto Ierusalimschy
ccf6d098f6
'searchpath' creates less temporary strings
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.
6 years ago
Roberto Ierusalimschy
de2caf7ee4
Bit-library file removed from the project (as it was deprecated)
This commit only removed the file 'lbitlib.c' from the project; the
makefile already was not using it.
6 years ago
Roberto Ierusalimschy
b08c9079c5
Opcode names moved to a new header file
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.
6 years ago
Roberto Ierusalimschy
06e08c6d05
Fixed bug in OP_IDIVI
Opocode was using 'luai_numdiv' (float division) instead of
'luai_numidiv' (integer division).
6 years ago
Roberto Ierusalimschy
7c519dfbd0
Added manual and tests for version 5.4-w2
6 years ago
Roberto Ierusalimschy
f59e6a93c0
opening functions must be exported!
6 years ago
Roberto Ierusalimschy
6683f83b51
several details
6 years ago
Roberto Ierusalimschy
a314409dba
in generational mode, an emergency collection can turn any object black
during any memory allocation +
'luaT_getvarargs' may reallocate the stack, and therefore the top must
be correct.
6 years ago
Roberto Ierusalimschy
15ce8d0904
in generational mode, an emergency collection can turn any object black
during any memory allocation.
6 years ago
Roberto Ierusalimschy
b43300c14f
change in 'LUAI_DDEC' to allow variables to be static in 'onelua'
+ change in 'LUAMOD_API' as opening functions do not need to be global
6 years ago
Roberto Ierusalimschy
af70905246
no need to check whether libraries and host use the same kernel;
Lua should work correctly with several copies of the kernel
6 years ago
Roberto Ierusalimschy
b95e466218
new field 'nilvalue' in struct 'global_State' to avoid the use of
addresses of static variables
6 years ago
Roberto Ierusalimschy
d406d3d05f
removed unused macros 'isstackindex'/'api_checkstackindex' +
macro 'api_checkvalidindex' (used only once) expanded and removed
6 years ago
Roberto Ierusalimschy
b6780ee41b
detail (removed unused definition for 'LUA_QS')
6 years ago
Roberto Ierusalimschy
2c107e13a8
warning (comparison between signed and unsigned integers)
6 years ago
Roberto Ierusalimschy
6e600695f8
field 'sizearray' in struct 'Table' changed to 'alimit', which can
be used as a hint for '#t'
6 years ago
Roberto Ierusalimschy
06127927ff
new macro 'ispow2'
6 years ago
Roberto Ierusalimschy
aedcfb9414
type 'Rand64' may not be long long, so it should not use 'LL' in its
constants
6 years ago
Roberto Ierusalimschy
992b6d2712
no more 'TESTGRAYBIT' (to free this bit for real uses)
7 years ago
Roberto Ierusalimschy
588dfa4ce5
detail in comment
7 years ago
Roberto Ierusalimschy
6f2b8e21c4
added 'const' to 'Proto*' when possible
7 years ago
Roberto Ierusalimschy
c5dc521d65
added patch for bug 5.3.4-7
7 years ago
Roberto Ierusalimschy
505fc91222
no more 'luaO_nilobject' to avoid comparison of global variable addresses
(now uses static variables)
7 years ago
Roberto Ierusalimschy
fb8fa66136
no more 'luaH_emptyobject' and comparisons of addresses of global variables
(instead, use a different kind of nil to signal the fake entry returned
when a key is not found in a table)
7 years ago
Roberto Ierusalimschy
b397064955
avoid craches when loading tampered code with NULL as a string constant
7 years ago
Roberto Ierusalimschy
34aa0c5bd7
new macros 'likely'/'unlikely' with hints for jump predictions
(used only in errors for now)
7 years ago
Roberto Ierusalimschy
97e394ba18
macro 'luai_makeseed' now controls the whole process of making the seed
7 years ago
Roberto Ierusalimschy
950fbcb971
detail ('l_castU2S' should only be used over lua_Unsigned values)
7 years ago
Roberto Ierusalimschy
b2d4d06428
avoid possible overflows when checking sizes in 'string.unpack'
7 years ago
Roberto Ierusalimschy
3b8dba5279
added patches for two bugs (5.3.4-2 and 5.3.4-3)
7 years ago
Roberto Ierusalimschy
892aff2a07
avoid circular inclusion between ltm.h <-> lstate.h
7 years ago
Roberto Ierusalimschy
02ed0b2c30
in 'luaD_poscall', there is no need to compute 'firstResult' when 'nres==0'
7 years ago
Roberto Ierusalimschy
de53c2ec7e
using some weak "randomness" (time and memory address) to initialize
seeds for the PRNG
7 years ago
Roberto Ierusalimschy
80bd4a8940
correction on xoshiro256** algorithm
(should use state[1] instead of state[0] for output)
7 years ago
Roberto Ierusalimschy
3e7415e846
reorganization of '#if's for sellecting a type for 'Rand64' +
comments
7 years ago
Roberto Ierusalimschy
e64e20ac81
minimizing the code ran by 'vmfetch' + no more 'vra'
(the code is simpler without 'vra' and conversion is a no-op)
7 years ago
Roberto Ierusalimschy
deb807837c
'luaO_pushvfstring' does not need to reallocate stack
(less error cases in the API)
7 years ago
Roberto Ierusalimschy
26eb144541
no need to define 'luaP_opnames' in regular builds
7 years ago
Roberto Ierusalimschy
f9c3d6fdbe
use test mode to test the interpreter without jump tables
7 years ago
Roberto Ierusalimschy
762baf0548
detail (trim constants are unsigned)
7 years ago
Roberto Ierusalimschy
b8a04658b2
PRNG changed from 'xoroshiro128+' to 'xoshiro256**' + "I' renamed 'Rand64'
+ implementation can use integer types larger than 64 (or 32) bits
7 years ago
Roberto Ierusalimschy
b44787652b
using 'xoroshiro128+' for PRNG
(plus a rotate at the final result to have better lower bits)
7 years ago
Roberto Ierusalimschy
03c6a05ec8
no more nil-in-table
7 years ago
Roberto Ierusalimschy
3d0b5edfe4
using unsigned comparison in 'l_intfitsf' (avoids one comparison)
7 years ago
Roberto Ierusalimschy
8d50a998e3
definition for LUA_UNSIGNEDBITS (number of bits in a LUA_UNSIGNED)
7 years ago
Roberto Ierusalimschy
bdd10a08b1
in 'random', uses high-order bits instead of low-order
(better statistical properties)
7 years ago
Roberto Ierusalimschy
c5e3b2f814
in random/'project', remove the special case for "small" intervals;
it is slower than the general case.
7 years ago