Roberto Ierusalimschy
|
c0edab0f6d
|
first implementation of bitwise operators '&' (band), '|' (bor),
and '~' (bxor)
|
2013-12-18 12:12:03 -02:00 |
|
Roberto Ierusalimschy
|
a948054a19
|
new order for binary operations (grouping them by type of result)
|
2013-12-16 17:06:52 -02:00 |
|
Roberto Ierusalimschy
|
a8f8c7fd80
|
integer exponentiation with negative exponent is invalid
|
2013-12-16 12:30:22 -02:00 |
|
Roberto Ierusalimschy
|
1a19893d6f
|
new "calculator mode"; no need to add '=' to print expressions
|
2013-12-16 12:27:17 -02:00 |
|
Roberto Ierusalimschy
|
88e23f508c
|
details
|
2013-12-13 13:42:08 -02:00 |
|
Roberto Ierusalimschy
|
c8585efc78
|
use goto to implement a tail call in 'reallymarkobject'
|
2013-12-13 13:17:00 -02:00 |
|
Roberto Ierusalimschy
|
16493b777f
|
'lua_sethook' returns void
|
2013-12-09 12:21:10 -02:00 |
|
Roberto Ierusalimschy
|
cac1ebd1e0
|
detail ('ttisuserdata' renamed to 'ttisfulluserdata')
|
2013-12-04 10:15:22 -02:00 |
|
Roberto Ierusalimschy
|
73c5515e00
|
details (comments)
|
2013-11-21 15:23:14 -02:00 |
|
Roberto Ierusalimschy
|
e34c35abcf
|
new bug: Resuming the running coroutine makes it unyieldable
|
2013-11-08 16:23:16 -02:00 |
|
Roberto Ierusalimschy
|
7a8eb83b4a
|
bug: attempting to resume the running coroutine makes it unyieldable
|
2013-11-08 16:16:33 -02:00 |
|
Roberto Ierusalimschy
|
ab5fa213b3
|
added patch for last bug
|
2013-11-08 15:45:10 -02:00 |
|
Roberto Ierusalimschy
|
39929384c6
|
new macro 'luai_userstateclose' (to test it is being called correctly)
|
2013-11-08 15:36:05 -02:00 |
|
Roberto Ierusalimschy
|
de7cf8e63a
|
bug: should call 'luai_userstateclose' only when 'luai_userstateopen'
has been called before
|
2013-11-08 15:34:22 -02:00 |
|
Roberto Ierusalimschy
|
124598917f
|
"./?/init.lua" added to default path
|
2013-10-10 12:45:03 -03:00 |
|
Roberto Ierusalimschy
|
c5fcba1a17
|
detail (changing some names of macros)
|
2013-10-07 11:20:31 -03:00 |
|
Roberto Ierusalimschy
|
4c6dfc342b
|
CallInfo lists shrinks together with their associated stacks
|
2013-09-17 12:40:06 -03:00 |
|
Roberto Ierusalimschy
|
686e57cf9c
|
GC local pause configurable
|
2013-09-13 13:21:52 -03:00 |
|
Roberto Ierusalimschy
|
06156e7575
|
detail (setmetatable do not need to use a back GC barrier)
|
2013-09-11 17:15:31 -03:00 |
|
Roberto Ierusalimschy
|
2e2c109daf
|
type of 'refcount' changed to lu_mem (to ensure there will be no
overflows)
|
2013-09-11 12:17:00 -03:00 |
|
Roberto Ierusalimschy
|
6ca7b63bce
|
check for shrinking string table done only at the end of a GC cycle
|
2013-09-11 11:56:15 -03:00 |
|
Roberto Ierusalimschy
|
4eeb1831be
|
new names and better order for GC states (sweep first lists that
can have dead objects)
|
2013-09-11 11:47:08 -03:00 |
|
Roberto Ierusalimschy
|
dd373a8f66
|
threads are kept in a separated GC list, linked after the main thread
|
2013-09-11 11:09:55 -03:00 |
|
Roberto Ierusalimschy
|
7061fe1d56
|
detail: 'sweepstep' checks end of phase after calling 'sweeplist', so
that phases with small lists return 0 at the first call to 'sweepstep'
|
2013-09-11 10:24:55 -03:00 |
|
Roberto Ierusalimschy
|
d8aa8dd97e
|
objects in list 'tobefnz' have a GC life-cycle like all others
(specifically they are cleaned during sweep phase)
|
2013-09-11 09:47:48 -03:00 |
|
Roberto Ierusalimschy
|
1150873447
|
'luaC_newobj' does not handle special cases; only special case
now is threads, which do not use 'luaC_newobj' anymore.
|
2013-09-11 09:26:14 -03:00 |
|
Roberto Ierusalimschy
|
79ab21be90
|
more invariants added to memory check
|
2013-09-11 09:26:14 -03:00 |
|
Roberto Ierusalimschy
|
d3bbb34c24
|
back to open hashing for the string table (but with a different
'hnext' field, to strings are still collected like all other
objects)
|
2013-09-05 16:31:49 -03:00 |
|
Roberto Ierusalimschy
|
0ad15fc100
|
better (and correct!) control of 'maybedead'
|
2013-09-04 12:34:24 -03:00 |
|
Roberto Ierusalimschy
|
aeff4f79fa
|
local collection now calls finalizers
|
2013-09-03 12:37:10 -03:00 |
|
Roberto Ierusalimschy
|
1bf4faec64
|
new GC state to sweep 'localgc' list + small changes in sweep control
|
2013-08-30 16:14:26 -03:00 |
|
Roberto Ierusalimschy
|
8ef9e8460e
|
bug (GC can collect long identifier during parser) + change (using
a single constant table for all functions in a chunk)
|
2013-08-30 13:01:37 -03:00 |
|
Roberto Ierusalimschy
|
4f292d753c
|
bug: GC can collect a long string still in use during parser
|
2013-08-30 12:51:12 -03:00 |
|
Roberto Ierusalimschy
|
26629d0af1
|
details (a few casts moved from macro invocation to macro definition)
|
2013-08-29 10:49:57 -03:00 |
|
Roberto Ierusalimschy
|
b5e75fde4e
|
bug: local collection must clear rest of stack
|
2013-08-29 10:34:16 -03:00 |
|
Roberto Ierusalimschy
|
9a871dd3db
|
tables and userdata all go to local list, too
|
2013-08-28 15:30:26 -03:00 |
|
Roberto Ierusalimschy
|
90972ff136
|
LOCALBLACK changed to LOCALMARK and used also to control whether object
is in 'localgc' list + luaC_newobj by default puts object in 'localgc'
list
|
2013-08-27 17:04:00 -03:00 |
|
Roberto Ierusalimschy
|
af35c7f398
|
upvalues collected by reference count
|
2013-08-27 15:53:35 -03:00 |
|
Roberto Ierusalimschy
|
742b7377d3
|
Lua closures go to local, too
|
2013-08-26 09:41:10 -03:00 |
|
Roberto Ierusalimschy
|
50955e27f5
|
C functions and strings now go to the local list; first version
of the local collector
|
2013-08-23 10:34:54 -03:00 |
|
Roberto Ierusalimschy
|
33c49f7fa0
|
some details over new implementation of string table
|
2013-08-22 12:21:48 -03:00 |
|
Roberto Ierusalimschy
|
0df6635711
|
"fixed" objects kept in a separated list (instead of being kept in
'allgc' list with a bit marking them)
|
2013-08-21 17:09:51 -03:00 |
|
Roberto Ierusalimschy
|
ae800656c9
|
change in string table: string table is now independent of GC lists; all
strings live in 'normal' GC lists
|
2013-08-21 16:21:16 -03:00 |
|
Roberto Ierusalimschy
|
8c68863960
|
initial size of string table (MINSTRTABSIZE) should be large enough
to hold all strings needed by an empty Lua state
|
2013-08-21 16:02:30 -03:00 |
|
Roberto Ierusalimschy
|
8f6b80aa1d
|
GC bits SEPARATED and FINALIZEDBIT mixed in FINALIZEDBIT (with simpler
control)
|
2013-08-20 14:46:34 -03:00 |
|
Roberto Ierusalimschy
|
9eff921f8f
|
"barrier" for link prototype->cache changed to be consistent with
GC behavior (link is cleared to preserve invariant)
|
2013-08-19 11:18:43 -03:00 |
|
Roberto Ierusalimschy
|
8e6b7ef9ab
|
new function 'isgclocal' + test for GC consistency of prototype's caches
|
2013-08-19 11:16:33 -03:00 |
|
Roberto Ierusalimschy
|
caceeab750
|
'next' field for tables changed from pointer to integer (for better
alignment on 64-bit machines)
|
2013-08-18 13:12:18 -03:00 |
|
Roberto Ierusalimschy
|
3991312b94
|
details
|
2013-08-16 16:02:31 -03:00 |
|
Roberto Ierusalimschy
|
439d74e29f
|
added 'local' bit (true => object is only refered by local variables)
|
2013-08-16 15:55:49 -03:00 |
|