Roberto Ierusalimschy
|
4758113043
|
change in opcode OP_LOADNIL: B is used as a counter instead of a
register. (Avoids an assignment to R(B), not present in any other
instruction.)
|
2011-04-19 13:22:13 -03:00 |
|
Roberto Ierusalimschy
|
427ee519db
|
new instruction OP_LOADKX (to replace OP_LOADK with extra argument)
|
2011-04-07 15:14:12 -03:00 |
|
Roberto Ierusalimschy
|
dd547c55c8
|
new scheme to close upvalues in 'break'; jump instructions may
do the close, avoiding the need for a OP_CLOSE instruction
|
2011-02-01 16:03:10 -02:00 |
|
Roberto Ierusalimschy
|
026a7e92be
|
bug in some short-circuit optimizations
|
2011-01-31 12:28:41 -02:00 |
|
Roberto Ierusalimschy
|
81dd13f4c6
|
new way to distinguish between indexing tables in registers and
tables in upvalues (+ fixed small bug when checking conflicts in
multiple assignments)
|
2010-07-07 13:27:29 -03:00 |
|
Roberto Ierusalimschy
|
6a02bbe1e2
|
better organization for fields in struct 'expdesc'
|
2010-07-02 17:42:40 -03:00 |
|
Roberto Ierusalimschy
|
a71c5f6f53
|
typo in comments
|
2010-06-30 11:11:17 -03:00 |
|
Roberto Ierusalimschy
|
c066ac10a9
|
better line numbers for function calls and unary/binary operators +
null statement + no more "ambiguous syntax" restriction
|
2010-04-17 09:46:32 -03:00 |
|
Roberto Ierusalimschy
|
25c557ec63
|
first version of _ENV; no more global variables
|
2010-03-12 16:14:06 -03:00 |
|
Roberto Ierusalimschy
|
0fe2576a39
|
new instructions to optimize indexing on upvalues
|
2010-02-26 17:40:29 -03:00 |
|
Roberto Ierusalimschy
|
cef96b73e1
|
added casts from int to enumerations to follow C++ rules
|
2010-01-11 15:38:30 -02:00 |
|
Roberto Ierusalimschy
|
fcc46467fa
|
limit of constants per function changed to 2^26 using extra arguments
to opcodes LOADK, GETGLOBAL, and SETGLOBAL
|
2009-09-23 17:33:05 -03:00 |
|
Roberto Ierusalimschy
|
1b4480003b
|
"stange numbers" (-0 and NaN) also go to the constant table (as
strings with their binary representation). Therefore, constant
folding may produce these results.
|
2009-08-10 12:31:44 -03:00 |
|
Roberto Ierusalimschy
|
d7872dcf91
|
small optimization (reorder of BinOpr enum to unify some cases
in switches)
|
2009-06-18 13:35:05 -03:00 |
|
Roberto Ierusalimschy
|
96fa34ec32
|
constant folding uses 'luaO_arith' to perform basic operations
|
2009-06-17 14:49:09 -03:00 |
|
Roberto Ierusalimschy
|
3db5f60547
|
BUG: "(((1 or false) and true) or false)" gives wrong result
|
2009-06-15 10:52:08 -03:00 |
|
Roberto Ierusalimschy
|
2598138ece
|
new function 'luaK_codek' (detail)
|
2009-06-10 13:52:03 -03:00 |
|
Roberto Ierusalimschy
|
4d7469b610
|
avoid constant folding for -0 (to avoid it colapsing to 0)
|
2008-04-07 15:41:47 -03:00 |
|
Roberto Ierusalimschy
|
a4d3080fe3
|
SETLIST extra argument now is an "instruction" (OP_EXTRAARG)
|
2008-04-02 14:38:54 -03:00 |
|
Roberto Ierusalimschy
|
81fc3c4f45
|
bug: code generated for "-nil", "-true", and "-false" is wrong
|
2007-05-04 15:41:49 -03:00 |
|
Roberto Ierusalimschy
|
5f4f0d4a63
|
no more optimization to avoid LOADNIL at function start
|
2007-03-27 11:11:38 -03:00 |
|
Roberto Ierusalimschy
|
3b19bd4d57
|
bug: wrong code when constant is coded after it should be
|
2007-03-09 15:50:56 -03:00 |
|
Roberto Ierusalimschy
|
742b8be0c1
|
detail
|
2006-10-10 14:39:00 -03:00 |
|
Roberto Ierusalimschy
|
3c8865cf66
|
detail
|
2006-09-22 17:24:38 -03:00 |
|
Roberto Ierusalimschy
|
bd869c7b31
|
details
|
2006-09-14 15:42:28 -03:00 |
|
Roberto Ierusalimschy
|
d5a23dde90
|
little better error messages for internal arrays overflows
|
2006-09-14 09:59:06 -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
|
ee41bc03ab
|
details
|
2006-06-22 13:12:59 -03:00 |
|
Roberto Ierusalimschy
|
1ae0b6c0bf
|
BUG: should copy the union, not (some of) its fields
|
2006-03-21 16:28:49 -03:00 |
|
Roberto Ierusalimschy
|
c505f341d6
|
small changes in casts
|
2005-12-22 14:19:56 -02:00 |
|
Roberto Ierusalimschy
|
db724e14e0
|
new macro luai_numisnan
|
2005-11-25 11:29:32 -02:00 |
|
Roberto Ierusalimschy
|
521a452f28
|
'mod' may also raise an error when applied to zero
|
2005-11-16 09:55:27 -02:00 |
|
Roberto Ierusalimschy
|
e43e95553f
|
more privacy
|
2005-11-08 17:44:31 -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
|
e9b06c506f
|
small optimization
|
2005-10-13 09:21:51 -03:00 |
|
Roberto Ierusalimschy
|
e251e84e0f
|
constant folding optimizations
|
2005-10-09 17:05:48 -03:00 |
|
Roberto Ierusalimschy
|
5dbb870815
|
small optimization for local declarations without initializations
|
2005-09-30 11:23:33 -03:00 |
|
Roberto Ierusalimschy
|
3b19af44b0
|
new method to handle tests without values (negative values)
|
2005-08-29 17:49:21 -03:00 |
|
Roberto Ierusalimschy
|
074352911f
|
new coding for while and repeat (with new scoping for repeat)
|
2005-08-17 15:32:09 -03:00 |
|
Roberto Ierusalimschy
|
746a1d612b
|
small bug (type error)
|
2005-06-07 15:53:45 -03:00 |
|
Roberto Ierusalimschy
|
f21e9c172f
|
details
|
2005-05-20 12:53:42 -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
|
8ddfe3df29
|
macros for all arithmetic operations over lua_Numbers
|
2005-01-10 16:17:39 -02:00 |
|
Roberto Ierusalimschy
|
c78940f21a
|
static names do not need `luaX_' prefix
|
2004-12-03 18:50:25 -02:00 |
|
Roberto Ierusalimschy
|
5ee87acd6b
|
small optimization for boolean constants + new format for SETLIST opcode
|
2004-10-04 16:01:53 -03:00 |
|
Roberto Ierusalimschy
|
4b12eff801
|
small correction (less conservative write barrier for tables)
|
2004-08-24 17:09:11 -03:00 |
|
Roberto Ierusalimschy
|
31e48f26ed
|
small bug
|
2004-07-16 10:30:53 -03:00 |
|
Roberto Ierusalimschy
|
02a2c01ccd
|
new way to code RK values
|
2004-06-29 15:49:02 -03:00 |
|
Roberto Ierusalimschy
|
616438fe9a
|
new way to use vararg' parameters (with ...')
|
2004-05-31 15:51:50 -03:00 |
|
Roberto Ierusalimschy
|
b4cd38ba6c
|
new scheme for configuration through `luaconf.h'
|
2004-04-30 17:13:38 -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
|
8bc6c68021
|
details
|
2003-11-19 17:59:18 -02:00 |
|
Roberto Ierusalimschy
|
8332d5c8a5
|
parser fully reentrant(!)
|
2003-08-27 18:01:44 -03:00 |
|
Roberto Ierusalimschy
|
c116dcb92b
|
better information about instruction behavior (use of arguments)
|
2003-05-14 09:09:12 -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
|
e1a424e8a3
|
avoid the identifier index' (clashes with BSD index' function)
|
2003-02-27 09:33:07 -03:00 |
|
Roberto Ierusalimschy
|
73517e86b0
|
OP_TFORLOOP uses extra stack space
|
2002-12-11 10:34:22 -02:00 |
|
Roberto Ierusalimschy
|
27c6b4d422
|
each .c file defines its own name
|
2002-12-04 15:38:31 -02:00 |
|
Roberto Ierusalimschy
|
41fd639cab
|
documentation for write barriers
|
2002-11-14 14:15:53 -02: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
|
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
|
5037196f6f
|
new macros `ttis*'
|
2002-08-05 11:50:39 -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
|
cfff013586
|
detail
|
2002-06-03 14:47:18 -03:00 |
|
Roberto Ierusalimschy
|
46c471d7e9
|
new `__newindex' eventfield
|
2002-05-27 17:35:40 -03:00 |
|
Roberto Ierusalimschy
|
1c328a191a
|
no more `global' declarations
|
2002-05-14 14:52:22 -03:00 |
|
Roberto Ierusalimschy
|
b55fded18c
|
details about jump optimization
|
2002-05-13 10:07:48 -03:00 |
|
Roberto Ierusalimschy
|
2dadc81822
|
cleaner implementation of code generation for jumps
|
2002-05-10 16:22:11 -03:00 |
|
Roberto Ierusalimschy
|
b487975344
|
optimization for `while' (first version)
|
2002-05-10 14:02:32 -03:00 |
|
Roberto Ierusalimschy
|
78b40bf57d
|
`skip' instructions must be followed by a jump
|
2002-05-09 11:14:34 -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
|
9b38a696d5
|
avoid names that differ only in capitalization
|
2002-04-24 17:07:46 -03:00 |
|
Roberto Ierusalimschy
|
3ee1efa7b2
|
some simplifications
|
2002-04-22 11:37:09 -03:00 |
|
Roberto Ierusalimschy
|
f1f271ae76
|
details
|
2002-04-10 15:05:08 -03:00 |
|
Roberto Ierusalimschy
|
13ab5a6bb1
|
details
|
2002-04-02 17:43:08 -03:00 |
|
Roberto Ierusalimschy
|
801aaf37b1
|
simpler implementation for line information
|
2002-03-25 14:47:14 -03:00 |
|
Roberto Ierusalimschy
|
2626708b72
|
details
|
2002-03-21 17:31:43 -03:00 |
|
Roberto Ierusalimschy
|
bd8b9c94b3
|
generic for (with any number of control variables)
|
2002-03-08 16:10:32 -03:00 |
|
Roberto Ierusalimschy
|
8a1a512c64
|
lu_byte is enough for those fields (maxstack < 256)
|
2002-03-05 09:42:47 -03:00 |
|
Roberto Ierusalimschy
|
38b0e6128d
|
simpler implementation for `for' loops
|
2002-02-05 20:39:12 -02:00 |
|
Roberto Ierusalimschy
|
74907fb71e
|
OP_LOADINT can be done by OP_LOADK
|
2002-01-25 19:50:39 -02:00 |
|
Roberto Ierusalimschy
|
b38e594ed7
|
small improvements
|
2002-01-18 15:39:40 -02:00 |
|
Roberto Ierusalimschy
|
7ab7703b53
|
cleaner semantics for test instructions (skips)
|
2002-01-16 20:03:57 -02:00 |
|
Roberto Ierusalimschy
|
f083812c02
|
first implementation of coroutines
|
2002-01-09 20:02:47 -02:00 |
|
Roberto Ierusalimschy
|
9aff171f3b
|
new type `boolean'
|
2001-12-11 20:48:44 -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
|
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
|
8c8ad5f3ff
|
better locality of assignment of table values
|
2001-08-30 17:56:43 -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
|
95988676d8
|
small bug when creating AsBc instructions in 16-bit machines
|
2001-07-24 14:19:07 -03:00 |
|
Roberto Ierusalimschy
|
a598804a04
|
small bug in luaK_self (side effects)
|
2001-07-17 11:30:44 -03:00 |
|
Roberto Ierusalimschy
|
8e586c13fc
|
cleaner way to ensure alignment for strings and userdata
|
2001-06-15 17:36:57 -03:00 |
|
Roberto Ierusalimschy
|
89c301d180
|
`(exp)' adjusts exp to 1 result
|
2001-06-12 11:36:48 -03:00 |
|