Commit Graph

402 Commits

Author SHA1 Message Date
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