Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Added macro 'testMMMode' | Roberto Ierusalimschy | 2019-09-06 | 1 | -5/+3 |
| | | | | Macro 'testMMMode' checks whether opcode is an MM opcode. | ||||
* | Use of 'MMBIN' opcodes extended to shift operators | Roberto Ierusalimschy | 2019-08-28 | 1 | -8/+0 |
| | | | | Plus, this commit removes useless 'tm' parameters in 'op_*' macros. | ||||
* | First version of OP_MMBIN opcodes | Roberto Ierusalimschy | 2019-08-27 | 1 | -14/+7 |
| | | | | | | | | | | | In arithmetic/bitwise operators, the call to metamethods is made in a separate opcode following the main one. (The main opcode skips this next one when the operation succeeds.) This change reduces slightly the size of the binary and the complexity of the arithmetic/bitwise opcodes. It also simplfies the treatment of errors and yeld/resume in these operations, as there are much fewer cases to consider. (Only OP_MMBIN/OP_MMBINI/OP_MMBINK, instead of all variants of all arithmetic/bitwise operators.) | ||||
* | Tracebacks recognize metamethods '__close' | Roberto Ierusalimschy | 2019-07-31 | 1 | -0/+3 |
| | |||||
* | Details | Roberto Ierusalimschy | 2019-06-03 | 1 | -2/+3 |
| | | | | | Several small changes from feedback on 5.4 alhpa rc1 (warnings, typos in the manual, and the like) | ||||
* | Added field 'srclen' to structure 'lua_Debug' | Roberto Ierusalimschy | 2019-04-04 | 1 | -3/+11 |
| | | | | | | This new field gets the length of 'source' in the same structure. Unlike the other strings in that structure, 'source' can be relatively large, and Lua already has its length readily available. | ||||
* | A to-be-closed variable must have a closable value (or be nil) | Roberto Ierusalimschy | 2018-11-29 | 1 | -8/+10 |
| | | | | | | | 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.) | ||||
* | Added opcodes for arithmetic with K operands | Roberto Ierusalimschy | 2018-11-23 | 1 | -2/+8 |
| | | | | | | | | Added opcodes for all seven arithmetic operators with K operands (that is, operands that are numbers in the array of constants of the function). They cover the cases of constant float operands (e.g., 'x + .0.0', 'x^0.5') and large integer operands (e.g., 'x % 10000'). | ||||
* | Better error messages for invalid operands in numeric 'for' | Roberto Ierusalimschy | 2018-10-30 | 1 | -0/+6 |
| | | | | | | "Better" and similar to error messages for invalid function arguments. *old message: 'for' limit must be a number *new message: bad 'for' limit (number expected, got table) | ||||
* | 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. | ||||
* | added 'const' to 'Proto*' when possible | Roberto Ierusalimschy | 2018-06-08 | 1 | -17/+18 |
| | |||||
* | minimizing the code ran by 'vmfetch' + no more 'vra' | Roberto Ierusalimschy | 2018-05-02 | 1 | -10/+17 |
| | | | | (the code is simpler without 'vra' and conversion is a no-op) | ||||
* | 'fTransfer' -> 'ftransfer' / 'nTransfer' -> 'ntransfer' | Roberto Ierusalimschy | 2018-03-16 | 1 | -4/+4 |
| | | | | (keep the standard of names in lower case) | ||||
* | two new fields 'fTransfer'/'nTransfer' in 'lua_Debug' structure | Roberto Ierusalimschy | 2018-02-17 | 1 | -3/+11 |
| | | | | (for information about values being given and returned in function calls) | ||||
* | vararg back to '...' (but with another implementation) | Roberto Ierusalimschy | 2018-02-09 | 1 | -5/+21 |
| | | | | new implementation should have zero overhead for non-vararg functions | ||||
* | call hooks for Lua functions called by 'luaV_execute' | Roberto Ierusalimschy | 2018-02-06 | 1 | -2/+2 |
| | |||||
* | error handler in protected calls must be a function | Roberto Ierusalimschy | 2018-01-10 | 1 | -2/+2 |
| | |||||
* | keep control of stack top in Lua functions concentrated in 'luaV_execute' | Roberto Ierusalimschy | 2017-12-28 | 1 | -6/+3 |
| | |||||
* | when running Lua code, there is no need to keep 'L->top' "correct"; | Roberto Ierusalimschy | 2017-12-20 | 1 | -9/+10 |
| | | | | set it only when needed. | ||||
* | 'Proto->numparams' does not include vararg parameter | Roberto Ierusalimschy | 2017-12-15 | 1 | -2/+2 |
| | | | | (one less subtraction when calling functions...) | ||||
* | new opcodes BANDK/BORK/BXORK. (They do not use immediate operands | Roberto Ierusalimschy | 2017-12-13 | 1 | -2/+3 |
| | | | | | because, too often, masks in bitwise operations are integers larger than one byte.) | ||||
* | opcodes for order and shift can use several metamethods, | Roberto Ierusalimschy | 2017-12-07 | 1 | -4/+8 |
| | | | | | so it is better to use a generic description + metamethod names in some error messages shown without '__' prefix | ||||
* | detail (typo in comments) | Roberto Ierusalimschy | 2017-11-23 | 1 | -2/+2 |
| | |||||
* | no more 'stackless' implementation; 'luaV_execute' calls itself | Roberto Ierusalimschy | 2017-11-23 | 1 | -1/+2 |
| | | | | | recursively to execute function calls. 'unroll' continues all executions suspended by an yield (through a long jump) | ||||
* | using 'trap' to stop 'luaV_execute' when necessary (tracing and | Roberto Ierusalimschy | 2017-11-13 | 1 | -2/+21 |
| | | | | to update its copy of 'base' when the stack is reallocated) | ||||
* | detail | Roberto Ierusalimschy | 2017-11-13 | 1 | -7/+8 |
| | |||||
* | new function 'luaV_flttointeger' to convert floats to integers (without | Roberto Ierusalimschy | 2017-11-08 | 1 | -2/+2 |
| | | | | | string coercions) + string operands to bitwise operations handled by string metamethods | ||||
* | new format for JUMP instructions (to allow larger offsets) | Roberto Ierusalimschy | 2017-11-07 | 1 | -2/+2 |
| | |||||
* | back to 'CallInfo' (no gains with its removal) | Roberto Ierusalimschy | 2017-11-07 | 1 | -90/+71 |
| | |||||
* | 'lua_Debug' not using 'CallInfo' | Roberto Ierusalimschy | 2017-11-03 | 1 | -10/+14 |
| | |||||
* | removing uses of 'CallInfo' | Roberto Ierusalimschy | 2017-11-03 | 1 | -52/+64 |
| | |||||
* | no more useful fields in CallInfo | Roberto Ierusalimschy | 2017-11-03 | 1 | -8/+10 |
| | |||||
* | more fields moved out of 'CallInfo' | Roberto Ierusalimschy | 2017-11-03 | 1 | -14/+15 |
| | |||||
* | new API for 'lua_resume' + cleaning the uses of the 'extra' field in | Roberto Ierusalimschy | 2017-11-02 | 1 | -24/+1 |
| | | | | 'CallInfo' | ||||
* | using 'L->func' when possible | Roberto Ierusalimschy | 2017-11-01 | 1 | -4/+4 |
| | |||||
* | detail: in 'isinstack', check against the whole stack instead | Roberto Ierusalimschy | 2017-10-31 | 1 | -5/+5 |
| | | | | of against the stack frame | ||||
* | eplicit 1-bit opcode operand 'k' | Roberto Ierusalimschy | 2017-10-04 | 1 | -9/+8 |
| | |||||
* | new opcodes with immediate integer operand for all arithmetic operations | Roberto Ierusalimschy | 2017-10-04 | 1 | -5/+8 |
| | |||||
* | bug: Lua does not check GC when creating error messages | Roberto Ierusalimschy | 2017-07-10 | 1 | -1/+2 |
| | |||||
* | coercion string->number in arithmetic operations moved to string | Roberto Ierusalimschy | 2017-07-07 | 1 | -3/+2 |
| | | | | library | ||||
* | new type 'StackValue' for stack elements | Roberto Ierusalimschy | 2017-06-29 | 1 | -15/+15 |
| | | | | (we may want to put extra info there in the future) | ||||
* | 'lineinfo' in prototypes saved as differences instead of absolute | Roberto Ierusalimschy | 2017-06-27 | 1 | -7/+85 |
| | | | | | | 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 field 'base' in CallInfo (base is always equal to 'func + 1', | Roberto Ierusalimschy | 2017-05-13 | 1 | -5/+6 |
| | | | | with old/new vararg implementation) | ||||
* | back to old-style vararg system (with vararg table collecting extra | Roberto Ierusalimschy | 2017-05-13 | 1 | -18/+3 |
| | | | | arguments) | ||||
* | details in 'findsetreg' | Roberto Ierusalimschy | 2017-04-29 | 1 | -19/+17 |
| | |||||
* | new opcodes for table access with constant keys (strings and integers) | Roberto Ierusalimschy | 2017-04-28 | 1 | -30/+62 |
| | |||||
* | new opcode OP_ADDI (for immediate integer operand) (Experimental) | Roberto Ierusalimschy | 2017-04-26 | 1 | -1/+4 |
| | |||||
* | check whether function is finalizer when finding a name for it + | Roberto Ierusalimschy | 2016-10-19 | 1 | -13/+32 |
| | | | | | comments + some instructions can call functions in unespected ways (e.g., finalizers) | ||||
* | detail (comment) | Roberto Ierusalimschy | 2016-03-31 | 1 | -2/+2 |
| | |||||
* | When available, use metafield '__name' in error messages | Roberto Ierusalimschy | 2016-02-26 | 1 | -5/+5 |
| |