Roberto Ierusalimschy
c231a5e2b6
using unsigned int (instead of int) in 'table.sort' to avoid overflows
(when computing the pivot and in original table size)
9 years ago
Roberto Ierusalimschy
dc9ac5b8c2
details (merging declarations with initialization)
9 years ago
Roberto Ierusalimschy
146508b28e
randomness in pivot for 'table.sort' done by a macro (easier to change)
9 years ago
Roberto Ierusalimschy
d103312661
details (typos in comments)
9 years ago
Roberto Ierusalimschy
2e8f8a18e4
detail
9 years ago
Roberto Ierusalimschy
f5b0459aba
details
9 years ago
Roberto Ierusalimschy
d682b3c9ec
added separator for bugs in 5.3.1
9 years ago
Roberto Ierusalimschy
fc085aa627
new release number (5.3.2)
9 years ago
Roberto Ierusalimschy
9a5d6aedb7
trying to optimize a little 'luaD_poscall'
9 years ago
Roberto Ierusalimschy
89e3a84344
removed field 'n' from 'CallInfo' (not being used right now)
9 years ago
Roberto Ierusalimschy
04587b6256
macro with empty argument can be seen as macro with no argument; better
to avoid that
9 years ago
Roberto Ierusalimschy
bde03eeb48
in 'table.sort': tighter checks for invalid order function +
"random" pivot for larger intervals (to avoid attacks with
bad data)
9 years ago
Roberto Ierusalimschy
330d426ffd
avoid the use of deprecated functions 'luaL_checkunsigned'/
'lua_pushunsigned'
9 years ago
Roberto Ierusalimschy
02340375be
janitor work on 'table.sort': added comments, partition code moved
to a separated function, code conventions updated, etc. No changes
at all in the logic/algorithm
9 years ago
Roberto Ierusalimschy
5100bc8aa1
no need for a special case to get long strings (not that common)
9 years ago
Roberto Ierusalimschy
ebb2afa54b
allow 'set' macros to be used when 'L' is not available (as it was
needed only for assertions)
9 years ago
Roberto Ierusalimschy
7485512384
added comment and assert about dead keys
9 years ago
Roberto Ierusalimschy
46de77b219
bug: despite its name, 'luaH_getstr' did not work for strings in
general, but only for short strings
9 years ago
Roberto Ierusalimschy
d356183402
new function 'luaS_hashlongstr'
9 years ago
Roberto Ierusalimschy
e61ee8a036
in 'luaD_call', use two functions instead of one with fixed boolean
argument + stack error handling in 'luaD_call' moved to a separated
function
9 years ago
Roberto Ierusalimschy
ff1289a361
in 'luaD_call', use two functions instead of one with fixed boolean
argument
9 years ago
Roberto Ierusalimschy
cd73f3ccc5
now that we have a counter for CallInfos, use it for a more
accurate value for the memory used by a thread
9 years ago
Roberto Ierusalimschy
8c1fb91802
macro 'incr_top' replaced by function 'luaD_inctop'. (It is not used
in critical time pathes, can save a few bytes without the macro)
9 years ago
Roberto Ierusalimschy
33b366ec32
added counters for total and individual CallInfo entries (to allow
better syncronization between CallInfo size and stack size)
9 years ago
Roberto Ierusalimschy
c5363a1b58
in 'luaD_precall', in vararg functions, complete missing parameters
only after moving them to final place (avoids checking the stack
again)
9 years ago
Roberto Ierusalimschy
332a06bbd1
'luaO_pushvfstring' now uses 'incr_top' to increment top.
9 years ago
Roberto Ierusalimschy
ffd0d1232d
using more "conventional" loops in 'luaD_poscall' (probably a little
more efficient?)
9 years ago
Roberto Ierusalimschy
07a2dcacbf
flag CIST_REENTRY changed to CIST_FRESH (its negation); fresh invocations
seem to be less frequent than reentries. (So, avoid setting flag on
the frequent case.)
9 years ago
Roberto Ierusalimschy
c874abac98
with 'fast tracks', there is no need to do raw accesses in 'ipairs'
9 years ago
Roberto Ierusalimschy
789e423b32
corrected comparisons of signed (int) with unsigned (size_t)
9 years ago
Roberto Ierusalimschy
96ec8671b1
macro 'buff2num' replaced by its body (it caused more harm than good
to readability)
9 years ago
Roberto Ierusalimschy
cc3a42b190
option 'c' in 'string.pack' accepts any string size (truncating
if larger and padding if smaller)
9 years ago
Roberto Ierusalimschy
6707ce6349
function prepares vararg only if it really uses them (chunks
are always declared vararg but seldom uses them)
9 years ago
Roberto Ierusalimschy
257961c601
OP_SELF can use 'luaV_fastget' specialized for strings, as it
is applied only to string keys
9 years ago
Roberto Ierusalimschy
ae515a346c
comments for luaD_precall/luaD_poscall
9 years ago
Roberto Ierusalimschy
3cdf1d676b
details (avoid 'case' inside block + avoid using one variable for
two roles)
9 years ago
Roberto Ierusalimschy
82129b9266
use macro 'hasjumps' to test whether expression has jumps...
9 years ago
Roberto Ierusalimschy
8004ab756f
hook test in 'luaV_execute' reduced to minimum (rest done in
'luaG_traceexec'; no difference in performance for the non-hook
case, but keeps 'luaV_execute' a little simpler) + 'base' updates
replaced by 'Protect' (which serves this rule)
9 years ago
Roberto Ierusalimschy
ee5ef0f295
hook test in 'luaV_execute' reduced to minimum (rest done in
'luaG_traceexec'
9 years ago
Roberto Ierusalimschy
5bdee4f810
small changes to allow 'precall' to spend time preserving 'func'
only when needed (that is, when stack actually changes)
9 years ago
Roberto Ierusalimschy
48098c42ff
generic definitions for float types moved to before variable definitions
(so that specific cases can redefine these generic definitions if
needed)
9 years ago
Roberto Ierusalimschy
3ad55386c4
'condchangemem' also may need to run 'pre'/'pos'
9 years ago
Roberto Ierusalimschy
caf8278710
added comments
9 years ago
Roberto Ierusalimschy
f7670781cf
cleaner definition for 'luaC_condGC', using 'pre'/'pos' parameters
9 years ago
Roberto Ierusalimschy
df8b996bcc
'Protect' in table operations is not needed in the fast track
+ removal of a few dead macros
9 years ago
Roberto Ierusalimschy
75d5a8924c
macro 'addbuff' was using external variable name, instead of using
its parameter name inside the macro.
9 years ago
Roberto Ierusalimschy
880f82d089
'*' as a number means stack size, so that "return *" returns
all values in the stack.
9 years ago
Roberto Ierusalimschy
1a741157cb
avoid (undefined behavior) integer 'overflow' in left shift
9 years ago
Roberto Ierusalimschy
0c78de0d6d
avoid calling write function with empty block
9 years ago
Roberto Ierusalimschy
df45f7118b
detail (added assertion)
9 years ago