Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | To-be-closed variables in the C API | Roberto Ierusalimschy | 2018-10-25 | 1 | -0/+3 | |
| | ||||||
* | First "complete" implementation of to-be-closed variables | Roberto Ierusalimschy | 2018-10-17 | 1 | -1/+1 | |
| | | | | | | | Still missing: - handling of memory errors when creating upvalue (must run closing method all the same) - interaction with coroutines | |||||
* | Towards "to closed" local variables | Roberto Ierusalimschy | 2018-10-08 | 1 | -11/+14 | |
| | | | | | | | | | | | | Start of the implementation of "scoped variables" or "to be closed" variables, local variables whose '__close' (or themselves) are called when they go out of scope. This commit implements the syntax, the opcode, and the creation of the corresponding upvalue, but it still does not call the finalizations when the variable goes out of scope (the most important part). Currently, the syntax is 'local scoped name = exp', but that will probably change. | |||||
* | 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. | |||||
* | Fixed bug in line info. when using 'not' operator | Roberto Ierusalimschy | 2018-07-11 | 1 | -1/+21 | |
| | | | | | | | | | When creating code for a jump on a 'not' condition, the code generator was removing an instruction (the OP_NOT) without adjusting its corresponding line information. This fix also added tests for this case and extra functionality in the test library to debug line info. structures. | |||||
* | Opcode names moved to a new header file | Roberto Ierusalimschy | 2018-07-09 | 1 | -3/+4 | |
| | | | | | | | The array with the names of the opcodes was moved to a header file ('lopnames.h'), as it is not used by the Lua kernel. Files that need that array ('luac.c' and 'ltests.c') include the header file to get a private (static) copy. | |||||
* | field 'sizearray' in struct 'Table' changed to 'alimit', which can | Roberto Ierusalimschy | 2018-06-15 | 1 | -5/+10 | |
| | | | | be used as a hint for '#t' | |||||
* | no more 'TESTGRAYBIT' (to free this bit for real uses) | Roberto Ierusalimschy | 2018-06-11 | 1 | -21/+4 | |
| | ||||||
* | details (casts between 'lua_Number' and 'double') | Roberto Ierusalimschy | 2018-03-09 | 1 | -3/+3 | |
| | ||||||
* | first version of empty entries in tables | Roberto Ierusalimschy | 2018-02-23 | 1 | -3/+3 | |
| | | | | (so that, in the future, tables can contain regular nil entries) | |||||
* | userdata can have multiple user values | Roberto Ierusalimschy | 2018-02-20 | 1 | -10/+15 | |
| | ||||||
* | janitor work on casts | Roberto Ierusalimschy | 2018-01-28 | 1 | -13/+13 | |
| | ||||||
* | keep more opcode arguments byte-aligned | Roberto Ierusalimschy | 2018-01-09 | 1 | -2/+2 | |
| | ||||||
* | new command 'print' (to print literal strings) in mini-language | Roberto Ierusalimschy | 2017-12-29 | 1 | -2/+6 | |
| | ||||||
* | some cleaning on signed opcode parameters | Roberto Ierusalimschy | 2017-12-15 | 1 | -2/+2 | |
| | ||||||
* | allows memory-allocation errors when shrinking blocks | Roberto Ierusalimschy | 2017-12-11 | 1 | -2/+3 | |
| | ||||||
* | new C instruction "rawcheckstack" (to test failing in 'lua_checkstack') | Roberto Ierusalimschy | 2017-12-08 | 1 | -3/+16 | |
| | ||||||
* | new test function 'T.allocount' to restrict number of allocations | Roberto Ierusalimschy | 2017-12-07 | 1 | -3/+18 | |
| | | | | before a memory-allocation error | |||||
* | more information from 'T.stacklevel' | Roberto Ierusalimschy | 2017-11-23 | 1 | -2/+4 | |
| | ||||||
* | removed unused variable 'islocked' | Roberto Ierusalimschy | 2017-11-09 | 1 | -4/+1 | |
| | ||||||
* | new format for JUMP instructions (to allow larger offsets) | Roberto Ierusalimschy | 2017-11-07 | 1 | -3/+9 | |
| | ||||||
* | back to 'CallInfo' (no gains with its removal) | Roberto Ierusalimschy | 2017-11-07 | 1 | -11/+12 | |
| | ||||||
* | no more useful fields in CallInfo | Roberto Ierusalimschy | 2017-11-03 | 1 | -11/+9 | |
| | ||||||
* | more fields moved out of 'CallInfo' | Roberto Ierusalimschy | 2017-11-03 | 1 | -5/+6 | |
| | ||||||
* | new API for 'lua_resume' + cleaning the uses of the 'extra' field in | Roberto Ierusalimschy | 2017-11-02 | 1 | -10/+8 | |
| | | | | 'CallInfo' | |||||
* | using 'L->func' when possible | Roberto Ierusalimschy | 2017-11-01 | 1 | -2/+2 | |
| | ||||||
* | eplicit 1-bit opcode operand 'k' | Roberto Ierusalimschy | 2017-10-04 | 1 | -3/+4 | |
| | ||||||
* | new function 'printcode' | Roberto Ierusalimschy | 2017-10-01 | 1 | -1/+18 | |
| | ||||||
* | new type 'StackValue' for stack elements | Roberto Ierusalimschy | 2017-06-29 | 1 | -4/+4 | |
| | | | | (we may want to put extra info there in the future) | |||||
* | new constant 'LUA_GNAME' for the name of the global table "_G" | Roberto Ierusalimschy | 2017-06-27 | 1 | -2/+2 | |
| | ||||||
* | 'lineinfo' in prototypes saved as differences instead of absolute | Roberto Ierusalimschy | 2017-06-27 | 1 | -2/+2 | |
| | | | | | | values, so that the array can use bytes instead of ints, reducing its size. (A new array 'abslineinfo' is used when line differences do not fit in a byte.) | |||||
* | no more 'DEADKEY'. Table traversals do not need to consider dead keys; | Roberto Ierusalimschy | 2017-06-12 | 1 | -2/+1 | |
| | | | | | | if the key is dead, it cannot be given to 'next'. Instead, we now use a 'table' tag without the collectable bit, which makes it a unique tag good enough to reserve space. | |||||
* | in hash nodes, keys are stored in separate pieces to avoid wasting | Roberto Ierusalimschy | 2017-06-09 | 1 | -6/+10 | |
| | | | | space with alignments | |||||
* | updated GC states in function 'T.gcstate' | Roberto Ierusalimschy | 2017-05-31 | 1 | -5/+7 | |
| | ||||||
* | barrier for prototype's cache (with new gray list 'protogray' to keep | Roberto Ierusalimschy | 2017-05-04 | 1 | -1/+4 | |
| | | | | prototypes to have their caches visited again) + constant 'MAXMISS' | |||||
* | type 'L_Umaxalign' replaced by macro 'LUAI_MAXALIGN', which is also added | Roberto Ierusalimschy | 2017-04-24 | 1 | -2/+2 | |
| | | | | to the auxlib buffer | |||||
* | 'KGC_NORMAL' -> 'KGC_INC' + emergency GC signalled by flag (instead | Roberto Ierusalimschy | 2017-04-24 | 1 | -2/+2 | |
| | | | | of mode) | |||||
* | corrected some checks about colors of old objects + new test function | Roberto Ierusalimschy | 2017-04-19 | 1 | -15/+46 | |
| | | | | 'gcage' | |||||
* | memory check adapted to generational mode | Roberto Ierusalimschy | 2017-04-18 | 1 | -63/+133 | |
| | ||||||
* | generational collection: new attempt (still incomplete) | Roberto Ierusalimschy | 2017-02-23 | 1 | -5/+7 | |
| | ||||||
* | using constants for "_LOADED" and "PRELOAD" | Roberto Ierusalimschy | 2016-12-04 | 1 | -2/+2 | |
| | ||||||
* | using 'lastfree == NULL' to signal that table is using the dummy | Roberto Ierusalimschy | 2016-11-07 | 1 | -3/+3 | |
| | | | | node for its hash part + new macro 'allocsizenode' | |||||
* | '*' as a number means stack size, so that "return *" returns | Roberto Ierusalimschy | 2015-10-12 | 1 | -1/+6 | |
| | | | | all values in the stack. | |||||
* | new definition for macro 'checkliveness' | Roberto Ierusalimschy | 2015-09-08 | 1 | -2/+2 | |
| | ||||||
* | detail | Roberto Ierusalimschy | 2015-07-01 | 1 | -2/+2 | |
| | ||||||
* | using 'lua_longassert' to avoid warnings | Roberto Ierusalimschy | 2015-06-18 | 1 | -2/+2 | |
| | ||||||
* | new function 'log2' to test 'luaO_ceillog2' (if needed) | Roberto Ierusalimschy | 2015-04-02 | 1 | -1/+9 | |
| | ||||||
* | code detail ('if' -> '?:') | Roberto Ierusalimschy | 2015-03-13 | 1 | -6/+6 | |
| | ||||||
* | 'ci_func' don't need to be exported | Roberto Ierusalimschy | 2015-03-11 | 1 | -2/+2 | |
| | ||||||
* | size of short strings stored in a single byte, to reduce the size | Roberto Ierusalimschy | 2015-01-16 | 1 | -2/+2 | |
| | | | | of struct 'TString' |