Roberto Ierusalimschy
8c68863960
initial size of string table (MINSTRTABSIZE) should be large enough
to hold all strings needed by an empty Lua state
11 years ago
Roberto Ierusalimschy
8f6b80aa1d
GC bits SEPARATED and FINALIZEDBIT mixed in FINALIZEDBIT (with simpler
control)
11 years ago
Roberto Ierusalimschy
9eff921f8f
"barrier" for link prototype->cache changed to be consistent with
GC behavior (link is cleared to preserve invariant)
11 years ago
Roberto Ierusalimschy
8e6b7ef9ab
new function 'isgclocal' + test for GC consistency of prototype's caches
11 years ago
Roberto Ierusalimschy
caceeab750
'next' field for tables changed from pointer to integer (for better
alignment on 64-bit machines)
11 years ago
Roberto Ierusalimschy
3991312b94
details
11 years ago
Roberto Ierusalimschy
439d74e29f
added 'local' bit (true => object is only refered by local variables)
11 years ago
Roberto Ierusalimschy
3679d33b02
barrier conditions rewritten to test first 'isblack' and then 'iswhite'
(during a pause all objects are white, so 'isblack' fails much more
often than 'iswhite')
11 years ago
Roberto Ierusalimschy
78b941039d
change to allow collector to stop when it goes to the atomic phase
(just for debugging)
11 years ago
Roberto Ierusalimschy
623e388bb4
double-linked list of all upvalues elliminated and changed to a
traversal of all non-marked threads
11 years ago
Roberto Ierusalimschy
677d90165f
no more generational collection !!!
11 years ago
Roberto Ierusalimschy
4244da96bf
'debug.subtype' -> 'math.type' (to distinguish integers and floats)
11 years ago
Roberto Ierusalimschy
fcf99bf788
'math.isfloat' replaced by 'debug.subtype'
11 years ago
Roberto Ierusalimschy
98d76cdcae
bug: Wrong error message in some short-cut expressions
11 years ago
Roberto Ierusalimschy
2f8c51a552
use unsigneds for unary minus, too
11 years ago
Roberto Ierusalimschy
b5f5fcd782
use different constants (instead of different values for the same constant)
to define number sizes (LUA_INT_INT/LUA_INT_LONG/LUA_INT_LONGLONG and
LUA_REAL_FLOAT/LUA_REAL_DOUBLE/LUA_REAL_LONGDOUBLE) + use __int64 and
I64 instead of long long (and ll) for Windows
11 years ago
Roberto Ierusalimschy
2ef9bcfd11
avoid undefined shift of LUA_NBITS in rotate operation
11 years ago
Roberto Ierusalimschy
5fa680d47f
no need for type 'b_uint' (lua_Unsigned must have at least 32 bits)
11 years ago
Roberto Ierusalimschy
48735da0d0
When loading a file, Lua may call the reader function again after
it returned end of input + luac listings choke on long strings
12 years ago
Roberto Ierusalimschy
2b4bd21585
'tonumber': base must be a number
12 years ago
Roberto Ierusalimschy
beff5b078a
'tonumber': does not accept numbers when given a base + convertion from
strings to numbers with a base moved to a separated function (more
modular)
12 years ago
Roberto Ierusalimschy
5519c98655
'lua_cvtonum' -> 'lua_strtonum'; converts only strings to numbers
12 years ago
Roberto Ierusalimschy
cbe164191c
new function 'ifloor'
12 years ago
Roberto Ierusalimschy
66d046833d
no need to check "bad conversion number->int;" in luaL_checkversion,
as now Lua does not use tricks for the conversion, but there is a
need to check the sizes of number types, as they can be different
in two modules
12 years ago
Roberto Ierusalimschy
15fdbd26fe
'numbits' moved from 'math' to 'debug' library
12 years ago
Roberto Ierusalimschy
2b4975dca7
LUA_SMALL_* changed to LUA_*SIZE + added support for long double + better
support for ANSI systems
12 years ago
Roberto Ierusalimschy
e39da66c8c
macro 'lua_strx2number' does not need to be global
12 years ago
Roberto Ierusalimschy
483c2ccd0f
avoid using raw representation of numbers for hashing, as number may
not use all its space (e.g., long double can have sizeof=12 but
use only 10 bytes)
12 years ago
Roberto Ierusalimschy
982aa7058f
'luaL_len' returns lua_Integer instead of 'int'
12 years ago
Roberto Ierusalimschy
80cdf39d0e
avoid using 'modf' in the implementation of 'math.modf', to avoid
problems with 'double*'. (When using 'float' as lua_Number,
'float*' is not compatible with 'double*'...)
12 years ago
Roberto Ierusalimschy
45f3797a5b
'long' may have more than 32 bits in some machines; use 'int' for
small lua_Integer unless necessary to use 'long'
12 years ago
Roberto Ierusalimschy
de6e5a5919
small bugs uncovered in a 64-bit machine (where 'long' has 64 bits)
12 years ago
Roberto Ierusalimschy
81102d3689
try to avoid warnings when converting int to pointer
12 years ago
Roberto Ierusalimschy
6579bd4190
reorganization of warnings + update of explicit dependencies (gcc -MM)
12 years ago
Roberto Ierusalimschy
f45177f2d3
In the table that hashes constants, use a light userdata as keys
to integer values to avoid collisions with floats with the same
numerical value
12 years ago
Roberto Ierusalimschy
d6f5fb2d2c
avoid warning for unary minus over an unsigned value
12 years ago
Roberto Ierusalimschy
7c4cc505db
added "reasonable" limit for 'string.rep' (otherwise it is too easy
to crash the machine)
12 years ago
Roberto Ierusalimschy
453450d687
new macro 'l_floor' (allows 'floorf' even when other math operations
do not have an 'f' variant)
12 years ago
Roberto Ierusalimschy
55f566bd22
use lua_Integer for integer parameters to avoid truncation
12 years ago
Roberto Ierusalimschy
130c0e40e0
new constant 'MAX_SIZE', distinct from 'MAX_SIZET', for sizes visible
from Lua; these must fit in a lua_Integer
12 years ago
Roberto Ierusalimschy
c72fb1cf8e
detail (removed 'assert')
12 years ago
Roberto Ierusalimschy
138e69cc55
correct error message for floating-point values out of (integer) range
12 years ago
Roberto Ierusalimschy
53210d7e5b
correct way (I hope) to convert floats to unsigned int
12 years ago
Roberto Ierusalimschy
0394314c7a
avoid using a negative value to test 'lua_tounsigned'
12 years ago
Roberto Ierusalimschy
0beeb4f6fa
configuration of number sizes goes "mainstream"
12 years ago
Roberto Ierusalimschy
788b251157
'math.random' operates with integers when used for integer results
(1 or 2 parameters)
12 years ago
Roberto Ierusalimschy
318575627f
avoid adding '.0' to "numbers" like "nan" and "inf"
12 years ago
Roberto Ierusalimschy
a14992992a
new version (5.3)
12 years ago
Roberto Ierusalimschy
48adb6984c
'io.write' writes integers directly (and correctly)
12 years ago
Roberto Ierusalimschy
c5069528e1
details ('Type* id' -> 'Type *id')
12 years ago