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 |
|
Roberto Ierusalimschy
|
d3037d97ec
|
several small improvements based on 'ci' being fixed now (including
erasing savedpc from lua_State)
|
2009-04-17 19:00:01 -03:00 |
|
Roberto Ierusalimschy
|
4f88418170
|
'CallInfo' stack implemented as double-linked list instead of an array
|
2009-04-17 11:28:06 -03:00 |
|
Roberto Ierusalimschy
|
ba484b9eb1
|
yielding across lua_call (first version)
|
2009-03-10 14:14:37 -03:00 |
|
Roberto Ierusalimschy
|
1817dfc301
|
initial separation, in CallInfo, of what is relevant only to Lua
functions or only to C functions
|
2009-03-04 10:32:29 -03:00 |
|
Roberto Ierusalimschy
|
facfcd497f
|
detail
|
2009-03-02 13:34:23 -03:00 |
|
Roberto Ierusalimschy
|
2b590aea40
|
no more '__len' metamethod for strings
|
2009-02-16 17:09:28 -03:00 |
|
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 |
|