Roberto Ierusalimschy
8264dbc2bb
implemented counter to abort non-linear behavior in pattern matching
9 years ago
Roberto Ierusalimschy
9fae7b6d3f
code for string cache generalized for "associative sets" (compiler
will optimize away or inline the extra loops)
9 years ago
Roberto Ierusalimschy
0f1f51be4b
'table.move' tries to copy elements in increasing order
whenever possible
9 years ago
Roberto Ierusalimschy
ee5edb6b68
macros 'getaddrstr' and 'getstr' unified (they do the same thing)
9 years ago
Roberto Ierusalimschy
bda83e22c0
'tablib' does not try to use raw operations when possible: fast
track should make standard operations fast enough to forgo
raw accesses
9 years ago
Roberto Ierusalimschy
364cdbdbdb
'setobj2t' incorporated into 'luaV_fastset' + 'invalidateTMcache'
is not needed in the fast track (as it does not create new
entries) + small bug in 'auxsetstr' (calling barrier with wrong
object) + using 'setobj2t' without side effects in its arguments
9 years ago
Roberto Ierusalimschy
b91bc93fd3
'setobj2t' incorporated into 'luaV_fastset' + 'invalidateTMcache'
is not needed in the fast track (as it does not create new
entries)
9 years ago
Roberto Ierusalimschy
53be1451a8
new definition for macro 'checkliveness'
9 years ago
Roberto Ierusalimschy
eb0be12ceb
detail in macro 'checkliveness' + macro 'setobj2t' defined as an
expression (to be used in macro 'luaV_fastset')
9 years ago
Roberto Ierusalimschy
1198d82530
'lua_longassert' defined as an expression (instead of a command)
9 years ago
Roberto Ierusalimschy
6556fcfe5a
small janitor work
9 years ago
Roberto Ierusalimschy
41964648ee
long strings are created directly in final position when possible
(instead of using an auxiliar buffer to first create the string
and then allocate the final string and copy result there)
9 years ago
Roberto Ierusalimschy
502214f8a5
added assert for NULL pointer in 'lua_pushlstring'
9 years ago
Roberto Ierusalimschy
ed19fe766c
added ';' at the end of "expression lines" ("return exp;") so that
an extra ";" at the end is enough to stop Lua printing the result
("return exp;;" is not valid)
9 years ago
Roberto Ierusalimschy
8f25d08637
'invalidateTMcache' not needed in all 'settable' uses
9 years ago
Roberto Ierusalimschy
3b795541c4
fast track for 'settable'
9 years ago
Roberto Ierusalimschy
20b9e59441
barrier macros rewritten as expressions
9 years ago
Roberto Ierusalimschy
935d9f7f90
new entry should not be commented out
9 years ago
Roberto Ierusalimschy
e247c3ada3
implementation of fast track for gettable operations
9 years ago
Roberto Ierusalimschy
b5dc2f9b0c
bug: 'io.lines' does not check maximum number of options
9 years ago
Roberto Ierusalimschy
5273477cb9
in 'lua_number2strx', use the call to 'l_sprintf' to add exponent
to result directly
9 years ago
Roberto Ierusalimschy
b9db9bd0ef
'lua_Number' added to 'L_Umaxalign' union
9 years ago
Roberto Ierusalimschy
050e8536bb
bug: 'io.lines' does not check maximum number of options
9 years ago
Roberto Ierusalimschy
2b61360d82
avoid overflows (detected with 'clang -ftrapv')
9 years ago
Roberto Ierusalimschy
5b6ac971f9
detail (comment)
9 years ago
Roberto Ierusalimschy
403e181d81
'strftime' puts its result directly into 'lua_Buffer'
9 years ago
Roberto Ierusalimschy
4af03c5ae1
better treatment for integer overflows + all errors throw an error
(instead of returning nil)
9 years ago
Roberto Ierusalimschy
bde17a419d
because of debt, 'totalbytes' can be negative (and therefore its
type must be signed)
9 years ago
Roberto Ierusalimschy
8950e0c049
avoid possibility of subtle arith. overflow
9 years ago
Roberto Ierusalimschy
8217e0d4fe
avoid subtle possibility of arithmetic overflow
9 years ago
Roberto Ierusalimschy
319ccfefbc
computations in numerical for loop must avoid overflows too
9 years ago
Roberto Ierusalimschy
6a8400ba4f
using 'clang' by default + changes in warnings ('old-style-declaration'
removed because it is included in 'extra' + 'strict-aliasing' removed
because it is included in 'all' + 'aggregate-return' removed because
no one would do it by mistake)
9 years ago
Roberto Ierusalimschy
2de3361c6c
detail
9 years ago
Roberto Ierusalimschy
e89763e964
simpler code for 'luaO_fb2int'
10 years ago
Roberto Ierusalimschy
be63d995c1
tiny bug: 'randomseed' was calling 'rand' (instead of 'l_rand')
to discard first value
10 years ago
Roberto Ierusalimschy
2b1fc1b38c
with string cache, it is not that important for 'type' to avoid
'lua_pushstring'
10 years ago
Roberto Ierusalimschy
f01c12c891
detail (cast to avoid mixing types in conditional expression)
10 years ago
Roberto Ierusalimschy
5aabb7a891
buffer size changed from size_t to int (it is always small) +
comments + assert that printf result fits in given buffer
10 years ago
Roberto Ierusalimschy
cb1e451999
detail
10 years ago
Roberto Ierusalimschy
43cff79bf7
detail
10 years ago
Roberto Ierusalimschy
95c3144393
redefine 'l_sprintf' to test correctness of buffer sizes given
to 'snprintf'
10 years ago
Roberto Ierusalimschy
19eb6ae580
using 'snprintf' in C99 (both for documentation of buffer sizes
and some complains from tools)
10 years ago
Roberto Ierusalimschy
cbe05b48bb
using 'lua_longassert' to avoid warnings
10 years ago
Roberto Ierusalimschy
e7f34ad395
better implementation for buffers (reallocated memory directly
with allocation function; generates much less garbage)
10 years ago
Roberto Ierusalimschy
a5cbb7c3a7
detail (i + 1 > exp is simply i >= exp)
10 years ago
Roberto Ierusalimschy
dcad08b76d
details (use original type when saving variable's value)
10 years ago
Roberto Ierusalimschy
afbf5c5dab
missing ']]' in long string
10 years ago
Roberto Ierusalimschy
a1415c0d72
bug in order NaN x int (tests must ensure that NaN does not get
converted to integer)
10 years ago
Roberto Ierusalimschy
2ecaf18138
using macros ('rttype' and 'settt_') to access "private" field 'tt_'
10 years ago
Roberto Ierusalimschy
cbef15f3ea
comment (FALLTHROUGH position)
10 years ago