Roberto Ierusalimschy
b029e7ea20
macro 'luaV_fastget' may need protection ({}) to be used inside
'if's
8 years ago
Roberto Ierusalimschy
4bc33d64de
avoid overflows in computation of step size
8 years ago
Roberto Ierusalimschy
8821746841
updated GC states in function 'T.gcstate'
8 years ago
Roberto Ierusalimschy
72d82a296c
revamping the incremental collector
Some simplifications (not counting bytes, couting only slots visited;
no more 'gcfinnum'); more GC parameters; using vararg in 'lua_gc' to
set parameters in different GC modes
8 years ago
Roberto Ierusalimschy
4804bbd9bb
include first standard header files
(Some broken compiler has problems with 'signal.h' being included
without a definition for 'size_t'.)
8 years ago
Roberto Ierusalimschy
be0d951be8
bug: cannot reuse a dying upvalue
8 years ago
Roberto Ierusalimschy
a9dbc2d641
assert removed in 'luaO_arith'
(nobody calls it with L==NULL)
8 years ago
Roberto Ierusalimschy
c25380c28d
details (using proper version of 'setobj')
8 years ago
Roberto Ierusalimschy
03094da80c
detail (extra closing brackets)
8 years ago
Roberto Ierusalimschy
01c96ad12e
handling of inf, -inf, and NaN by string.format'%q'
8 years ago
Roberto Ierusalimschy
1bdc328c75
bug: Lua crashes when building sequences with more than 2^30 elements.
bug: Table length computation overflows for sequences larger than
2^31 elements..
8 years ago
Roberto Ierusalimschy
e3d52da144
BUG: in 'computesizes', 'twotoi' overflows when a sequence has
more than 2^30 elements.
8 years ago
Roberto Ierusalimschy
e39ee2cc58
'luaH_getn' must return 'lua_Unsigned' (or 'lua_Integer'), to
allow the boundary-search algorithm to use 'maxinteger' when
it cannot find a good upper bound.
8 years ago
Roberto Ierusalimschy
84910e04e2
better implementation for 'hash_search', without using 'size_t'
(simpler to implement and to explain)
8 years ago
Roberto Ierusalimschy
de74289049
table field names for dedicated opcodes can be restricted to
small strings for slightly faster access
8 years ago
Roberto Ierusalimschy
92b3deaffa
details in OP_CALL + comments
8 years ago
Roberto Ierusalimschy
49f7aab62a
'lua_rawlen' returns 'lua_Unsigned' instead of 'size_t'. (Real
length of strings and userdata are limited by Lua integers,
but table length is hard to compute limiting it to 'size_t'.)
8 years ago
Roberto Ierusalimschy
3d879fbc5d
reimplementation of 'luaH_getn', trying to handle numeric limits
properly.
8 years ago
Roberto Ierusalimschy
6d95de83c6
no more field 'base' in CallInfo (base is always equal to 'func + 1',
with old/new vararg implementation)
8 years ago
Roberto Ierusalimschy
5c8770f896
back to old-style vararg system (with vararg table collecting extra
arguments)
8 years ago
Roberto Ierusalimschy
7647d5d13d
revamp of fast track for table access (table set uses the same
macros as table get + new macro for integer keys)
8 years ago
Roberto Ierusalimschy
7184f6343a
more integer fast tracks (for OP_LT, OP_LE, OP_SETTABLE, and OP_GETTABLE)
8 years ago
Roberto Ierusalimschy
b1b7790f7c
detail ('1' -> '1u' in unsigned operation)
8 years ago
Roberto Ierusalimschy
ab5a650029
details (direct access to 'Ck' bit in instructions)
8 years ago
Roberto Ierusalimschy
fb9de1b4d7
detail ('luaT_callbinTM' does not need to be extern)
8 years ago
Roberto Ierusalimschy
e8757a73e6
'luaV_execute' keeps local copy of program counter and hook mask,
to avoid excessive access to globals.
8 years ago
Roberto Ierusalimschy
4ce8d2047c
bug: Wrong code for a goto followed by a label inside an 'if'
8 years ago
Roberto Ierusalimschy
2376eb6347
barrier for prototype's cache (with new gray list 'protogray' to keep
prototypes to have their caches visited again) + constant 'MAXMISS'
8 years ago
Roberto Ierusalimschy
8634b2a011
added 'cachemiss' field to prototype to avoid wasting time checking
hits that fail too often
8 years ago
Roberto Ierusalimschy
5ecb31003f
bug: cannot "skip" labels after if-goto before the jump over the
'then' part
8 years ago
Roberto Ierusalimschy
a454e884e0
details in 'findsetreg'
8 years ago
Roberto Ierusalimschy
502a1d1108
new opcodes for table access with constant keys (strings and integers)
8 years ago
Roberto Ierusalimschy
173e41b2eb
new opcode OP_ADDI (for immediate integer operand) (Experimental)
8 years ago
Roberto Ierusalimschy
a3f9c1a77a
detail (using unsigned comparison in range check for LOADI)
8 years ago
Roberto Ierusalimschy
6dbae1b5d9
registers in a VINDEXED expression must be freed in order
8 years ago
Roberto Ierusalimschy
cb3d5dce30
opcodes 'OP_GETTABUP'/'OP_SETTABUP' operate only with string keys,
so they can use fast-track table access
8 years ago
Roberto Ierusalimschy
2caecf1b3e
type 'L_Umaxalign' replaced by macro 'LUAI_MAXALIGN', which is also added
to the auxlib buffer
8 years ago
Roberto Ierusalimschy
f399e6705f
ensures that "collectgarbage'step'" in generational mode does a
minor collection
8 years ago
Roberto Ierusalimschy
69371c4b84
'KGC_NORMAL' -> 'KGC_INC' + emergency GC signalled by flag (instead
of mode)
8 years ago
Roberto Ierusalimschy
6a98aa0bb0
new opcode LOADI (for loading immediate integers)
8 years ago
Roberto Ierusalimschy
c354211744
small bug in generational control
8 years ago
Roberto Ierusalimschy
f748b4bb40
macros to define default parameters for generational collection
8 years ago
Roberto Ierusalimschy
7ae180f8e8
corrected some checks about colors of old objects + new test function
'gcage'
8 years ago
Roberto Ierusalimschy
c7bdc0e0e8
first version of control for the generational collector
8 years ago
Roberto Ierusalimschy
a45945b6d5
new macro 'lua_pointer2str' to encapsulate use of 'l_sprintf' inside
the kernel
8 years ago
Roberto Ierusalimschy
9e1f1b1f62
detail in usage message for '-l' option
8 years ago
Roberto Ierusalimschy
4679294796
memory check adapted to generational mode
8 years ago
Roberto Ierusalimschy
f74b87c3c2
removed initialization of 'GCestimate' (it is initialized during
a GC cycle, when it start counting)
8 years ago
Roberto Ierusalimschy
16001acb15
small corrections + removal of debugging functions 'count' and
'printgray'.
8 years ago
Roberto Ierusalimschy
0c8a7e071b
'mainthread' lives in 'allgc' list, like everybody else
8 years ago