Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Small optimizations in range checks | Roberto Ierusalimschy | 2019-03-27 | 1 | -4/+6 |
| | | | | | | | | Checks of the form '1 <= x && x <= M' were rewritten in the form '(unsigned)x - 1 < (unsigned)M', which is usually more efficient. (Other similar checks have similar translations.) Although some compilers do these optimizations, that does not happen for all compilers or all cases. | ||||
* | Changes in the warning system | Roberto Ierusalimschy | 2019-03-14 | 1 | -2/+2 |
| | | | | | | | | - The warning functions get an extra parameter that tells whether message is to be continued (instead of using end-of-lines as a signal). - The user data for the warning function is a regular value, instead of a writable slot inside the Lua state. | ||||
* | Details | Roberto Ierusalimschy | 2019-03-13 | 1 | -9/+22 |
| | | | | | | | | | | Several small improvements (code style, warnings, comments, more tests), in particular: - 'lua_topointer' extended to handle strings - raises an error in 'string.format("%10q")' ('%q' with modifiers) - in the manual for 'string.format', the term "option" replaced by "conversion specifier" (the term used by the C standard) | ||||
* | After a "bad collections", avoid switching back back to generational | Roberto Ierusalimschy | 2019-01-30 | 1 | -4/+2 |
| | | | | | | | After a major bad collection (one that collects too few objects), next collection will be major again. In that case, avoid switching back to generational mode (as it will have to switch again to incremental to do next major collection). | ||||
* | No more LUA_ERRGCMM errors | Roberto Ierusalimschy | 2019-01-01 | 1 | -3/+1 |
| | | | | | Errors in finalizers (__gc metamethods) are never propagated. Instead, they generate a warning. | ||||
* | Added a warning system to Lua | Roberto Ierusalimschy | 2018-12-28 | 1 | -0/+18 |
| | | | | | The warning system is just a way for Lua to emit warnings, messages to the programmer that do not interfere with the running program. | ||||
* | Changes in the control of C-stack overflow | Roberto Ierusalimschy | 2018-12-27 | 1 | -2/+2 |
| | | | | | | | | | | * unification of the 'nny' and 'nCcalls' counters; * external C functions ('lua_CFunction') count more "slots" in the C stack (to allow for their possible use of buffers) * added a new test script specific for C-stack overflows. (Most of those tests were already present, but concentrating them in a single script easies the task of checking whether 'LUAI_MAXCCALLS' is adequate in a system.) | ||||
* | A to-be-closed variable must have a closable value (or be nil) | Roberto Ierusalimschy | 2018-11-29 | 1 | -1/+1 |
| | | | | | | | It is an error for a to-be-closed variable to have a non-closable non-nil value when it is being closed. This situation does not seem to be useful and often hints to an error. (Particularly in the C API, it is easy to change a to-be-closed index by mistake.) | ||||
* | Auxiliary buffer cannot close box with 'lua_remove' | Roberto Ierusalimschy | 2018-11-26 | 1 | -2/+2 |
| | | | | | | | To remove a to-be-closed variable from the stack in the C API a function must use 'lua_settop' or 'lua_pop'. Previous implementation of 'luaL_pushresult' was not closing the box. (This commit also added tests to check that box is being closed "as soon as possible".) | ||||
* | 'lua_toclose' gets the index to be closed as an argument | Roberto Ierusalimschy | 2018-11-12 | 1 | -3/+10 |
| | | | | | | Sometimes it is useful to mark to-be-closed an index that is not at the top of the stack (e.g., if the value to be closed came from a function call returning multiple values). | ||||
* | New syntax for to-be-closed variables | Roberto Ierusalimschy | 2018-11-07 | 1 | -1/+1 |
| | | | | | | | The new syntax is <local *toclose x = f()>. The mark '*' allows other attributes to be added later without the need of new keywords; it also allows better error messages. The API function was also renamed ('lua_tobeclosed' -> 'lua_toclose'). | ||||
* | To-be-closed variables in the C API | Roberto Ierusalimschy | 2018-10-25 | 1 | -2/+13 |
| | |||||
* | Details (comments) | Roberto Ierusalimschy | 2018-09-11 | 1 | -1/+5 |
| | |||||
* | Removed extra information from RCS keyword strings | Roberto Ierusalimschy | 2018-08-23 | 1 | -1/+1 |
| | | | | | Version numbers and dates (mostly wrong) from RCS keyword strings removed from all source files; only the file name are kept. | ||||
* | no need to check whether libraries and host use the same kernel; | Roberto Ierusalimschy | 2018-06-18 | 1 | -5/+4 |
| | | | | Lua should work correctly with several copies of the kernel | ||||
* | new field 'nilvalue' in struct 'global_State' to avoid the use of | Roberto Ierusalimschy | 2018-06-15 | 1 | -13/+10 |
| | | | | addresses of static variables | ||||
* | removed unused macros 'isstackindex'/'api_checkstackindex' + | Roberto Ierusalimschy | 2018-06-15 | 1 | -10/+2 |
| | | | | macro 'api_checkvalidindex' (used only once) expanded and removed | ||||
* | no more 'luaO_nilobject' to avoid comparison of global variable addresses | Roberto Ierusalimschy | 2018-06-01 | 1 | -3/+5 |
| | | | | (now uses static variables) | ||||
* | no more nil-in-table | Roberto Ierusalimschy | 2018-04-04 | 1 | -22/+1 |
| | |||||
* | 'lua_setiuservalue' removes value from the stack even in case of error | Roberto Ierusalimschy | 2018-02-27 | 1 | -2/+2 |
| | |||||
* | metamethods for 'removekey'/'keyin' | Roberto Ierusalimschy | 2018-02-27 | 1 | -11/+8 |
| | |||||
* | better names for macros for tags and types. | Roberto Ierusalimschy | 2018-02-26 | 1 | -16/+16 |
| | | | | | rttype -> rawtt; ttyperaw -> withvariant; ttype -> ttypetag; tnov -> ttype | ||||
* | first (parcial) implementation of 'keyin'/'removekey' | Roberto Ierusalimschy | 2018-02-25 | 1 | -33/+59 |
| | | | | (still no metamethods, no raw verssions) | ||||
* | first version of empty entries in tables | Roberto Ierusalimschy | 2018-02-23 | 1 | -12/+18 |
| | | | | (so that, in the future, tables can contain regular nil entries) | ||||
* | userdata can have multiple user values | Roberto Ierusalimschy | 2018-02-20 | 1 | -9/+26 |
| | |||||
* | more generic way to handle 'gclist' | Roberto Ierusalimschy | 2018-02-19 | 1 | -4/+4 |
| | |||||
* | 'collectgarbage' returns old mode when changing mode | Roberto Ierusalimschy | 2018-02-05 | 1 | -1/+5 |
| | |||||
* | warnings in VS (implicit casts from ptrdiff_t to int) | Roberto Ierusalimschy | 2018-01-29 | 1 | -2/+2 |
| | |||||
* | janitor work on casts | Roberto Ierusalimschy | 2018-01-28 | 1 | -4/+4 |
| | |||||
* | error handler in protected calls must be a function | Roberto Ierusalimschy | 2018-01-10 | 1 | -1/+2 |
| | |||||
* | more freedom in handling memory-allocation errors (not all allocations | Roberto Ierusalimschy | 2017-12-08 | 1 | -12/+2 |
| | | | | | automatically raise an error), which allows fixing a bug when resizing a table. | ||||
* | bug: 'lua_pushcclosure' should not call the GC when 'n' is zero | Roberto Ierusalimschy | 2017-12-06 | 1 | -3/+4 |
| | |||||
* | detail (typo in comments) | Roberto Ierusalimschy | 2017-11-23 | 1 | -2/+2 |
| | |||||
* | back to 'CallInfo' (no gains with its removal) | Roberto Ierusalimschy | 2017-11-07 | 1 | -42/+39 |
| | |||||
* | no more useful fields in CallInfo | Roberto Ierusalimschy | 2017-11-03 | 1 | -9/+9 |
| | |||||
* | more fields moved out of 'CallInfo' | Roberto Ierusalimschy | 2017-11-03 | 1 | -20/+25 |
| | |||||
* | new API for 'lua_resume' + cleaning the uses of the 'extra' field in | Roberto Ierusalimschy | 2017-11-02 | 1 | -4/+3 |
| | | | | 'CallInfo' | ||||
* | using 'L->func' when possible | Roberto Ierusalimschy | 2017-11-01 | 1 | -13/+12 |
| | |||||
* | some cleaning in GC parameters | Roberto Ierusalimschy | 2017-10-11 | 1 | -10/+15 |
| | |||||
* | new type 'StackValue' for stack elements | Roberto Ierusalimschy | 2017-06-29 | 1 | -126/+142 |
| | | | | (we may want to put extra info there in the future) | ||||
* | macro 'luaV_fastget' may need protection ({}) to be used inside | Roberto Ierusalimschy | 2017-06-01 | 1 | -3/+5 |
| | | | | 'if's | ||||
* | revamping the incremental collector | Roberto Ierusalimschy | 2017-05-26 | 1 | -20/+24 |
| | | | | | | Some simplifications (not counting bytes, couting only slots visited; no more 'gcfinnum'); more GC parameters; using vararg in 'lua_gc' to set parameters in different GC modes | ||||
* | 'lua_rawlen' returns 'lua_Unsigned' instead of 'size_t'. (Real | Roberto Ierusalimschy | 2017-05-18 | 1 | -2/+2 |
| | | | | | length of strings and userdata are limited by Lua integers, but table length is hard to compute limiting it to 'size_t'.) | ||||
* | revamp of fast track for table access (table set uses the same | Roberto Ierusalimschy | 2017-05-11 | 1 | -15/+26 |
| | | | | macros as table get + new macro for integer keys) | ||||
* | 'KGC_NORMAL' -> 'KGC_INC' + emergency GC signalled by flag (instead | Roberto Ierusalimschy | 2017-04-24 | 1 | -2/+2 |
| | | | | of mode) | ||||
* | macros to define default parameters for generational collection | Roberto Ierusalimschy | 2017-04-20 | 1 | -3/+8 |
| | |||||
* | first version of control for the generational collector | Roberto Ierusalimschy | 2017-04-19 | 1 | -1/+5 |
| | |||||
* | Upvalues collected like everything else (with mark-sweep) instead | Roberto Ierusalimschy | 2017-04-11 | 1 | -15/+10 |
| | | | | of reference count (simpler and better for generational mode) | ||||
* | small changes in 'luaC_upvalbarrier' | Roberto Ierusalimschy | 2017-04-06 | 1 | -5/+5 |
| | |||||
* | generational collection: new attempt (still incomplete) | Roberto Ierusalimschy | 2017-02-23 | 1 | -1/+9 |
| |