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...)
|
15 years ago |
Roberto Ierusalimschy
|
53f9499f7f
|
"light C function" is a better name than "C-function pointer"
|
15 years ago |
Roberto Ierusalimschy
|
575befc394
|
comparsion tag methods follow the same rule as other binary TMs
|
15 years ago |
Roberto Ierusalimschy
|
b7be05ad27
|
invalid instructions "cannot" happen
|
15 years ago |
Roberto Ierusalimschy
|
7dfa4cd655
|
first implementation of light C functions
|
15 years ago |
Roberto Ierusalimschy
|
d394d5536a
|
new macro 'eqstr'
|
15 years ago |
Roberto Ierusalimschy
|
a08fc34ee4
|
avoid using 'luaS_new' when can use 'luaS_newlstr'
|
15 years ago |
Roberto Ierusalimschy
|
9eb832de54
|
work related to hooks moved from 'luaV_execute' to 'traceexec'
|
15 years ago |
Roberto Ierusalimschy
|
064e406f67
|
no more fenvs!
|
15 years ago |
Roberto Ierusalimschy
|
25c557ec63
|
first version of _ENV; no more global variables
|
15 years ago |
Roberto Ierusalimschy
|
347f0c33d1
|
avoid 'continue' unless necessary
|
15 years ago |
Roberto Ierusalimschy
|
0fe2576a39
|
new instructions to optimize indexing on upvalues
|
15 years ago |
Roberto Ierusalimschy
|
36ab1ee10c
|
__unm metamethod gets nil as its 2nd parameter
|
15 years ago |
Roberto Ierusalimschy
|
c3a6f3fa1c
|
'lua_objlen' replaced by 'lua_rawlen', 'lua_len', and 'luaL_len'
|
15 years ago |
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
|
15 years ago |
Roberto Ierusalimschy
|
77077b39d5
|
comment explaining OP_VARARG was wrong (and corresponding code was not
very clear)
|
15 years ago |
Roberto Ierusalimschy
|
0ac3d07ea6
|
first implementation of lexical environments
|
15 years ago |
Roberto Ierusalimschy
|
5938212748
|
information about upvalues (where they come from) kept in Proto structure,
instead of sequence of pseudo-opcodes after OP_CLOSURE
|
15 years ago |
Roberto Ierusalimschy
|
fcc46467fa
|
limit of constants per function changed to 2^26 using extra arguments
to opcodes LOADK, GETGLOBAL, and SETGLOBAL
|
15 years ago |
Roberto Ierusalimschy
|
3135a6bbab
|
luaH_[gs]etnum renamed to luaH_[gs]etint (as they only accept integers,
not generic numbers)
|
15 years ago |
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)
|
16 years ago |
Roberto Ierusalimschy
|
afb3f7e754
|
bug: 'luaV_settable' may invalidate a reference to a table and try
to reuse it.
|
16 years ago |
Roberto Ierusalimschy
|
2bdd194f43
|
exports luaV_arith to be used by lua_arith + uses 'luaO_arith' to
perform basic arith. operations
|
16 years ago |
Roberto Ierusalimschy
|
77fd93188e
|
'lessequal' renamed 'luaV_lessequal' and exported to be used by
'lua_compare'
|
16 years ago |
Roberto Ierusalimschy
|
2258ec6bc9
|
'getline' renamed to 'getfuncline' (to avoid problems with POSIX)
|
16 years ago |
Roberto Ierusalimschy
|
9423e22aa3
|
no more L->base + ci->base only for Lua functions (C functions may use
'func')
|
16 years ago |
Roberto Ierusalimschy
|
57f8414de1
|
small bug in 'luaV_concat' (L->top was left incorrect in some cases)
|
16 years ago |
Roberto Ierusalimschy
|
eea6d10866
|
details (use ci->base instead of L->base when possible)
|
16 years ago |
Roberto Ierusalimschy
|
d7bc346d7a
|
no more code checking
|
16 years ago |
Roberto Ierusalimschy
|
d3037d97ec
|
several small improvements based on 'ci' being fixed now (including
erasing savedpc from lua_State)
|
16 years ago |
Roberto Ierusalimschy
|
4f88418170
|
'CallInfo' stack implemented as double-linked list instead of an array
|
16 years ago |
Roberto Ierusalimschy
|
ba484b9eb1
|
yielding across lua_call (first version)
|
16 years ago |
Roberto Ierusalimschy
|
1817dfc301
|
initial separation, in CallInfo, of what is relevant only to Lua
functions or only to C functions
|
16 years ago |
Roberto Ierusalimschy
|
facfcd497f
|
detail
|
16 years ago |
Roberto Ierusalimschy
|
2b590aea40
|
no more '__len' metamethod for strings
|
16 years ago |
Roberto Ierusalimschy
|
b472098493
|
concat TM can yield
|
16 years ago |
Roberto Ierusalimschy
|
84b3daebbd
|
generic for coded as two dedicated instructions to simplify resumption
|
16 years ago |
Roberto Ierusalimschy
|
f6978173e0
|
yields accross metamethods and for iterators (except for __concat)
|
16 years ago |
Roberto Ierusalimschy
|
4376c9bc5f
|
more specific test to avoid calling luaF_close when function returns
|
16 years ago |
Roberto Ierusalimschy
|
f94cd2201c
|
better control of call status through CallInfo
|
16 years ago |
Roberto Ierusalimschy
|
fdbb243ff9
|
first steps towards yielding through longjump
|
16 years ago |
Roberto Ierusalimschy
|
a4d3080fe3
|
SETLIST extra argument now is an "instruction" (OP_EXTRAARG)
|
17 years ago |
Roberto Ierusalimschy
|
fe0838cd1c
|
tables and strings respect __len metamethod
|
17 years ago |
Roberto Ierusalimschy
|
6c042e17b1
|
avoid boolean equality (tricky for some compilers)
|
18 years ago |
Roberto Ierusalimschy
|
1a455acc81
|
two small bugs: some metamethods do not accept callable non-function
objects + __concat converts numbers to strings before calling metamethod
|
18 years ago |
Roberto Ierusalimschy
|
08f902cf49
|
better documentation for auxiliary functions (that should be called only
through specific macros).
|
18 years ago |
Roberto Ierusalimschy
|
569a326931
|
small optimization for ""..x
|
18 years ago |
Roberto Ierusalimschy
|
d1ef7e0ec6
|
avoid local "pc" in interpreter loop (tricky optimization with no real gain)
|
18 years ago |
Roberto Ierusalimschy
|
a7c9e45c64
|
avoid trailing white spaces
|
18 years ago |
Roberto Ierusalimschy
|
dfe2f1eeff
|
macros luai_num* take a state L (when available) as argument, to allow
them to generate errors (and other facilities)
|
19 years ago |