Roberto Ierusalimschy
|
b472098493
|
concat TM can yield
|
2008-11-06 10:43:51 -02:00 |
|
Roberto Ierusalimschy
|
84b3daebbd
|
generic for coded as two dedicated instructions to simplify resumption
|
2008-10-30 13:39:30 -02:00 |
|
Roberto Ierusalimschy
|
f6978173e0
|
yields accross metamethods and for iterators (except for __concat)
|
2008-10-28 14:53:16 -02:00 |
|
Roberto Ierusalimschy
|
4376c9bc5f
|
more specific test to avoid calling luaF_close when function returns
|
2008-09-09 10:53:02 -03:00 |
|
Roberto Ierusalimschy
|
f94cd2201c
|
better control of call status through CallInfo
|
2008-08-26 10:27:42 -03:00 |
|
Roberto Ierusalimschy
|
fdbb243ff9
|
first steps towards yielding through longjump
|
2008-08-13 14:02:42 -03:00 |
|
Roberto Ierusalimschy
|
a4d3080fe3
|
SETLIST extra argument now is an "instruction" (OP_EXTRAARG)
|
2008-04-02 14:38:54 -03:00 |
|
Roberto Ierusalimschy
|
fe0838cd1c
|
tables and strings respect __len metamethod
|
2007-09-10 14:59:32 -03:00 |
|
Roberto Ierusalimschy
|
6c042e17b1
|
avoid boolean equality (tricky for some compilers)
|
2007-06-19 16:48:15 -03:00 |
|
Roberto Ierusalimschy
|
1a455acc81
|
two small bugs: some metamethods do not accept callable non-function
objects + __concat converts numbers to strings before calling metamethod
|
2007-03-26 12:56:23 -03:00 |
|
Roberto Ierusalimschy
|
08f902cf49
|
better documentation for auxiliary functions (that should be called only
through specific macros).
|
2007-02-09 11:04:52 -02:00 |
|
Roberto Ierusalimschy
|
569a326931
|
small optimization for ""..x
|
2006-09-19 11:06:45 -03:00 |
|
Roberto Ierusalimschy
|
d1ef7e0ec6
|
avoid local "pc" in interpreter loop (tricky optimization with no real gain)
|
2006-09-19 10:57:50 -03:00 |
|
Roberto Ierusalimschy
|
a7c9e45c64
|
avoid trailing white spaces
|
2006-09-11 11:07:24 -03:00 |
|
Roberto Ierusalimschy
|
dfe2f1eeff
|
macros luai_num* take a state L (when available) as argument, to allow
them to generate errors (and other facilities)
|
2006-08-07 16:14:30 -03:00 |
|
Roberto Ierusalimschy
|
fa0c03aaa6
|
details
|
2006-07-14 13:22:24 -03:00 |
|
Roberto Ierusalimschy
|
3ca9af51a4
|
emergency garbage collector (core forces a GC when allocation fails)
|
2006-07-11 12:53:29 -03:00 |
|
Roberto Ierusalimschy
|
e2dc5f5d15
|
extra assertion
|
2006-06-05 12:58:59 -03:00 |
|
Roberto Ierusalimschy
|
9e6e43984d
|
details
|
2006-01-23 17:51:43 -02:00 |
|
Roberto Ierusalimschy
|
dd1221582b
|
details
|
2006-01-10 10:50:00 -02:00 |
|
Roberto Ierusalimschy
|
c505f341d6
|
small changes in casts
|
2005-12-22 14:19:56 -02:00 |
|
Roberto Ierusalimschy
|
a160266c3d
|
details
|
2005-11-01 14:08:45 -02:00 |
|
Roberto Ierusalimschy
|
8e48ebb638
|
no more L in numer-operator macros (some functions that use those macros
have no access to L)
|
2005-10-24 15:37:52 -02:00 |
|
Roberto Ierusalimschy
|
cd12ab2597
|
details (more uniform coding)
|
2005-10-13 09:21:26 -03:00 |
|
Roberto Ierusalimschy
|
a77413acd0
|
include of math.h depends on luaconf
|
2005-10-03 11:01:26 -03:00 |
|
Roberto Ierusalimschy
|
6dd3a73ca2
|
detail (macro evaluates twice its arguments)
|
2005-09-09 15:23:35 -03:00 |
|
Roberto Ierusalimschy
|
3b19af44b0
|
new method to handle tests without values (negative values)
|
2005-08-29 17:49:21 -03:00 |
|
Roberto Ierusalimschy
|
98296f6b45
|
some bugs related to stack reallocation
|
2005-08-24 13:15:49 -03:00 |
|
Roberto Ierusalimschy
|
6fcd334ca0
|
small improvements
|
2005-08-22 15:54:49 -03:00 |
|
Roberto Ierusalimschy
|
42a662334a
|
simpler implementation for unary minus
|
2005-08-10 17:20:13 -03:00 |
|
Roberto Ierusalimschy
|
44b19075c0
|
small changes (to easy integration with Coco)
|
2005-08-09 16:49:04 -03:00 |
|
Roberto Ierusalimschy
|
894cd31c52
|
#string is primitive
|
2005-08-09 14:42:02 -03:00 |
|
Roberto Ierusalimschy
|
ee1edd5734
|
detail
|
2005-07-05 11:31:20 -03:00 |
|
Roberto Ierusalimschy
|
5fa2bec1f0
|
bug: current line should work for call hook
|
2005-06-13 11:15:22 -03:00 |
|
Roberto Ierusalimschy
|
90de38bf1f
|
warnings in VS .Net
|
2005-05-31 11:25:18 -03:00 |
|
Roberto Ierusalimschy
|
f21e9c172f
|
details
|
2005-05-20 12:53:42 -03:00 |
|
Roberto Ierusalimschy
|
67578ec51f
|
several small details
|
2005-05-17 16:49:15 -03:00 |
|
Roberto Ierusalimschy
|
c2bb9abcec
|
better quotes for strings in error messages
|
2005-05-16 18:19:00 -03:00 |
|
Roberto Ierusalimschy
|
65f4a0f636
|
no more compatibility code for traversing tables
|
2005-05-04 17:42:28 -03:00 |
|
Roberto Ierusalimschy
|
d5fd44d747
|
corrected definition of lua_number2int for Windows
|
2005-05-03 16:30:17 -03:00 |
|
Roberto Ierusalimschy
|
b0abc2ca03
|
better control of local variables in luaV_execute
|
2005-05-03 16:01:17 -03:00 |
|
Roberto Ierusalimschy
|
9b8d136e1c
|
`*' operator is primitive only for tables
|
2005-05-02 14:49:43 -03:00 |
|
Roberto Ierusalimschy
|
a7ea0c71e8
|
detail
|
2005-04-11 15:01:29 -03:00 |
|
Roberto Ierusalimschy
|
7b6c3b463e
|
small optimizations
|
2005-04-05 10:41:29 -03:00 |
|
Roberto Ierusalimschy
|
0316308c0d
|
removed dirt optimizations that gave small gains
|
2005-04-04 15:12:51 -03:00 |
|
Roberto Ierusalimschy
|
ade585bdf9
|
no more LUA_FIRSTINDEX
|
2005-03-28 14:17:53 -03:00 |
|
Roberto Ierusalimschy
|
47984a0cc2
|
internal definitions have prefix `luai_'
|
2005-03-18 15:01:37 -03:00 |
|
Roberto Ierusalimschy
|
04bbd01171
|
new operation *t (for size of t) (may yet be removed...)
|
2005-03-16 13:59:21 -03:00 |
|
Roberto Ierusalimschy
|
370d31a559
|
luac´ -> luai' (to avoid confusion with other luac stuff)
|
2005-03-09 13:28:07 -03:00 |
|
Roberto Ierusalimschy
|
f8df21bd20
|
`luaconf.h´ exports all its definitions always (so all of them
must have a lua/LUA prefix).
|
2005-03-08 17:10:05 -03:00 |
|
Roberto Ierusalimschy
|
b5b230d95c
|
fewer #include's in luaconf.h
|
2005-03-08 15:09:16 -03:00 |
|
Roberto Ierusalimschy
|
7d57ea70bc
|
new mod' ( %') operator
|
2005-03-08 15:00:16 -03:00 |
|
Roberto Ierusalimschy
|
e010ef8948
|
detail
|
2005-03-07 15:27:34 -03:00 |
|
Roberto Ierusalimschy
|
d1ed6e4c07
|
small bug: must use original (previous) base
|
2005-03-07 13:59:01 -03:00 |
|
Roberto Ierusalimschy
|
d55bb795fa
|
details
|
2005-02-23 14:30:22 -03:00 |
|
Roberto Ierusalimschy
|
d84cc9d2db
|
small bug
|
2005-02-18 10:50:08 -02:00 |
|
Roberto Ierusalimschy
|
7d45a5f48f
|
C functions and userdata also have environments
|
2005-02-18 10:40:02 -02:00 |
|
Roberto Ierusalimschy
|
a72fbf794d
|
detail
|
2005-01-10 17:16:29 -02:00 |
|
Roberto Ierusalimschy
|
8ddfe3df29
|
macros for all arithmetic operations over lua_Numbers
|
2005-01-10 16:17:39 -02:00 |
|
Roberto Ierusalimschy
|
f61d435a7d
|
a^b calls `pow´ (from math.h) directly
|
2005-01-07 18:00:33 -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
|
65726f3e2e
|
cleaner interface to `ltable'
|
2005-01-04 13:55:12 -02:00 |
|
Roberto Ierusalimschy
|
c78940f21a
|
static names do not need `luaX_' prefix
|
2004-12-03 18:50:25 -02:00 |
|
Roberto Ierusalimschy
|
737ec947d3
|
better implementation for `floating-point bytes'
|
2004-11-01 12:06:50 -03:00 |
|
Roberto Ierusalimschy
|
cfb79b1751
|
more secure way to compute final string length
|
2004-10-28 14:45:51 -03:00 |
|
Roberto Ierusalimschy
|
5ee87acd6b
|
small optimization for boolean constants + new format for SETLIST opcode
|
2004-10-04 16:01:53 -03:00 |
|
Roberto Ierusalimschy
|
2419f2bf02
|
cleaner API for coroutines
|
2004-09-15 17:39:42 -03:00 |
|
Roberto Ierusalimschy
|
c7dda42c2f
|
bug (due to new handling of varargs)
|
2004-08-12 11:19:51 -03:00 |
|
Roberto Ierusalimschy
|
26ae992129
|
less conservative write barrier for tables
|
2004-08-10 16:17:23 -03:00 |
|
Roberto Ierusalimschy
|
02a2c01ccd
|
new way to code RK values
|
2004-06-29 15:49:02 -03:00 |
|
Roberto Ierusalimschy
|
23e08a68f5
|
detail
|
2004-06-29 14:05:00 -03:00 |
|
Roberto Ierusalimschy
|
9b854e6dbc
|
BUG: string concatenation may cause arithmetic overflow, leading
to a buffer overflow.
|
2004-06-08 13:23:58 -03:00 |
|
Roberto Ierusalimschy
|
e8d4fe7236
|
new macro lua_threadyield' + lock stuff in luaconf.h' + details
|
2004-06-02 16:07:55 -03:00 |
|
Roberto Ierusalimschy
|
616438fe9a
|
new way to use vararg' parameters (with ...')
|
2004-05-31 15:51:50 -03:00 |
|
Roberto Ierusalimschy
|
0bda88e6cd
|
small steps towards yields in iterators and tag methods
|
2004-05-14 16:25:09 -03:00 |
|
Roberto Ierusalimschy
|
7e41612eb2
|
code parameterized by LUA_FIRSTINDEX (first index of an array)
|
2004-05-10 14:50:51 -03:00 |
|
Roberto Ierusalimschy
|
b4cd38ba6c
|
new scheme for configuration through `luaconf.h'
|
2004-04-30 17:13:38 -03:00 |
|
Roberto Ierusalimschy
|
4c5d7b2ddd
|
small optimization for {f()}
|
2004-03-26 11:02:41 -03:00 |
|
Roberto Ierusalimschy
|
24f2d1183c
|
detail
|
2004-03-16 09:31:40 -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
|
df429f163a
|
First version of incremental GC
|
2003-12-09 14:56:11 -02:00 |
|
Roberto Ierusalimschy
|
1e944de6cb
|
towards a "stackless" call of metamethods (?)
|
2003-10-27 17:14:31 -02:00 |
|
Roberto Ierusalimschy
|
fa26d294ae
|
new way to control `pc' of running functions
|
2003-07-16 17:49:02 -03:00 |
|
Roberto Ierusalimschy
|
f52f357a55
|
correct handling when a thread turns on line hooks in another thread
|
2003-07-07 10:37:56 -03:00 |
|
Roberto Ierusalimschy
|
c116dcb92b
|
better information about instruction behavior (use of arguments)
|
2003-05-14 09:09:12 -03:00 |
|
Roberto Ierusalimschy
|
6d268b0b00
|
new semantics for "for" local variables
|
2003-05-13 17:15:59 -03:00 |
|
Roberto Ierusalimschy
|
fee9e473f2
|
inlining of `luaV_gettable' were too complex (dirty)
|
2003-05-05 15:39:57 -03:00 |
|
Roberto Ierusalimschy
|
0d88545b82
|
warnings from several compilers (mainly typecasts when lua_Number is float)
|
2003-04-03 10:35:34 -03:00 |
|
Roberto Ierusalimschy
|
a424a112b5
|
clearance of debuging code (left by mistake)
|
2003-03-31 10:00:25 -03:00 |
|
Roberto Ierusalimschy
|
4039bf457d
|
^ operator is defined by global `__pow'
|
2003-03-11 09:30:37 -03:00 |
|
Roberto Ierusalimschy
|
7c3857cded
|
comments
|
2003-03-07 10:21:31 -03:00 |
|
Roberto Ierusalimschy
|
8ce6f0b418
|
avoid including system headers after program headers
|
2003-03-06 16:37:42 -03:00 |
|
Roberto Ierusalimschy
|
69dd9461e5
|
bug: GC metamethod calls could mess C/Lua stack syncronization
|
2003-02-28 16:45:15 -03:00 |
|
Roberto Ierusalimschy
|
e1a424e8a3
|
avoid the identifier index' (clashes with BSD index' function)
|
2003-02-27 09:33:07 -03:00 |
|
Roberto Ierusalimschy
|
92f6e0c1bf
|
no-nonsense debug information about tail calls
|
2003-02-27 08:52:30 -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
|
e79bf02f33
|
correct semantics for comparison metamethods (they are only valid
when both operands have the same metamethod).
|
2003-01-27 13:12:52 -02:00 |
|
Roberto Ierusalimschy
|
9e8face8d8
|
must move call results in the last iteration, too
|
2002-12-11 10:34:22 -02:00 |
|
Roberto Ierusalimschy
|
cc4a22ebe2
|
bug: scope of generic for variables is not sound
|
2002-12-06 15:09:00 -02:00 |
|
Roberto Ierusalimschy
|
27c6b4d422
|
each .c file defines its own name
|
2002-12-04 15:38:31 -02:00 |
|
Roberto Ierusalimschy
|
5f698f8b6f
|
simpler interface to hooks + use of `int' to count hooks
|
2002-11-25 15:47:13 -02:00 |
|
Roberto Ierusalimschy
|
b8a680c114
|
resets hook count even in case of errors
|
2002-11-25 09:20:29 -02:00 |
|
Roberto Ierusalimschy
|
84488c5670
|
small bug: previous call may change `base'
|
2002-11-21 15:19:42 -02:00 |
|
Roberto Ierusalimschy
|
be00cd2a6b
|
easier way to keep `base' correct
|
2002-11-21 13:46:44 -02:00 |
|
Roberto Ierusalimschy
|
ddc144e4d2
|
keep L->ci->base in L->base for faster access
|
2002-11-21 13:16:04 -02:00 |
|
Roberto Ierusalimschy
|
b48c6e7680
|
no problem keeping some dead meat while doing collection
|
2002-11-21 12:18:01 -02:00 |
|
Roberto Ierusalimschy
|
642af82e81
|
small bugs (state could keep its CI_HASFRAME attribute after returning)
|
2002-11-19 06:50:56 -02:00 |
|
Roberto Ierusalimschy
|
9bab2cf55d
|
support for yield inside hooks
|
2002-11-18 13:24:11 -02:00 |
|
Roberto Ierusalimschy
|
43013b39cc
|
new representation for hooks (to allow asynchronous calls to sethook)
|
2002-11-18 09:01:55 -02:00 |
|
Roberto Ierusalimschy
|
41fd639cab
|
documentation for write barriers
|
2002-11-14 14:15:53 -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
|
118347d8c3
|
new API for coroutines
|
2002-11-06 17:08:00 -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
|
b3d0682fb9
|
use of different buffers for scanner and concatenation
|
2002-10-08 15:46:08 -03:00 |
|
Roberto Ierusalimschy
|
e8f35fc4ff
|
unification of __index & __gettable (and __newindex & __settable)
|
2002-09-19 17:12:47 -03:00 |
|
Roberto Ierusalimschy
|
565e6d74e1
|
state's buffer is used only for chars
|
2002-09-19 10:03:53 -03:00 |
|
Roberto Ierusalimschy
|
fbc23d0245
|
details
|
2002-08-21 15:56:33 -03:00 |
|
Roberto Ierusalimschy
|
6c283b2f4f
|
new simetric format for ABC instructions, to avoid exchanging operands
for `commutative' operators
|
2002-08-20 17:03:05 -03:00 |
|
Roberto Ierusalimschy
|
8e4ac679ff
|
use a linear count for count hook
|
2002-08-12 14:23:12 -03:00 |
|
Roberto Ierusalimschy
|
5016f43aa4
|
(much) cleaner way to control function states
|
2002-08-07 16:22:39 -03:00 |
|
Roberto Ierusalimschy
|
b6e2f1a86e
|
small bugs when stack is reallocated
|
2002-08-07 11:24:24 -03:00 |
|
Roberto Ierusalimschy
|
4e23699aa6
|
new implementation for error handling
|
2002-08-05 14:36:24 -03:00 |
|
Roberto Ierusalimschy
|
79c8edb6c4
|
new names for light userdata operations
|
2002-07-17 13:25:13 -03:00 |
|
Roberto Ierusalimschy
|
e5146fb01f
|
CallInfo has different fields for C functions and Lua functions
|
2002-07-16 11:26:56 -03:00 |
|
Roberto Ierusalimschy
|
44752fc9ce
|
hook count is quadratic
|
2002-07-08 17:22:08 -03:00 |
|
Roberto Ierusalimschy
|
39b2d58c39
|
new interface for debug hooks
|
2002-07-08 15:21:33 -03:00 |
|
Roberto Ierusalimschy
|
f8279f6cd8
|
optimizations for gettable (temporary)
|
2002-07-05 15:27:39 -03:00 |
|
Roberto Ierusalimschy
|
922f36a05b
|
details
|
2002-06-24 12:07:21 -03:00 |
|
Roberto Ierusalimschy
|
ad41fc11eb
|
details in arithmetic implementation
|
2002-06-24 11:11:14 -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
|
c31494df26
|
avoid gotos when possible
|
2002-06-14 14:21:32 -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
|
000d081fd0
|
warnings from other compilers
|
2002-06-06 15:17:33 -03:00 |
|
Roberto Ierusalimschy
|
fa23301251
|
defintions for lua_number2str and lua_str2number don't need to be public
|
2002-06-05 09:34:19 -03:00 |
|
Roberto Ierusalimschy
|
5094c37988
|
strconc' -> concat'
|
2002-06-03 11:08:43 -03:00 |
|
Roberto Ierusalimschy
|
46c471d7e9
|
new `__newindex' eventfield
|
2002-05-27 17:35:40 -03:00 |
|
Roberto Ierusalimschy
|
b7a0503c1d
|
new format for error messages
|
2002-05-15 15:57:44 -03:00 |
|
Roberto Ierusalimschy
|
af19d55635
|
generic for also coded to make test at the end of the loop
|
2002-05-13 10:09:00 -03:00 |
|
Roberto Ierusalimschy
|
78b40bf57d
|
`skip' instructions must be followed by a jump
|
2002-05-09 11:14:34 -03:00 |
|
Roberto Ierusalimschy
|
0dbf0c5953
|
new format for test intructions (handle NaN correctly)
|
2002-05-06 12:51:41 -03:00 |
|
Roberto Ierusalimschy
|
9a0f0dcc77
|
precompiler may create functions without `lineinfo'
|
2002-05-02 10:06:20 -03:00 |
|
Roberto Ierusalimschy
|
9b38a696d5
|
avoid names that differ only in capitalization
|
2002-04-24 17:07:46 -03:00 |
|
Roberto Ierusalimschy
|
f388ee4a82
|
new way to handle errors
|
2002-04-22 11:40:23 -03:00 |
|
Roberto Ierusalimschy
|
6c7334a9ac
|
line trace uses savedpc' to save last pc' seen
|
2002-04-10 09:11:07 -03:00 |
|
Roberto Ierusalimschy
|
7b65328c8e
|
new semantics for `generic for' (with state)
|
2002-04-09 16:47:44 -03:00 |
|
Roberto Ierusalimschy
|
801aaf37b1
|
simpler implementation for line information
|
2002-03-25 14:47:14 -03:00 |
|
Roberto Ierusalimschy
|
00af2faae7
|
first implementation of proper tail call
|
2002-03-22 13:54:31 -03:00 |
|