Roberto Ierusalimschy
|
80fe8504f5
|
make all dumps/loads go trhough Load/DumpVector (so it is easier
to adapt the code to correct endianess, if needed)
|
2014-03-11 15:56:27 -03:00 |
|
Roberto Ierusalimschy
|
e976384213
|
keep chunk's headers compatible at least up to LUAC_VERSION (to be
able to detect correctly version mismatches)
|
2014-03-11 15:05:46 -03:00 |
|
Roberto Ierusalimschy
|
68f4ccdd00
|
make sure that LUAC_INT is a lua_Integer and that LUAC_NUM is
a lua_Number
|
2014-03-11 11:22:54 -03:00 |
|
Roberto Ierusalimschy
|
342a936599
|
detail (breaking too long lines)
|
2014-03-10 16:52:47 -03:00 |
|
Roberto Ierusalimschy
|
901da539e5
|
no need to avoid negative ints in 'LoadInt'
|
2014-03-10 16:50:19 -03:00 |
|
Roberto Ierusalimschy
|
197e249433
|
"indent -kr -i2 -br -brf -nut" plus a few manual formating
|
2014-03-10 14:56:32 -03:00 |
|
Roberto Ierusalimschy
|
2aff75f58e
|
small bug (from revision 2.80): LUA_OP* constants are not from
enumeration 'Opcode' (they are integers)
|
2014-03-09 16:21:34 -03:00 |
|
Roberto Ierusalimschy
|
cd12410195
|
new macro 'cast_void'
|
2014-03-07 13:19:00 -03:00 |
|
Roberto Ierusalimschy
|
c5bb3643ab
|
simpler code to read a line from a file (using 'getc' or, if present,
'getc_unlocked')
|
2014-03-06 14:12:02 -03:00 |
|
Roberto Ierusalimschy
|
5ff1c18a71
|
back with 'L' for macros 'luai_num*', but now with a new macro
'luai_numinvalidop' to protect constant folding
|
2014-03-06 13:15:18 -03:00 |
|
Roberto Ierusalimschy
|
99ac4a260f
|
'constfolding' passes a proper Lua state to 'luaO_arith'
|
2014-03-06 10:58:28 -03:00 |
|
Roberto Ierusalimschy
|
fa7e77fd38
|
detail ('codearith' uses 'LUA_OP*' constants instead of 'OP_*')
|
2014-03-06 10:39:05 -03:00 |
|
Roberto Ierusalimschy
|
f69e0ade19
|
no need to store a full 'size_t' fo the size of (frequent) small strings
|
2014-03-01 12:18:44 -03:00 |
|
Roberto Ierusalimschy
|
99a1c06ea3
|
more regularity with vectors + sizeof computed by the macros themselves
|
2014-02-28 13:13:01 -03:00 |
|
Roberto Ierusalimschy
|
93e28031de
|
all chars used in binary dumps are unsigned ('lu_byte')
|
2014-02-28 09:25:12 -03:00 |
|
Roberto Ierusalimschy
|
de84b3fecb
|
store number of upvalues of main function in front of the dump,
so that undump can create initial closure before reading its prototype
|
2014-02-27 15:56:15 -03:00 |
|
Roberto Ierusalimschy
|
054179c2ff
|
more explicit handling of headers for binary chunks
|
2014-02-27 13:56:20 -03:00 |
|
Roberto Ierusalimschy
|
986c11daa6
|
removal of weird construction in definition of LUA_STRFTIMEOPTIONS
(two empty strings concatenated as in "" "")
|
2014-02-26 12:55:58 -03:00 |
|
Roberto Ierusalimschy
|
c6c41e85b2
|
more uniformity for defining system-dependent features
|
2014-02-26 12:27:56 -03:00 |
|
Roberto Ierusalimschy
|
87c930676f
|
detail (comments)
|
2014-02-26 09:39:30 -03:00 |
|
Roberto Ierusalimschy
|
11e762dbcd
|
added macro MAX_UINTEGER
|
2014-02-26 09:38:43 -03:00 |
|
Roberto Ierusalimschy
|
5c9cb5f0b1
|
detail (comment)
|
2014-02-26 09:38:18 -03:00 |
|
Roberto Ierusalimschy
|
fed236ca7f
|
detail (unknown lines are marked as -1, not 0)
|
2014-02-25 11:31:16 -03:00 |
|
Roberto Ierusalimschy
|
295f7ac04e
|
added 'stip' parameter to lua_dump/string.dump
|
2014-02-25 11:30:21 -03:00 |
|
Roberto Ierusalimschy
|
6318de80d3
|
added 'strip' parameter to lua_dump/string.dump
|
2014-02-25 11:30:21 -03:00 |
|
Roberto Ierusalimschy
|
5715de344f
|
'read_all' does not need to grow buffer, as 'luaL_prepbuffsize'
already does that
|
2014-02-21 11:39:50 -03:00 |
|
Roberto Ierusalimschy
|
c86b9da022
|
userdata can have any Lua value as uservalue
|
2014-02-19 10:52:42 -03:00 |
|
Roberto Ierusalimschy
|
a4c6dcf999
|
detail (better error messages for light userdata)
|
2014-02-19 10:48:53 -03:00 |
|
Roberto Ierusalimschy
|
3f78de256e
|
no need to keep threads in a different GC list, now that there is the
'twups' list
|
2014-02-18 10:46:26 -03:00 |
|
Roberto Ierusalimschy
|
d764cc5522
|
new list 'twups' to allow traversal of upvalues from dead threads
(+ fixed some problems with cycles involving those upvalues)
|
2014-02-18 10:39:37 -03:00 |
|
Roberto Ierusalimschy
|
ffa96d988d
|
field 'op' renamed to 'open'
|
2014-02-15 11:12:01 -02:00 |
|
Roberto Ierusalimschy
|
6a24bd17a8
|
no more second result from 'collectgarbage"count"' (as Lua seldom
will need lua_Number to be an integer)
|
2014-02-14 14:45:38 -02:00 |
|
Roberto Ierusalimschy
|
1cce3e6842
|
change in the way 'collectgarbage("step", size)' interprets 'size'
(mimicking the way the GC itself behaves when Lua allocates 'size'
Kbytes)
|
2014-02-14 14:43:14 -02:00 |
|
Roberto Ierusalimschy
|
0b04c561f5
|
new syntax for Unicode escape '\u{012F}'
|
2014-02-14 13:23:51 -02:00 |
|
Roberto Ierusalimschy
|
90b0ac6495
|
limit to 'gcstepmul' imposed by 'lua_gc' (+ some details in 'lgc.c')
|
2014-02-13 15:25:20 -02:00 |
|
Roberto Ierusalimschy
|
de3b1c9b53
|
better control for number of finalizers called at each GC cycle
(increases progressively)
|
2014-02-13 12:46:38 -02:00 |
|
Roberto Ierusalimschy
|
733c58595b
|
no more local collection
|
2014-02-13 10:11:34 -02:00 |
|
Roberto Ierusalimschy
|
4a1ed6e6e5
|
new field '__name' in metatables to help better error messages
|
2014-02-11 15:39:15 -02:00 |
|
Roberto Ierusalimschy
|
6b30774469
|
detail (better presentation for 'luaC_step')
|
2014-02-11 10:28:47 -02:00 |
|
Roberto Ierusalimschy
|
ba3586cc90
|
keep a single list of objects to be finalized (with local and non-local
objects), to ensure finalization order
|
2014-02-11 10:18:12 -02:00 |
|
Roberto Ierusalimschy
|
68df7c6279
|
added proper headers for a standard lib file
|
2014-02-06 18:03:24 -02:00 |
|
Roberto Ierusalimschy
|
19ad78d713
|
C++ needs casts for arithmetic with enums
|
2014-02-06 17:55:55 -02:00 |
|
Roberto Ierusalimschy
|
6ccf150039
|
new library: utf8
|
2014-02-06 15:32:33 -02:00 |
|
Roberto Ierusalimschy
|
4ea60463f5
|
UTF-8 encoding exported as format '%U' in 'lua_pushfstring'
|
2014-02-06 13:59:24 -02:00 |
|
Roberto Ierusalimschy
|
d438e1379d
|
insertion of ".0" in floats with integer values done by "luaL_tolstring",
not by the core
|
2014-02-05 17:14:53 -02:00 |
|
Roberto Ierusalimschy
|
1721d09ac8
|
still accepts initial '=' for expressions, for compatibility with old
versions (and old habits...)
|
2014-02-05 12:22:55 -02:00 |
|
Roberto Ierusalimschy
|
2f3da00e51
|
added support for UTF-8 escapes
|
2014-02-04 16:57:34 -02:00 |
|
Roberto Ierusalimschy
|
5a73e3ad9e
|
simpler way to create messages for errors in escape sequences
|
2014-01-31 13:14:22 -02:00 |
|
Roberto Ierusalimschy
|
86dd8bf3f5
|
no more 'L' in macros "luai_num*" (several places that use those macros
cannot throw errors anyway...)
|
2014-01-27 11:34:32 -02:00 |
|
Roberto Ierusalimschy
|
67c5de9283
|
comment
|
2014-01-27 11:28:45 -02:00 |
|
Roberto Ierusalimschy
|
0a850e641d
|
larger limit + better error messages for loop detection in inheritance
|
2014-01-22 18:02:04 -02:00 |
|
Roberto Ierusalimschy
|
916bd874ad
|
added explicit default options to string.pack/unpack functions
|
2014-01-09 14:21:28 -02:00 |
|
Roberto Ierusalimschy
|
cd848cab6b
|
first implementation for string.pack/unpackfloat + try not to assume
that chars have 8 bits
|
2014-01-08 16:34:34 -02:00 |
|
Roberto Ierusalimschy
|
29256e8960
|
first implementation of string.packint/string.unpackint
|
2014-01-05 12:05:58 -02:00 |
|
Roberto Ierusalimschy
|
438c534ff4
|
'arg' arguments (previously called 'narg', 'nArg', 'numArg', etc.)
renamed all to 'arg'
|
2014-01-05 12:04:46 -02:00 |
|
Roberto Ierusalimschy
|
1ea2d20f74
|
first implementation of '<<', '>>', and '~' (bitwise not)
|
2013-12-30 18:47:58 -02:00 |
|
Roberto Ierusalimschy
|
f5133aa1a5
|
small change in handling of unary operations
|
2013-12-18 16:44:42 -02:00 |
|
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 |
|