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
|
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
|
0a850e641d
|
larger limit + better error messages for loop detection in inheritance
|
2014-01-22 18:02:04 -02:00 |
|
Roberto Ierusalimschy
|
1ea2d20f74
|
first implementation of '<<', '>>', and '~' (bitwise not)
|
2013-12-30 18:47:58 -02:00 |
|
Roberto Ierusalimschy
|
c0edab0f6d
|
first implementation of bitwise operators '&' (band), '|' (bor),
and '~' (bxor)
|
2013-12-18 12:12:03 -02:00 |
|
Roberto Ierusalimschy
|
a8f8c7fd80
|
integer exponentiation with negative exponent is invalid
|
2013-12-16 12:30:22 -02: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
|
af35c7f398
|
upvalues collected by reference count
|
2013-08-27 15:53:35 -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
|
439d74e29f
|
added 'local' bit (true => object is only refered by local variables)
|
2013-08-16 15:55:49 -03:00 |
|
Roberto Ierusalimschy
|
2f8c51a552
|
use unsigneds for unary minus, too
|
2013-07-10 14:15:12 -03:00 |
|
Roberto Ierusalimschy
|
453450d687
|
new macro 'l_floor' (allows 'floorf' even when other math operations
do not have an 'f' variant)
|
2013-06-20 12:02:49 -03:00 |
|
Roberto Ierusalimschy
|
130c0e40e0
|
new constant 'MAX_SIZE', distinct from 'MAX_SIZET', for sizes visible
from Lua; these must fit in a lua_Integer
|
2013-06-19 11:27:00 -03:00 |
|
Roberto Ierusalimschy
|
318575627f
|
avoid adding '.0' to "numbers" like "nan" and "inf"
|
2013-06-07 16:02:05 -03:00 |
|
Roberto Ierusalimschy
|
6fb0b11350
|
string contatenation handles conversion of integers to strings +
floats always format as floats (with decimal dot or exponent)
|
2013-06-04 16:36:42 -03:00 |
|
Roberto Ierusalimschy
|
d630daca1a
|
"legal" way to convert a float to an integer in C
|
2013-05-27 09:43:37 -03:00 |
|
Roberto Ierusalimschy
|
8c883cb4e8
|
'objlen' can return integers
|
2013-05-26 11:47:51 -03:00 |
|
Roberto Ierusalimschy
|
b22a4280c6
|
macro 'nvalue' removed + cast to void added to avoid warnings
with 'clang'
|
2013-05-06 14:17:09 -03:00 |
|
Roberto Ierusalimschy
|
6920a7f2e3
|
new macro 'intop' (to perform integer arithmetic on unsigned types)
|
2013-05-02 09:31:26 -03:00 |
|
Roberto Ierusalimschy
|
88bf2f83c0
|
new function 'tointeger' + 'luaV_arith' replaced by 'luaT_trybinTM'
|
2013-04-29 14:12:50 -03:00 |
|
Roberto Ierusalimschy
|
360587f319
|
favoring 'tonumber' over 'nvalue'
|
2013-04-26 16:51:17 -03:00 |
|
Roberto Ierusalimschy
|
f79584faca
|
detail
|
2013-04-26 13:06:53 -03:00 |
|
Roberto Ierusalimschy
|
4abe99dc34
|
new interface for 'tonumber'
|
2013-04-26 13:03:50 -03:00 |
|
Roberto Ierusalimschy
|
a2f5c28a80
|
new operation '//' (integer division)
|
2013-04-26 10:08:29 -03:00 |
|
Roberto Ierusalimschy
|
bb1851ce98
|
'for' loop uses integers when possible
|
2013-04-25 16:50:02 -03:00 |
|
Roberto Ierusalimschy
|
e381c582de
|
integer handling for order comparisons, power, and modulo operations
|
2013-04-25 16:12:41 -03:00 |
|
Roberto Ierusalimschy
|
9600c60df3
|
functions 'get_equalTM' and 'call_orderTM' moved to other files
to make 'lvm.c' smaller
|
2013-04-25 13:07:52 -03:00 |
|
Roberto Ierusalimschy
|
32bf6c9b27
|
functions 'traceexec', 'callTM', and 'call_binTM' moved to other
files to make 'lvm.c' a little smaller
|
2013-04-25 12:59:42 -03:00 |
|
Roberto Ierusalimschy
|
d4f0c4435d
|
a few more operations supporting integers (minus, umin, mult)
|
2013-04-16 15:43:05 -03:00 |
|
Roberto Ierusalimschy
|
07f861385e
|
first steps in the support of integers: basic representation + table indexing + basic API ops (tointeger/pushinteger) + equality + a few extra stuff
|
2013-04-15 12:44:46 -03:00 |
|
Roberto Ierusalimschy
|
8f8665fffa
|
'ttypenv' -> 'ttnov'
|
2013-04-12 16:07:09 -03:00 |
|
Roberto Ierusalimschy
|
75250a237c
|
typos in comments
|
2013-03-16 18:10:18 -03:00 |
|
Roberto Ierusalimschy
|
a3e1c40d6d
|
remove of unecessary luaD_checkstack. (In some cases, C should
ensure stack space; in others, Lua can use the extra slots for
temporary values.)
|
2012-08-16 14:34:28 -03:00 |
|
Roberto Ierusalimschy
|
53480f1163
|
details (remove of some extra spaces)
|
2012-08-14 15:12:34 -03:00 |
|
Roberto Ierusalimschy
|
cc2a60ecb7
|
bugs in yields inside debug hooks
|
2012-06-08 12:14:04 -03:00 |
|
Roberto Ierusalimschy
|
5654763797
|
macro 'checkGC' takes care of setting 'top' to limit stack live values
|
2012-05-14 14:50:49 -03:00 |
|
Roberto Ierusalimschy
|
3cadc37f47
|
no more 'Proto' objects on the stack. Protos are anchored on outer
Protos or on a Closure, which must be created before the Proto.
|
2012-05-08 10:53:33 -03:00 |
|
Roberto Ierusalimschy
|
a4b96ce9a3
|
first implementation of long strings
|
2012-01-25 19:05:40 -02:00 |
|
Roberto Ierusalimschy
|
9f1a8dbdd3
|
'eqstr' -> 'luaS_eqstr'
|
2012-01-23 21:05:18 -02:00 |
|
Roberto Ierusalimschy
|
c82087b8dd
|
cast from 'bool' to 'int' (for C++)
|
2011-12-07 12:43:55 -02:00 |
|
Roberto Ierusalimschy
|
8c62bde36f
|
comment
|
2011-11-29 13:54:38 -02:00 |
|
Roberto Ierusalimschy
|
8119374e74
|
avoid warnings of unreacheable 'break's
|
2011-11-28 15:25:16 -02:00 |
|
Roberto Ierusalimschy
|
217e67cb22
|
new type 'l_noret' for function that do not return
|
2011-10-07 17:45:19 -03:00 |
|
Roberto Ierusalimschy
|
89b59eee73
|
bug: __newindex metamethod may not work if metatable is its own
metatable + luaV_settable does not create entry when there is a
metamethod (and therefore entry is useless)
|
2011-08-17 17:26:47 -03:00 |
|
Roberto Ierusalimschy
|
92afcf2823
|
no more 'luaH_setstr (used only once) + 'luaH_setint' receives value
to be set.
|
2011-08-09 17:58:29 -03:00 |
|
Roberto Ierusalimschy
|
f62565abea
|
avoid warnings with -Wstrict-overflow
|
2011-06-09 15:24:22 -03:00 |
|
Roberto Ierusalimschy
|
3b44821334
|
stricter control (using tag variants) over closure kinds (Lua x C)
|
2011-06-02 16:31:40 -03:00 |
|
Roberto Ierusalimschy
|
821bd7025e
|
more uniform names for 'equalobj'-related functions
|
2011-05-31 15:27:56 -03:00 |
|
Roberto Ierusalimschy
|
9b7dddad7d
|
no need for two different implementations for equality (one raw and
one with metamethods)
|
2011-05-31 15:24:36 -03:00 |
|
Roberto Ierusalimschy
|
81952e6884
|
avoid using expression as argument to unsafe macro 'l_isfalse'
|
2011-05-05 13:16:33 -03:00 |
|
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
|
05ca63642b
|
added macro for code checking
|
2011-04-18 16:48:53 -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
|
5286650894
|
new macro 'ttisequal'
|
2011-04-05 15:32:06 -03:00 |
|
Roberto Ierusalimschy
|
0fb1644c60
|
2nd operand for unary tag methods does not need to be 'nil'
|
2011-04-05 11:26:23 -03:00 |
|
Roberto Ierusalimschy
|
e7a9c45a48
|
trying to avoid assumption that sizeof(char)==1
|
2011-02-07 17:15:24 -02:00 |
|
Roberto Ierusalimschy
|
f8d677f94c
|
no more 'OP_CLOSE' instructions (use jumps to close upvalues)
|
2011-02-07 10:28:27 -02:00 |
|
Roberto Ierusalimschy
|
06c7efb4a9
|
avoid extra increment to 'savedpc' when jumping
|
2011-02-01 16:32:55 -02: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
|
c9af0768fc
|
GC does not mark dead registers inside activation record
|
2010-12-17 10:05:37 -02:00 |
|
Roberto Ierusalimschy
|
ccc4fc9cf0
|
detection of erroneous numeric strings with \0 (such as "1\0")
|
2010-12-06 19:08:36 -02:00 |
|
Roberto Ierusalimschy
|
fdd5f2f7a3
|
comment typos
|
2010-10-29 15:52:46 -02:00 |
|
Roberto Ierusalimschy
|
4590a89b32
|
corrected warnings from different compilers (mostly casts and small
details)
|
2010-10-25 17:01:37 -02:00 |
|
Roberto Ierusalimschy
|
a71c5f6f53
|
typo in comments
|
2010-06-30 11:11:17 -03:00 |
|
Roberto Ierusalimschy
|
fabe4ec487
|
better barrier for prototypes
|
2010-06-07 13:55:34 -03:00 |
|
Roberto Ierusalimschy
|
575074fd85
|
Lua closures are cached for reuse
|
2010-06-04 10:25:10 -03:00 |
|
Roberto Ierusalimschy
|
cf531912f2
|
one more macro (mvdispatch) to easy experiments with alternative
dispatch methods
|
2010-05-13 16:53:05 -03:00 |
|
Roberto Ierusalimschy
|
b6e9fcbd70
|
use of macro ('vmcase') to format all cases in main switch of
'luaV_execute' (to facilitate experiences with direct threading)
|
2010-05-12 17:40:35 -03:00 |
|
Roberto Ierusalimschy
|
8554baeacf
|
small changes in 'luaV_execute' to make cases more regularly formatted
|
2010-05-12 17:31:33 -03:00 |
|
Roberto Ierusalimschy
|
237f755dca
|
typos in comments
|
2010-05-05 15:49:56 -03:00 |
|
Roberto Ierusalimschy
|
fde866e303
|
details (comments)
|
2010-05-04 14:25:19 -03:00 |
|
Roberto Ierusalimschy
|
49ca1f7083
|
allows thread switches (when/if there are thread switches) in the same
places that finalizers can run (so they should be safe...)
|
2010-04-19 14:58: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
|
575befc394
|
comparsion tag methods follow the same rule as other binary TMs
|
2010-04-18 10:15:11 -03:00 |
|
Roberto Ierusalimschy
|
b7be05ad27
|
invalid instructions "cannot" happen
|
2010-04-15 16:43:43 -03:00 |
|
Roberto Ierusalimschy
|
7dfa4cd655
|
first implementation of light C functions
|
2010-04-14 12:13:48 -03:00 |
|
Roberto Ierusalimschy
|
d394d5536a
|
new macro 'eqstr'
|
2010-04-05 13:26:37 -03:00 |
|
Roberto Ierusalimschy
|
a08fc34ee4
|
avoid using 'luaS_new' when can use 'luaS_newlstr'
|
2010-04-02 12:39:07 -03:00 |
|
Roberto Ierusalimschy
|
9eb832de54
|
work related to hooks moved from 'luaV_execute' to 'traceexec'
|
2010-03-29 17:45:49 -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
|
347f0c33d1
|
avoid 'continue' unless necessary
|
2010-02-27 18:16:24 -03:00 |
|
Roberto Ierusalimschy
|
0fe2576a39
|
new instructions to optimize indexing on upvalues
|
2010-02-26 17:40:29 -03:00 |
|
Roberto Ierusalimschy
|
36ab1ee10c
|
__unm metamethod gets nil as its 2nd parameter
|
2010-01-15 14:23:58 -02:00 |
|
Roberto Ierusalimschy
|
c3a6f3fa1c
|
'lua_objlen' replaced by 'lua_rawlen', 'lua_len', and 'luaL_len'
|
2009-12-17 14:20:01 -02:00 |
|
Roberto Ierusalimschy
|
b0f2b288a6
|
new scheme for debug info about tail calls: no more 'fake' stack entries,
but stack entry knows whether it was tail called
|
2009-11-25 13:27:51 -02:00 |
|
Roberto Ierusalimschy
|
77077b39d5
|
comment explaining OP_VARARG was wrong (and corresponding code was not
very clear)
|
2009-10-28 10:20:07 -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
|
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
|
3135a6bbab
|
luaH_[gs]etnum renamed to luaH_[gs]etint (as they only accept integers,
not generic numbers)
|
2009-08-07 13:17:41 -03:00 |
|
Roberto Ierusalimschy
|
11d7ba79f2
|
tail calls do not need to move whole new frame down, only its slice
up to last parameter (the rest has not been used yet)
|
2009-07-15 15:38:16 -03:00 |
|
Roberto Ierusalimschy
|
afb3f7e754
|
bug: 'luaV_settable' may invalidate a reference to a table and try
to reuse it.
|
2009-07-01 17:31:25 -03:00 |
|
Roberto Ierusalimschy
|
2bdd194f43
|
exports luaV_arith to be used by lua_arith + uses 'luaO_arith' to
perform basic arith. operations
|
2009-06-17 14:50:09 -03:00 |
|
Roberto Ierusalimschy
|
77fd93188e
|
'lessequal' renamed 'luaV_lessequal' and exported to be used by
'lua_compare'
|
2009-06-17 13:17:14 -03:00 |
|
Roberto Ierusalimschy
|
2258ec6bc9
|
'getline' renamed to 'getfuncline' (to avoid problems with POSIX)
|
2009-06-10 13:57:53 -03:00 |
|
Roberto Ierusalimschy
|
9423e22aa3
|
no more L->base + ci->base only for Lua functions (C functions may use
'func')
|
2009-06-01 16:09:26 -03:00 |
|
Roberto Ierusalimschy
|
57f8414de1
|
small bug in 'luaV_concat' (L->top was left incorrect in some cases)
|
2009-05-27 14:11:27 -03:00 |
|
Roberto Ierusalimschy
|
eea6d10866
|
details (use ci->base instead of L->base when possible)
|
2009-05-22 12:19:54 -03:00 |
|
Roberto Ierusalimschy
|
d7bc346d7a
|
no more code checking
|
2009-04-30 14:42:21 -03:00 |
|