summaryrefslogtreecommitdiff
path: root/lcode.c
Commit message (Collapse)AuthorAgeFilesLines
...
* some simplifications/optimizations in returns from Lua functionsRoberto Ierusalimschy2018-02-151-14/+18
|
* vararg back to '...' (but with another implementation)Roberto Ierusalimschy2018-02-091-13/+13
| | | | new implementation should have zero overhead for non-vararg functions
* janitor work on castsRoberto Ierusalimschy2018-01-281-2/+2
|
* OP_CONCAT does not move its result (to simplify its execution)Roberto Ierusalimschy2018-01-271-32/+52
|
* commentsRoberto Ierusalimschy2018-01-181-11/+13
|
* keep more opcode arguments byte-alignedRoberto Ierusalimschy2018-01-091-6/+6
|
* assert cannot use instruction after the lastRoberto Ierusalimschy2017-12-221-2/+2
|
* new macros 'isOT'/'isIT'Roberto Ierusalimschy2017-12-221-7/+7
| | | | | (plus exchanged parameters of OP_VARARG to make it similar to other 'isOT' instructions)
* new auxiliary function 'luaK_isKint' + removal of 'luaK_needclose',Roberto Ierusalimschy2017-12-181-16/+10
| | | | which was not being used anywhere.
* some cleaning on signed opcode parametersRoberto Ierusalimschy2017-12-151-12/+32
|
* 'VRELOCABLE' -> 'VRELOC'Roberto Ierusalimschy2017-12-141-16/+16
|
* new opcodes BANDK/BORK/BXORK. (They do not use immediate operandsRoberto Ierusalimschy2017-12-131-10/+42
| | | | | because, too often, masks in bitwise operations are integers larger than one byte.)
* new opcodes OP_SHLI/OP_SHRIRoberto Ierusalimschy2017-12-041-14/+55
|
* warnings from Visual Studio /W3Roberto Ierusalimschy2017-11-301-2/+2
|
* small peephole optimizationsRoberto Ierusalimschy2017-11-301-38/+53
|
* new opcodes OP_RETURN0/OP_RETURN1Roberto Ierusalimschy2017-11-291-2/+12
|
* order opcodes cannot use 'K' operandsRoberto Ierusalimschy2017-11-281-2/+2
|
* using register 'k' for conditions in tests (we only need one bit there)Roberto Ierusalimschy2017-11-281-36/+58
|
* detail (typo in comments)Roberto Ierusalimschy2017-11-231-2/+2
|
* using 'A' for register instead of 'B' in relational opcodesRoberto Ierusalimschy2017-11-221-5/+5
| | | | ('R(A)' is already created by default for all instructions.)
* new opcode 'OP_EQI' for equality with immediate numbersRoberto Ierusalimschy2017-11-221-22/+51
|
* new instruction 'OP_EQK' (for equality with constants)Roberto Ierusalimschy2017-11-161-11/+44
|
* new function 'luaV_flttointeger' to convert floats to integers (withoutRoberto Ierusalimschy2017-11-081-3/+3
| | | | | string coercions) + string operands to bitwise operations handled by string metamethods
* new format for JUMP instructions (to allow larger offsets)Roberto Ierusalimschy2017-11-071-10/+25
|
* eplicit 1-bit opcode operand 'k'Roberto Ierusalimschy2017-10-041-29/+45
|
* new opcodes with immediate integer operand for all arithmetic operationsRoberto Ierusalimschy2017-10-041-19/+52
|
* string constants (Kstr) must fit into 'B' registerRoberto Ierusalimschy2017-10-021-2/+2
|
* avoid the use of bit 'Bk' ('B' will lose this bit soon)Roberto Ierusalimschy2017-10-011-4/+4
|
* no more 'getBMode'-'getCMode' (imprecise + we will need more spaceRoberto Ierusalimschy2017-09-281-5/+13
| | | | for op mode) + better control of op modes
* binary operators use R instead of RKRoberto Ierusalimschy2017-09-261-11/+10
| | | | | faster + nobody uses RK(B), so B can be smaller (freeing one bit for more opcodes, soon)
* detailRoberto Ierusalimschy2017-09-261-2/+4
| | | | put explicit all cases for a switch of an enumeration
* new opcode OP_LOADF (load immediate float)Roberto Ierusalimschy2017-09-191-2/+14
|
* jumps do not close upvalues (to be faster and simpler);Roberto Ierusalimschy2017-09-131-10/+41
| | | | | | explicit instruction to close upvalues; command 'break' not handled like a 'goto' (to optimize removal of uneeded 'close' instructions)
* new type 'StackValue' for stack elementsRoberto Ierusalimschy2017-06-291-2/+2
| | | | (we may want to put extra info there in the future)
* 'lineinfo' in prototypes saved as differences instead of absoluteRoberto Ierusalimschy2017-06-271-7/+45
| | | | | | 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.)
* table field names for dedicated opcodes can be restricted toRoberto Ierusalimschy2017-05-181-3/+3
| | | | small strings for slightly faster access
* new opcodes for table access with constant keys (strings and integers)Roberto Ierusalimschy2017-04-281-18/+56
|
* new opcode OP_ADDI (for immediate integer operand) (Experimental)Roberto Ierusalimschy2017-04-261-4/+28
|
* detail (using unsigned comparison in range check for LOADI)Roberto Ierusalimschy2017-04-251-2/+2
|
* registers in a VINDEXED expression must be freed in orderRoberto Ierusalimschy2017-04-251-11/+19
|
* opcodes 'OP_GETTABUP'/'OP_SETTABUP' operate only with string keys,Roberto Ierusalimschy2017-04-241-2/+12
| | | | so they can use fast-track table access
* new opcode LOADI (for loading immediate integers)Roberto Ierusalimschy2017-04-201-4/+12
|
* detail (removing spaces at end of lines)Roberto Ierusalimschy2016-12-221-3/+3
|
* bug: Lua can generate wrong code in functions with too many constantsRoberto Ierusalimschy2016-07-191-3/+6
|
* all 'static' variables should be 'const'Roberto Ierusalimschy2016-06-201-5/+6
|
* comment (FALLTHROUGH)Roberto Ierusalimschy2016-05-131-2/+2
|
* 'getcode' -> 'getinstruction'Roberto Ierusalimschy2016-01-051-12/+15
|
* more refactoringRoberto Ierusalimschy2016-01-041-94/+97
|
* comments (*lots* of them) + assertsRoberto Ierusalimschy2015-12-181-84/+324
|
* reordering of some functions + 'code_label' renamed to 'code_loadbool'Roberto Ierusalimschy2015-12-171-61/+61
|