Commit Graph

  • 55dc7fb240 bug: stack must be cleared until its end (including extra size) + control of stack size moved to 'ldo.c' Roberto Ierusalimschy 2009-07-16 13:26:09 -03:00
  • 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) Roberto Ierusalimschy 2009-07-15 15:38:16 -03:00
  • bd5fa9cc8f new macro 'getproto' Roberto Ierusalimschy 2009-07-15 15:37:19 -03:00
  • 2658c94925 detail (comment: 'correspoding' -> 'corresponding') Roberto Ierusalimschy 2009-07-15 14:57:30 -03:00
  • 215885768c 'index2adr' -> 'index2addr' (correct spelling) Roberto Ierusalimschy 2009-07-15 14:57:03 -03:00
  • a5f68589c0 avoid using 'UNUSED' (not defined outside the kernel) Roberto Ierusalimschy 2009-07-15 14:49:48 -03:00
  • 28419c4383 'luaL_tolstring' uses 'lua_tolstring' instead of 'lua_tostring' and 'lua_objlen' Roberto Ierusalimschy 2009-07-15 14:47:34 -03:00
  • 5bff2aaf47 calls with LUA_MULTRET may leave no free slots in the stack Roberto Ierusalimschy 2009-07-15 14:35:20 -03:00
  • f76f4cb79d new way to control stack overflow, controling only total size of the stack Roberto Ierusalimschy 2009-07-15 14:26:14 -03:00
  • abb85fc059 new definition for 'luaD_checkstack' to avoid possible overflows Roberto Ierusalimschy 2009-07-08 13:06:51 -03:00
  • aabe3ddbf4 errors in 'resume' should be all protected Roberto Ierusalimschy 2009-07-08 13:06:07 -03:00
  • 0c258c8492 smart use of varargs may create functions that return too many arguments and overflow the stack of C functions. Roberto Ierusalimschy 2009-07-02 16:57:34 -03:00
  • d57c9cdefc BUG: 'luaV_settable' may invalidate a reference to a table and try to reuse it. Roberto Ierusalimschy 2009-07-01 18:10:33 -03:00
  • afb3f7e754 bug: 'luaV_settable' may invalidate a reference to a table and try to reuse it. Roberto Ierusalimschy 2009-07-01 17:31:25 -03:00
  • 88564c3aec Standard library for bitwise operations Roberto Ierusalimschy 2009-07-01 13:17:08 -03:00
  • 3abe3da9fb new module 'lbitlib.c' for bitwise operations Roberto Ierusalimschy 2009-07-01 13:16:40 -03:00
  • eb8499c8e0 use of LUAI_UINT32 replaced by 'unsigned LUA_INT32' (one less definition needed) Roberto Ierusalimschy 2009-07-01 13:14:15 -03:00
  • 47c562435b better error messages for luaL_checkversion Roberto Ierusalimschy 2009-06-19 11:21:57 -03:00
  • 02504d86d3 l_version may be local to 'lua_version' Roberto Ierusalimschy 2009-06-19 11:21:23 -03:00
  • 4a818f068a 'checkversion' implemented in the auxiliary library Roberto Ierusalimschy 2009-06-18 15:59:58 -03:00
  • 1d6ebce296 new function 'lua_version' (so that 'checkversion' can be implemented in the auxiliary library) Roberto Ierusalimschy 2009-06-18 15:59:18 -03:00
  • bc3e02a1b7 default paths have dot option as the last one (to improve security) Roberto Ierusalimschy 2009-06-18 15:19:36 -03:00
  • f4eed60ca9 better treatment of integer formats in string.format Roberto Ierusalimschy 2009-06-18 13:51:03 -03:00
  • c1de1fdac6 small optimization in 'lua_arith' (avoids overhead in the common case of both arguments being numbers) Roberto Ierusalimschy 2009-06-18 13:36:40 -03:00
  • a36c8e1718 new macro 'changenvalue' Roberto Ierusalimschy 2009-06-18 13:36:40 -03:00
  • d7872dcf91 small optimization (reorder of BinOpr enum to unify some cases in switches) Roberto Ierusalimschy 2009-06-18 13:35:05 -03:00
  • 14115170bc lua_objlen should not work for numbers (according to the manual) Roberto Ierusalimschy 2009-06-17 15:38:54 -03:00
  • ec52149485 'lua_lessthan' replaced by more generic 'lua_compare' Roberto Ierusalimschy 2009-06-17 14:53:50 -03:00
  • 6980cb1aa7 new functions 'lua_arith' and 'lua_compare' Roberto Ierusalimschy 2009-06-17 14:53:14 -03:00
  • 59a59fafc6 exports luaV_arith to be used by lua_arith Roberto Ierusalimschy 2009-06-17 14:51:07 -03:00
  • 2bdd194f43 exports luaV_arith to be used by lua_arith + uses 'luaO_arith' to perform basic arith. operations Roberto Ierusalimschy 2009-06-17 14:50:09 -03:00
  • 96fa34ec32 constant folding uses 'luaO_arith' to perform basic operations Roberto Ierusalimschy 2009-06-17 14:49:09 -03:00
  • 6a024df440 new function 'luaO_arith' to perform basic arithmetic operations Roberto Ierusalimschy 2009-06-17 14:48:34 -03:00
  • 77fd93188e 'lessequal' renamed 'luaV_lessequal' and exported to be used by 'lua_compare' Roberto Ierusalimschy 2009-06-17 13:17:14 -03:00
  • a21c89ddc8 new API function 'lua_mainthread' Roberto Ierusalimschy 2009-06-15 16:51:31 -03:00
  • 49b88b1c39 patch for wrong code generation for some particular boolean expressions Roberto Ierusalimschy 2009-06-15 11:12:59 -03:00
  • 3db5f60547 BUG: "(((1 or false) and true) or false)" gives wrong result Roberto Ierusalimschy 2009-06-15 10:52:08 -03:00
  • 2258ec6bc9 'getline' renamed to 'getfuncline' (to avoid problems with POSIX) Roberto Ierusalimschy 2009-06-10 13:57:53 -03:00
  • 2598138ece new function 'luaK_codek' (detail) Roberto Ierusalimschy 2009-06-10 13:52:03 -03:00
  • 4a67e48611 new macro 'condmovestack' instead of 'condhardstacktests' Roberto Ierusalimschy 2009-06-08 16:35:59 -03:00
  • 5cdec7d124 added "\n" at the end of 'package.config' (so that the string is a sequence of complete lines) Roberto Ierusalimschy 2009-06-04 16:34:24 -03:00
  • 9423e22aa3 no more L->base + ci->base only for Lua functions (C functions may use 'func') Roberto Ierusalimschy 2009-06-01 16:09:26 -03:00
  • 57f8414de1 small bug in 'luaV_concat' (L->top was left incorrect in some cases) Roberto Ierusalimschy 2009-05-27 14:11:27 -03:00
  • 139d562861 type of 'luai_ctype_' array changed to unsigned (safer for bitwise operations) Roberto Ierusalimschy 2009-05-27 13:51:15 -03:00
  • eea6d10866 details (use ci->base instead of L->base when possible) Roberto Ierusalimschy 2009-05-22 12:19:54 -03:00
  • 019ebcb85f errors in finalizers are propagated with code LUA_ERRGCMM (ERRor in __gc MetaMethod) Roberto Ierusalimschy 2009-05-21 17:06:11 -03:00
  • 889284ebd0 hexadecimal escape sequences in strings + better error messages for bad decimal escape sequences Roberto Ierusalimschy 2009-05-18 14:28:04 -03:00
  • 6956331093 new macro 'zungetc' Roberto Ierusalimschy 2009-05-18 14:26:25 -03:00
  • 92479f1a8b new property 'lisupper' (needed to compute values for hexa digits) Roberto Ierusalimschy 2009-05-18 14:15:14 -03:00
  • e67dc3a227 'symbexec' merged with 'getobjname' (as only use for symbolic execution now is to find a "good" name for an object) Roberto Ierusalimschy 2009-05-04 15:26:21 -03:00
  • 0cc3add9f8 variable renaming: 'lualibs' -> 'loadedlibs'; 'luareqlibs' -> 'preloadedlibs' Roberto Ierusalimschy 2009-05-01 10:46:35 -03:00
  • 71c2eeff98 comments Roberto Ierusalimschy 2009-05-01 10:37:11 -03:00
  • d7bc346d7a no more code checking Roberto Ierusalimschy 2009-04-30 14:42:21 -03:00
  • 673c456cba resize string hash table only when new size is smaller than current one Roberto Ierusalimschy 2009-04-29 14:09:41 -03:00
  • ea44570883 hash table for strings is rehashed in place Roberto Ierusalimschy 2009-04-29 14:09:41 -03:00
  • e091a254df new way to GC stacks: the entire stack must be correct all the times; the 'dead' part of a stack (after the top) must have only nil's, so that 'top' may go up without cleaning the stack. Roberto Ierusalimschy 2009-04-28 16:04:36 -03:00
  • 58c3aa8b5f malicious zero-length string in binary code may segfault Lua + wrong code generation for some particular boolean expressions Roberto Ierusalimschy 2009-04-27 17:11:11 -03:00
  • c1f78ff3d3 unused arguments removed Roberto Ierusalimschy 2009-04-27 15:58:31 -03:00
  • e5249b9fb5 'exit' changed to 'abort' in case of panic (+ some extra comments) 'abort' seems more in line with panic ("abnormal termination") Roberto Ierusalimschy 2009-04-26 18:55:35 -03:00
  • d3037d97ec several small improvements based on 'ci' being fixed now (including erasing savedpc from lua_State) Roberto Ierusalimschy 2009-04-17 19:00:01 -03:00
  • c6b442bd36 'luaM_freearray' does not need array type as argument Roberto Ierusalimschy 2009-04-17 11:40:13 -03:00
  • 4f88418170 'CallInfo' stack implemented as double-linked list instead of an array Roberto Ierusalimschy 2009-04-17 11:28:06 -03:00
  • 311e9f3ceb 'nresults' is saved in CallInfo from the caller, not the called Roberto Ierusalimschy 2009-04-15 13:53:39 -03:00
  • 8775f25830 new function 'T.makeCfunc' (for later use) Roberto Ierusalimschy 2009-04-14 16:10:17 -03:00
  • 70a63fa5ad first implementation of yieldable 'pcall' Roberto Ierusalimschy 2009-04-08 15:04:33 -03:00
  • fffbaede75 detail Roberto Ierusalimschy 2009-04-03 12:58:03 -03:00
  • ae9ad6c694 added comment explaining why the 'feof' test when loading a file Roberto Ierusalimschy 2009-04-02 16:54:06 -03:00
  • 83d2dbb15d Lua will abort anyway, so 'panic' does not need to. Roberto Ierusalimschy 2009-03-31 14:25:08 -03:00
  • 4e43741943 in 'lua_call', avoid preparing a continuation when thread cannot yield. Roberto Ierusalimschy 2009-03-30 15:39:20 -03:00
  • a274596ecc avoid making 'lastfree' an invalid pointer Roberto Ierusalimschy 2009-03-30 15:38:24 -03:00
  • 7e9bc41fe7 'loadlib(lib, "*")' loads 'lib' with global names exported to all Roberto Ierusalimschy 2009-03-26 19:25:05 -03:00
  • b1e1c15ced small bug: EOZ is a valid character to be tested Roberto Ierusalimschy 2009-03-26 15:53:52 -03:00
  • 3dbf305408 no more support for old-style varargs Roberto Ierusalimschy 2009-03-26 09:57:01 -03:00
  • 6d0ae11c57 'context' added to suspendable calls Roberto Ierusalimschy 2009-03-23 11:26:12 -03:00
  • 3ca739b418 'math.random' uses lua_Number to manage its arguments (there is no reason to lose range). Roberto Ierusalimschy 2009-03-17 14:55:39 -03:00
  • 9e613b8583 missing argument to 'assert' raises "assertion failed" error Roberto Ierusalimschy 2009-03-16 13:30:50 -03:00
  • 9428ec42d0 new optional argument to 'load', to control allowed modes (binary or textual chunks) Roberto Ierusalimschy 2009-03-13 12:50:03 -03:00
  • 6ffcf21367 ctype 'lalpha' includes '_' (as '_' behaves as a letter from the point of view of Lua) Roberto Ierusalimschy 2009-03-11 10:27:32 -03:00
  • 6427c61e7c added macro 'lisxdigit' (just in case :) Roberto Ierusalimschy 2009-03-10 14:42:33 -03:00
  • ba484b9eb1 yielding across lua_call (first version) Roberto Ierusalimschy 2009-03-10 14:14:37 -03:00
  • f9d015523e better notes about some opcodes (comments only) Roberto Ierusalimschy 2009-03-09 12:27:56 -03:00
  • 1817dfc301 initial separation, in CallInfo, of what is relevant only to Lua functions or only to C functions Roberto Ierusalimschy 2009-03-04 10:32:29 -03:00
  • 7837e34e56 new states have a reasonable panic function + testC may run code on different threads + rename of some testC operations ('rawcall'->'call', 'call'->'pcall') Roberto Ierusalimschy 2009-03-03 15:52:36 -03:00
  • 910310d3ba if thread has no error handling, try main thread handler before panicking Roberto Ierusalimschy 2009-03-03 15:51:24 -03:00
  • facfcd497f detail Roberto Ierusalimschy 2009-03-02 13:34:23 -03:00
  • b403317325 error functions search global space for a name for a function when no other name is available Roberto Ierusalimschy 2009-02-27 15:18:19 -03:00
  • 9bf05e7364 code section 'Traceback' moved to the beginning of the file Roberto Ierusalimschy 2009-02-27 15:17:13 -03:00
  • e39e758a73 closing a "popen" file returns the process exit status Roberto Ierusalimschy 2009-02-20 10:50:27 -03:00
  • 5438d77221 global array of ctypes renamed to 'luai_ctype_' (extern names must use a "lua" prefix...) Roberto Ierusalimschy 2009-02-20 10:11:15 -03:00
  • 6905ae900b Lua now uses "homemade" lctype (instead of ctype.h from ANSI C) Roberto Ierusalimschy 2009-02-19 14:33:51 -03:00
  • ada82930fd "homemade" version of ctype.h Roberto Ierusalimschy 2009-02-19 14:18:25 -03:00
  • f36e319658 'fputs' changed to 'luai_writestring' + use of 'lua_checkversion' Roberto Ierusalimschy 2009-02-19 14:15:35 -03:00
  • 0cea28a785 better error messages for 'lua_checkversion' Roberto Ierusalimschy 2009-02-19 14:15:13 -03:00
  • d2ebdc045b new macro 'lua_checkversion' to check whether core and application are compatible Roberto Ierusalimschy 2009-02-18 14:20:56 -03:00
  • 81ede6bfce using light userdata to represent "remote" states Roberto Ierusalimschy 2009-02-18 11:52:51 -03:00
  • 2b579b4b83 panic mode does not reset stack (so that panic function can gather debug information from it) Roberto Ierusalimschy 2009-02-18 11:52:03 -03:00
  • a1d0e1a11a 'log10' is deprecated now Roberto Ierusalimschy 2009-02-18 10:17:10 -03:00
  • 8975739839 better precision for log(x, 10) Roberto Ierusalimschy 2009-02-18 10:06:05 -03:00
  • d07abcc6c7 finalizers always called protected Roberto Ierusalimschy 2009-02-17 16:47:58 -03:00
  • 189378142a buffer creation ensures buffer space plus MINSTACK in the stack Roberto Ierusalimschy 2009-02-17 11:31:16 -03:00