Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | call hooks for Lua functions called by 'luaV_execute' | Roberto Ierusalimschy | 2018-02-06 | 1 | -2/+5 | |
| | ||||||
* | warnings in VS (implicit casts from ptrdiff_t to int) | Roberto Ierusalimschy | 2018-01-29 | 1 | -2/+2 | |
| | ||||||
* | OP_CONCAT does not move its result (to simplify its execution) | Roberto Ierusalimschy | 2018-01-27 | 1 | -17/+7 | |
| | ||||||
* | 'OP_TAILCALL' calling C functions finishes the call and returns | Roberto Ierusalimschy | 2018-01-14 | 1 | -5/+10 | |
| | | | | (instead of waiting for following 'OP_RETURN') | |||||
* | 'luaD_tryfuncTM' can ensure it does not change the stack | Roberto Ierusalimschy | 2018-01-10 | 1 | -4/+2 | |
| | ||||||
* | avoid jumping into a variable scope (C++ does not allow that) | Roberto Ierusalimschy | 2018-01-09 | 1 | -8/+8 | |
| | ||||||
* | typos in comments | Roberto Ierusalimschy | 2017-12-30 | 1 | -2/+2 | |
| | ||||||
* | keep control of stack top in Lua functions concentrated in 'luaV_execute' | Roberto Ierusalimschy | 2017-12-28 | 1 | -17/+29 | |
| | ||||||
* | new macros 'isOT'/'isIT' | Roberto Ierusalimschy | 2017-12-22 | 1 | -4/+4 | |
| | | | | | (plus exchanged parameters of OP_VARARG to make it similar to other 'isOT' instructions) | |||||
* | when running Lua code, there is no need to keep 'L->top' "correct"; | Roberto Ierusalimschy | 2017-12-20 | 1 | -20/+6 | |
| | | | | set it only when needed. | |||||
* | no need to save 'pc' in case of allocation errors | Roberto Ierusalimschy | 2017-12-19 | 1 | -3/+1 | |
| | | | | (allocation errors do not call message handlers) | |||||
* | new opcodes 'FORLOOP1'/'FORPREP1' for "basic for" (integer variable | Roberto Ierusalimschy | 2017-12-18 | 1 | -1/+27 | |
| | | | | with increment of 1) | |||||
* | new opcodes BANDK/BORK/BXORK. (They do not use immediate operands | Roberto Ierusalimschy | 2017-12-13 | 1 | -1/+35 | |
| | | | | | because, too often, masks in bitwise operations are integers larger than one byte.) | |||||
* | new opcodes OP_SHLI/OP_SHRI | Roberto Ierusalimschy | 2017-12-04 | 1 | -2/+30 | |
| | ||||||
* | small peephole optimizations | Roberto Ierusalimschy | 2017-11-30 | 1 | -5/+5 | |
| | ||||||
* | new opcodes OP_RETURN0/OP_RETURN1 | Roberto Ierusalimschy | 2017-11-29 | 1 | -13/+56 | |
| | ||||||
* | 'luaV_execute' gets call info as extra argument (it is always | Roberto Ierusalimschy | 2017-11-29 | 1 | -3/+2 | |
| | | | | available on call sites) | |||||
* | conditional jumps unified in label "condjump' + new variable 'vra' | Roberto Ierusalimschy | 2017-11-28 | 1 | -128/+106 | |
| | | | | to avoid excessive use of macro 's2v' | |||||
* | using register 'k' for conditions in tests (we only need one bit there) | Roberto Ierusalimschy | 2017-11-28 | 1 | -44/+44 | |
| | ||||||
* | new opcodes 'OP_LTI' and 'OP_LEI' | Roberto Ierusalimschy | 2017-11-27 | 1 | -8/+45 | |
| | ||||||
* | small simplifications around 'luaT_callorderTM' | Roberto Ierusalimschy | 2017-11-23 | 1 | -17/+6 | |
| | ||||||
* | no more 'stackless' implementation; 'luaV_execute' calls itself | Roberto Ierusalimschy | 2017-11-23 | 1 | -38/+22 | |
| | | | | | recursively to execute function calls. 'unroll' continues all executions suspended by an yield (through a long jump) | |||||
* | using 'A' for register instead of 'B' in relational opcodes | Roberto Ierusalimschy | 2017-11-22 | 1 | -25/+20 | |
| | | | | ('R(A)' is already created by default for all instructions.) | |||||
* | new opcode 'OP_EQI' for equality with immediate numbers | Roberto Ierusalimschy | 2017-11-22 | 1 | -1/+12 | |
| | ||||||
* | more direct implementation for tail calls. | Roberto Ierusalimschy | 2017-11-21 | 1 | -25/+17 | |
| | ||||||
* | in order comparison opcodes, fast track for floats too | Roberto Ierusalimschy | 2017-11-20 | 1 | -18/+42 | |
| | ||||||
* | new instruction 'OP_EQK' (for equality with constants) | Roberto Ierusalimschy | 2017-11-16 | 1 | -1/+11 | |
| | ||||||
* | using 'trap' to stop 'luaV_execute' when necessary (tracing and | Roberto Ierusalimschy | 2017-11-13 | 1 | -17/+30 | |
| | | | | to update its copy of 'base' when the stack is reallocated) | |||||
* | detail ('Protect' defined as an expression) | Roberto Ierusalimschy | 2017-11-08 | 1 | -36/+45 | |
| | ||||||
* | new function 'luaV_flttointeger' to convert floats to integers (without | Roberto Ierusalimschy | 2017-11-08 | 1 | -25/+35 | |
| | | | | | 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 | -67/+66 | |
| | ||||||
* | no more 'CallInfo' structure | Roberto Ierusalimschy | 2017-11-04 | 1 | -7/+2 | |
| | ||||||
* | removing uses of 'CallInfo' | Roberto Ierusalimschy | 2017-11-03 | 1 | -13/+11 | |
| | ||||||
* | no more useful fields in CallInfo | Roberto Ierusalimschy | 2017-11-03 | 1 | -22/+25 | |
| | ||||||
* | more fields moved out of 'CallInfo' | Roberto Ierusalimschy | 2017-11-03 | 1 | -25/+29 | |
| | ||||||
* | using 'L->func' when possible | Roberto Ierusalimschy | 2017-11-01 | 1 | -13/+12 | |
| | ||||||
* | baby steps to remove 'CallInfo': keeping 'L->func' correct | Roberto Ierusalimschy | 2017-10-31 | 1 | -1/+2 | |
| | ||||||
* | eplicit 1-bit opcode operand 'k' | Roberto Ierusalimschy | 2017-10-04 | 1 | -11/+11 | |
| | ||||||
* | new opcodes with immediate integer operand for all arithmetic operations | Roberto Ierusalimschy | 2017-10-04 | 1 | -2/+89 | |
| | ||||||
* | avoid the use of bit 'Bk' ('B' will lose this bit soon) | Roberto Ierusalimschy | 2017-10-01 | 1 | -4/+4 | |
| | ||||||
* | no more 'getBMode'-'getCMode' (imprecise + we will need more space | Roberto Ierusalimschy | 2017-09-28 | 1 | -11/+8 | |
| | | | | for op mode) + better control of op modes | |||||
* | new function 'luaT_trybiniTM' | Roberto Ierusalimschy | 2017-09-27 | 1 | -10/+3 | |
| | | | | to handle tag methods for instructions with immediate integer arguments | |||||
* | binary operators use R instead of RK | Roberto Ierusalimschy | 2017-09-26 | 1 | -33/+31 | |
| | | | | | faster + nobody uses RK(B), so B can be smaller (freeing one bit for more opcodes, soon) | |||||
* | new opcode OP_LOADF (load immediate float) | Roberto Ierusalimschy | 2017-09-19 | 1 | -1/+6 | |
| | ||||||
* | jumps do not close upvalues (to be faster and simpler); | Roberto Ierusalimschy | 2017-09-13 | 1 | -5/+6 | |
| | | | | | | explicit instruction to close upvalues; command 'break' not handled like a 'goto' (to optimize removal of uneeded 'close' instructions) | |||||
* | jumps in 'for' loops don't need to be signed | Roberto Ierusalimschy | 2017-08-14 | 1 | -5/+5 | |
| | ||||||
* | coercion string->number in arithmetic operations moved to string | Roberto Ierusalimschy | 2017-07-07 | 1 | -11/+10 | |
| | | | | library | |||||
* | 'OP_VARARG' has the vararg parameter as an operand | Roberto Ierusalimschy | 2017-06-29 | 1 | -2/+2 | |
| | ||||||
* | new type 'StackValue' for stack elements | Roberto Ierusalimschy | 2017-06-29 | 1 | -102/+107 | |
| | | | | (we may want to put extra info there in the future) |