Roberto Ierusalimschy
|
575074fd85
|
Lua closures are cached for reuse
|
2010-06-04 10:25:10 -03:00 |
|
Roberto Ierusalimschy
|
0bccf03d7e
|
slightly better definition for 'changenvalue'
|
2010-05-07 15:44:46 -03:00 |
|
Roberto Ierusalimschy
|
53f9499f7f
|
"light C function" is a better name than "C-function pointer"
|
2010-04-18 10:22:48 -03:00 |
|
Roberto Ierusalimschy
|
7dfa4cd655
|
first implementation of light C functions
|
2010-04-14 12:13:48 -03:00 |
|
Roberto Ierusalimschy
|
d20ff60615
|
new macro LUA_NUMTAGS
|
2010-04-12 13:07:29 -03:00 |
|
Roberto Ierusalimschy
|
064e406f67
|
no more fenvs!
|
2010-03-26 17:58:11 -03:00 |
|
Roberto Ierusalimschy
|
25c557ec63
|
first version of _ENV; no more global variables
|
2010-03-12 16:14:06 -03:00 |
|
Roberto Ierusalimschy
|
1ebf109c53
|
'setobj' must assing fields one by one, to allow trick of using
pad space in table keys
|
2010-01-08 18:00:20 -02:00 |
|
Roberto Ierusalimschy
|
062e809e54
|
new macros 'LUAI_DDEC'/'LUAI_DDEF' to better control declarations and
definitions of non-static variables
|
2009-11-19 17:06:52 -02:00 |
|
Roberto Ierusalimschy
|
2583bac3d3
|
several small changes to simplify changing TValue if needed
|
2009-11-06 15:09:27 -02:00 |
|
Roberto Ierusalimschy
|
9756f56354
|
better control over accesses to TValue fields
|
2009-11-05 15:43:54 -02:00 |
|
Roberto Ierusalimschy
|
0ac3d07ea6
|
first implementation of lexical environments
|
2009-09-30 12:38:37 -03:00 |
|
Roberto Ierusalimschy
|
5938212748
|
information about upvalues (where they come from) kept in Proto structure,
instead of sequence of pseudo-opcodes after OP_CLOSURE
|
2009-09-28 13:32:50 -03:00 |
|
Roberto Ierusalimschy
|
bd5fa9cc8f
|
new macro 'getproto'
|
2009-07-15 15:37:19 -03:00 |
|
Roberto Ierusalimschy
|
a36c8e1718
|
new macro 'changenvalue'
|
2009-06-18 13:36:40 -03:00 |
|
Roberto Ierusalimschy
|
6a024df440
|
new function 'luaO_arith' to perform basic arithmetic operations
|
2009-06-17 14:48:34 -03:00 |
|
Roberto Ierusalimschy
|
3dbf305408
|
no more support for old-style varargs
|
2009-03-26 09:57:01 -03:00 |
|
Roberto Ierusalimschy
|
bb92ef23cb
|
bug: string at the end of TString must consider the entire TString
entity, not only its 'tsv' part
|
2008-08-05 16:26:23 -03:00 |
|
Roberto Ierusalimschy
|
a76fa25199
|
'ceillog2' now is exported (other modules may need it)
|
2008-01-30 16:05:23 -02:00 |
|
Roberto Ierusalimschy
|
94d40f3980
|
luaO_log2 can be private to ltable.c
|
2007-04-10 09:18:17 -03:00 |
|
Roberto Ierusalimschy
|
a7c9e45c64
|
avoid trailing white spaces
|
2006-09-11 11:07:24 -03:00 |
|
Roberto Ierusalimschy
|
440113bbe8
|
unused macro removed
|
2006-01-18 09:37:34 -02:00 |
|
Roberto Ierusalimschy
|
ffb798e1e2
|
avoids type punning for table keys
|
2006-01-10 10:51:53 -02:00 |
|
Roberto Ierusalimschy
|
c2bd68d2c3
|
detail
|
2005-10-24 15:37:33 -02:00 |
|
Roberto Ierusalimschy
|
0d1685d751
|
bug: last tag is not the number of tags...
|
2005-06-13 11:19:00 -03:00 |
|
Roberto Ierusalimschy
|
bf2b342ac1
|
better control for compatibility code for varargs
|
2005-06-13 11:15:54 -03:00 |
|
Roberto Ierusalimschy
|
d987cf1f81
|
new mark LUAI_DATA for extern data
|
2005-06-06 10:30:25 -03:00 |
|
Roberto Ierusalimschy
|
90de38bf1f
|
warnings in VS .Net
|
2005-05-31 11:25:18 -03:00 |
|
Roberto Ierusalimschy
|
1ab2b93462
|
debug information for last line of a function definition
|
2005-05-05 17:47:02 -03:00 |
|
Roberto Ierusalimschy
|
8718fda9b2
|
added LUAI_FUNC to functions not in the API
|
2005-04-25 16:24:10 -03:00 |
|
Roberto Ierusalimschy
|
7d45a5f48f
|
C functions and userdata also have environments
|
2005-02-18 10:40:02 -02:00 |
|
Roberto Ierusalimschy
|
334ba8132b
|
cleaner way to remark open upvalues
|
2005-01-18 15:18:09 -02:00 |
|
Roberto Ierusalimschy
|
e2498e079e
|
change in hash algorithm so that it does not need empty slot
(tables can be 100% full)
|
2005-01-05 16:20:51 -02:00 |
|
Roberto Ierusalimschy
|
531874f6ce
|
better (correct?) way to handle `next' over removed keys
|
2004-12-04 16:10:22 -02:00 |
|
Roberto Ierusalimschy
|
737ec947d3
|
better implementation for `floating-point bytes'
|
2004-11-01 12:06:50 -03:00 |
|
Roberto Ierusalimschy
|
bd38017ddf
|
small optimization for table size in machines with double allignment
|
2004-10-06 15:34:16 -03:00 |
|
Roberto Ierusalimschy
|
616438fe9a
|
new way to use vararg' parameters (with ...')
|
2004-05-31 15:51:50 -03:00 |
|
Roberto Ierusalimschy
|
a4e1230f95
|
better way to control open upvalues
|
2004-03-15 18:04:33 -03:00 |
|
Roberto Ierusalimschy
|
898e8a6794
|
added include to stdarg.h (as it uses vararg facilities)
|
2004-02-20 13:01:05 -03:00 |
|
Roberto Ierusalimschy
|
2aaf7394ad
|
more and better tools (assertions & inspectors) to check incremental GC
|
2004-02-16 16:09:52 -03:00 |
|
Roberto Ierusalimschy
|
47fc57a252
|
TObject' renamed to TValue' + other name changes and better assertions
for incremental garbage collection
|
2003-12-10 10:13:36 -02:00 |
|
Roberto Ierusalimschy
|
366e4af3c9
|
towards incremental GC
|
2003-11-18 12:55:11 -02:00 |
|
Roberto Ierusalimschy
|
8332d5c8a5
|
parser fully reentrant(!)
|
2003-08-27 18:01:44 -03:00 |
|
Roberto Ierusalimschy
|
572a69df78
|
Lua does not need all those different types...
|
2003-04-28 16:26:16 -03:00 |
|
Roberto Ierusalimschy
|
ab9e062928
|
name changes to avoid name collision between macros and variables
|
2003-03-18 09:50:04 -03:00 |
|
Roberto Ierusalimschy
|
60c83ded30
|
small optimization for sizes of array constructors
|
2003-02-18 13:02:56 -03:00 |
|
Roberto Ierusalimschy
|
7a40cdbda0
|
different variables for number of upvalues and size of upvalue array
(makes code clearer)
|
2003-02-11 08:46:24 -02:00 |
|
Roberto Ierusalimschy
|
dd8edecae1
|
new functions to manipulate upvales (get/setupvalue)
|
2002-12-19 09:11:55 -02:00 |
|
Roberto Ierusalimschy
|
b40c9f7a3c
|
better code to signal write barriers
|
2002-11-14 14:16:21 -02:00 |
|
Roberto Ierusalimschy
|
5c5d9b2703
|
back to `__mode' metafield to specify weakness
|
2002-11-14 10:01:35 -02:00 |
|
Roberto Ierusalimschy
|
3010eb0536
|
all objects with several children (tables, closures, stacks, prototypes)
go to `gray' queue
|
2002-11-13 09:49:19 -02:00 |
|
Roberto Ierusalimschy
|
dff9be4224
|
new macros to distinguish different types of object moves (for future GC
evolution).
|
2002-11-07 13:37:10 -02:00 |
|
Roberto Ierusalimschy
|
6820da5096
|
detail
|
2002-11-04 10:31:44 -02:00 |
|
Roberto Ierusalimschy
|
96e15b8501
|
threads now are real Lua objects, subject to garbage collection
|
2002-10-25 17:05:28 -03:00 |
|
Roberto Ierusalimschy
|
84e0b1bc97
|
small changes in type configuration facilities
|
2002-10-22 14:18:28 -03:00 |
|
Roberto Ierusalimschy
|
c196348717
|
in case of memory allocation errors, sizecode and sizelineinfo can
be different
|
2002-10-16 17:40:58 -03:00 |
|
Roberto Ierusalimschy
|
b3d0682fb9
|
use of different buffers for scanner and concatenation
|
2002-10-08 15:46:08 -03:00 |
|
Roberto Ierusalimschy
|
565e6d74e1
|
state's buffer is used only for chars
|
2002-09-19 10:03:53 -03:00 |
|
Roberto Ierusalimschy
|
4964e7c8a0
|
details
|
2002-09-02 16:54:49 -03:00 |
|
Roberto Ierusalimschy
|
fdafd4f4a8
|
new structure for collectable objects, sharing a common header
|
2002-08-30 16:09:21 -03:00 |
|
Roberto Ierusalimschy
|
da19c436cc
|
cleaning the stage for generational collection
|
2002-08-16 11:45:55 -03:00 |
|
Roberto Ierusalimschy
|
634344d61f
|
new API for weak mode
|
2002-08-06 14:06:56 -03:00 |
|
Roberto Ierusalimschy
|
5037196f6f
|
new macros `ttis*'
|
2002-08-05 11:50:39 -03:00 |
|
Roberto Ierusalimschy
|
79c8edb6c4
|
new names for light userdata operations
|
2002-07-17 13:25:13 -03:00 |
|
Roberto Ierusalimschy
|
9f4b5b5232
|
weak keys are removed only after finalization
|
2002-07-01 14:06:58 -03:00 |
|
Roberto Ierusalimschy
|
fdfd5b44ee
|
TM_GETTABLE/TM_SETTABLE don't need fast access anymore
|
2002-06-24 17:18:38 -03:00 |
|
Roberto Ierusalimschy
|
e34f282365
|
`luaV_gettable' returns element position
|
2002-06-24 10:08:45 -03:00 |
|
Roberto Ierusalimschy
|
3941af53ad
|
first implementation of independent global table per function
|
2002-06-20 17:41:46 -03:00 |
|
Roberto Ierusalimschy
|
864c96f36c
|
new fallback for equality `__eq'
|
2002-06-13 10:39:55 -03:00 |
|
Roberto Ierusalimschy
|
eeab473fc8
|
new fallback __le (less equal), for partial order
|
2002-06-12 11:56:22 -03:00 |
|
Roberto Ierusalimschy
|
955def0348
|
new names for string formating functions
|
2002-05-16 15:39:46 -03:00 |
|
Roberto Ierusalimschy
|
b7a0503c1d
|
new format for error messages
|
2002-05-15 15:57:44 -03:00 |
|
Roberto Ierusalimschy
|
dea6b6da94
|
new function lua_vpushstr' to replace uses of sprintf'
|
2002-05-07 14:36:56 -03:00 |
|
Roberto Ierusalimschy
|
0dbf0c5953
|
new format for test intructions (handle NaN correctly)
|
2002-05-06 12:51:41 -03:00 |
|
Roberto Ierusalimschy
|
237969724f
|
support for light' userdata + simpler support for boxed' udata
|
2002-04-05 15:54:31 -03:00 |
|
Roberto Ierusalimschy
|
801aaf37b1
|
simpler implementation for line information
|
2002-03-25 14:47:14 -03:00 |
|
Roberto Ierusalimschy
|
b7ed502dea
|
configurable macros should live in llimits.h
|
2002-03-18 15:16:16 -03:00 |
|
Roberto Ierusalimschy
|
71c716e5a8
|
avoid C identifiers beginning with '_'
|
2002-03-11 09:45:00 -03:00 |
|
Roberto Ierusalimschy
|
8a1a512c64
|
lu_byte is enough for those fields (maxstack < 256)
|
2002-03-05 09:42:47 -03:00 |
|
Roberto Ierusalimschy
|
e01f5e6809
|
better order of record fields for 64-bit machines
|
2002-02-08 20:42:41 -02:00 |
|
Roberto Ierusalimschy
|
d6fd33e76f
|
eventtable' renamed to metatable'
|
2002-01-30 15:26:44 -02:00 |
|
Roberto Ierusalimschy
|
b3bb0f132b
|
new interface for weak modes
|
2002-01-09 19:50:35 -02:00 |
|
Roberto Ierusalimschy
|
e04f7ed450
|
first version of Lua "stackless"
|
2001-12-18 18:52:30 -02:00 |
|
Roberto Ierusalimschy
|
9aff171f3b
|
new type `boolean'
|
2001-12-11 20:48:44 -02:00 |
|
Roberto Ierusalimschy
|
592a309177
|
tag system replaced by event tables
|
2001-12-05 18:15:18 -02:00 |
|
Roberto Ierusalimschy
|
413fc7334b
|
new implementation for lua upvalues (sugested by E.T.): simpler and solves
a bug for multi-stacks
|
2001-11-29 18:22:22 -02:00 |
|
Roberto Ierusalimschy
|
72659a0605
|
no more explicit support for wide-chars; too much troble...
|
2001-11-28 18:13:13 -02:00 |
|
Roberto Ierusalimschy
|
26bf2adace
|
optimizations for space in LClosures and time cleanning weak tables
|
2001-11-06 19:41:53 -02:00 |
|
Roberto Ierusalimschy
|
21aa7e55f2
|
optimization for array part of a Table
|
2001-10-25 17:14:14 -02:00 |
|
Roberto Ierusalimschy
|
15462edb0f
|
new definitions for closure structures
|
2001-10-02 13:45:03 -03:00 |
|
Roberto Ierusalimschy
|
8e9b1e4ae9
|
details
|
2001-09-25 14:08:46 -03:00 |
|
Roberto Ierusalimschy
|
abdbe883a8
|
first implementation of unrestricted static scoping
|
2001-09-07 14:39:10 -03:00 |
|
Roberto Ierusalimschy
|
e1d072571e
|
better syntax for type casts
|
2001-08-31 16:46:07 -03:00 |
|
Roberto Ierusalimschy
|
c3d72096c4
|
use a table to find (and reuse) constants when parsing
|
2001-08-27 12:16:28 -03:00 |
|
Roberto Ierusalimschy
|
770954510f
|
rename of kproto' to p'
|
2001-06-28 11:57:17 -03:00 |
|
Roberto Ierusalimschy
|
b346834a09
|
new macros for changing numbers
|
2001-06-28 11:48:44 -03:00 |
|
Roberto Ierusalimschy
|
37f3a1c045
|
too much optimization to "break" keys in tables; keep them as TObjects...
|
2001-06-26 10:20:45 -03:00 |
|
Roberto Ierusalimschy
|
8e586c13fc
|
cleaner way to ensure alignment for strings and userdata
|
2001-06-15 17:36:57 -03:00 |
|
Roberto Ierusalimschy
|
ba11831d35
|
smaller structs for udata and for strings
|
2001-06-07 12:01:21 -03:00 |
|
Roberto Ierusalimschy
|
d5b83ead90
|
new implementation for userdatas, without `keys'
|
2001-06-06 15:00:19 -03:00 |
|
Roberto Ierusalimschy
|
762d059a13
|
new implementation for the Virtual Machine
|
2001-06-05 15:17:01 -03:00 |
|
Roberto Ierusalimschy
|
0e0e4a480e
|
first implementation for weak tables
|
2001-04-11 11:42:41 -03:00 |
|
Roberto Ierusalimschy
|
6048c4f74d
|
better way to link callinfo's and stack
|
2001-03-07 15:09:25 -03:00 |
|
Roberto Ierusalimschy
|
7b84f9e65c
|
lower-case for macros with arguments
|
2001-03-02 14:27:50 -03:00 |
|
Roberto Ierusalimschy
|
1e40b4dc61
|
buffer should be void *, as char now is not that neutral...
+ little bug in pointer arithmetic
|
2001-02-23 17:32:32 -03:00 |
|
Roberto Ierusalimschy
|
39b7978329
|
first (big) step to support wide chars
|
2001-02-23 14:17:25 -03:00 |
|
Roberto Ierusalimschy
|
888f91fa24
|
code check for upvalues
|
2001-02-20 15:28:11 -03:00 |
|
Roberto Ierusalimschy
|
099442c41f
|
better separation between basic types
|
2001-02-20 15:15:33 -03:00 |
|
Roberto Ierusalimschy
|
d2e340f467
|
string pointers are always fully aligned
|
2001-02-09 18:22:29 -02:00 |
|
Roberto Ierusalimschy
|
1f9e3731d1
|
back to the basics (well-behaved variant record...)
|
2001-02-02 14:32:00 -02:00 |
|
Roberto Ierusalimschy
|
426d3e43bd
|
lock/unlock may use L + better structure for internal debug stuff
|
2001-02-02 13:13:05 -02:00 |
|
Roberto Ierusalimschy
|
e506b864cd
|
no need for tags in boxed values :-(
|
2001-02-01 15:40:48 -02:00 |
|
Roberto Ierusalimschy
|
63a822c8e1
|
all boxed types start with their tags
|
2001-01-29 17:34:02 -02:00 |
|
Roberto Ierusalimschy
|
6b71a9cfe5
|
smaller tables for machines with 8-bit alignment
|
2001-01-29 15:17:26 -02:00 |
|
Roberto Ierusalimschy
|
b82242d4c4
|
detail
|
2001-01-26 13:58:50 -02:00 |
|
Roberto Ierusalimschy
|
a53d9b66ca
|
first implementation for type names
|
2001-01-25 14:45:36 -02:00 |
|
Roberto Ierusalimschy
|
4ac58853dc
|
thead-specific state separated from "global" state
|
2001-01-19 11:20:30 -02:00 |
|
Roberto Ierusalimschy
|
f2c451d745
|
all accesses to TObjects done through macros
|
2001-01-18 13:59:09 -02:00 |
|
Roberto Ierusalimschy
|
0183b8030c
|
`free' gets size of the block: complete control over memory use
|
2000-12-28 10:55:41 -02:00 |
|
Roberto Ierusalimschy
|
4894c27962
|
lua_Number defined in lua.h (1st version)
|
2000-12-04 16:33:40 -02:00 |
|
Roberto Ierusalimschy
|
96253ed8ce
|
better support for 64-bit machines (avoid excessive use of longs)
|
2000-11-24 15:39:56 -02:00 |
|
Roberto Ierusalimschy
|
d1c689af40
|
subtelties in layout of TString
|
2000-10-30 15:49:19 -02:00 |
|
Roberto Ierusalimschy
|
37e9c2e744
|
macro DEBUG renamed to LUA_DEBUG
|
2000-10-30 14:29:59 -02:00 |
|
Roberto Ierusalimschy
|
b892f0a877
|
new API function `createuserdata'
|
2000-10-26 10:47:05 -02:00 |
|
Roberto Ierusalimschy
|
001f2bdd0e
|
new definition for types-tags
|
2000-10-05 09:14:08 -03:00 |
|
Roberto Ierusalimschy
|
f6834f4393
|
new API function `lua_type' + new type lua_Type
|
2000-10-02 17:10:55 -03:00 |
|
Roberto Ierusalimschy
|
dad808a73a
|
new way to count `nblocks' for GC (try to count bytes).
|
2000-09-29 09:42:13 -03:00 |
|
Roberto Ierusalimschy
|
8060193702
|
`lauxlib' is now part of the libraries (not used by core Lua)
|
2000-09-11 17:29:27 -03:00 |
|
Roberto Ierusalimschy
|
787a78f83e
|
new scheme for buffers
|
2000-09-11 14:38:42 -03:00 |
|
Roberto Ierusalimschy
|
c85162be27
|
new way to store local-variable information.
|
2000-08-22 14:44:17 -03:00 |
|
Roberto Ierusalimschy
|
bd39db46ed
|
details
|
2000-08-21 11:34:43 -03:00 |
|
Roberto Ierusalimschy
|
f90bc248b3
|
new structure for line information
|
2000-08-08 15:26:05 -03:00 |
|
Roberto Ierusalimschy
|
d9e61e8cea
|
new algorithm for traversing in GC to avoid deep recursion calls
|
2000-08-07 17:21:34 -03:00 |
|
Roberto Ierusalimschy
|
cfba572076
|
remove dummy argument in LUA_ASSERT
|
2000-06-30 11:35:17 -03:00 |
|
Roberto Ierusalimschy
|
014a09c509
|
better error messages
|
2000-06-28 17:21:06 -03:00 |
|
Roberto Ierusalimschy
|
afef009fce
|
new version of debug system
|
2000-06-26 16:28:31 -03:00 |
|
Roberto Ierusalimschy
|
8ca9534d04
|
access to `values' in TObject always through macros
|
2000-06-08 15:27:13 -03:00 |
|
Roberto Ierusalimschy
|
7e30900def
|
better field name
|
2000-05-30 16:00:31 -03:00 |
|
Roberto Ierusalimschy
|
ef62b340e0
|
code cleaner for 16 bits.
|
2000-05-24 10:54:49 -03:00 |
|
Roberto Ierusalimschy
|
330e51bed3
|
string hash uses one single hash table
|
2000-05-10 13:33:20 -03:00 |
|
Roberto Ierusalimschy
|
91f34fb05c
|
lua.h should not use names without prefix lua_ (`TObject', for instance)
|
2000-05-08 16:37:10 -03:00 |
|
Roberto Ierusalimschy
|
11a7022067
|
global variables are stored in a Lua table
|
2000-05-08 16:32:53 -03:00 |
|
Roberto Ierusalimschy
|
534c3a64d3
|
small optimizations for table access
|
2000-04-25 13:55:09 -03:00 |
|
Roberto Ierusalimschy
|
c3b73cbeb8
|
comments (detail)
|
2000-04-10 16:20:24 -03:00 |
|
Roberto Ierusalimschy
|
36e1390631
|
details.
|
2000-03-31 13:28:45 -03:00 |
|
Roberto Ierusalimschy
|
8f0f54ec38
|
name change
|
2000-03-30 17:55:50 -03:00 |
|
Roberto Ierusalimschy
|
a69356e9e0
|
no more special cases for closures with 0 upvalues (performance is the same,
memory use a little higher, code much simpler).
|
2000-03-29 17:19:20 -03:00 |
|
Roberto Ierusalimschy
|
b53dc0c485
|
TAG_ARRAY -> TAG_TABLE
|
2000-03-27 17:10:21 -03:00 |
|
Roberto Ierusalimschy
|
54633d7c7d
|
new name for llimits.h
|
2000-03-24 16:49:23 -03:00 |
|
Roberto Ierusalimschy
|
213e9febc8
|
limits now are in `llims.n'
|
2000-03-24 14:26:08 -03:00 |
|