aboutsummaryrefslogtreecommitdiff
path: root/lvm.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* detailRoberto Ierusalimschy2017-06-091-2/+2
| | | | (removed empty spaces at the end of lines)
* macro 'luaV_fastget' may need protection ({}) to be used insideRoberto Ierusalimschy2017-06-011-5/+9
| | | | 'if's
* details (using proper version of 'setobj')Roberto Ierusalimschy2017-05-231-3/+3
|
* table field names for dedicated opcodes can be restricted toRoberto Ierusalimschy2017-05-181-5/+5
| | | | small strings for slightly faster access
* details in OP_CALL + commentsRoberto Ierusalimschy2017-05-181-9/+12
|
* no more field 'base' in CallInfo (base is always equal to 'func + 1',Roberto Ierusalimschy2017-05-131-12/+11
| | | | with old/new vararg implementation)
* back to old-style vararg system (with vararg table collecting extraRoberto Ierusalimschy2017-05-131-15/+3
| | | | arguments)
* revamp of fast track for table access (table set uses the sameRoberto Ierusalimschy2017-05-111-51/+36
| | | | macros as table get + new macro for integer keys)
* more integer fast tracks (for OP_LT, OP_LE, OP_SETTABLE, and OP_GETTABLE)Roberto Ierusalimschy2017-05-101-17/+51
|
* details (direct access to 'Ck' bit in instructions)Roberto Ierusalimschy2017-05-081-3/+3
|
* 'luaV_execute' keeps local copy of program counter and hook mask,Roberto Ierusalimschy2017-05-051-29/+62
| | | | to avoid excessive access to globals.
* barrier for prototype's cache (with new gray list 'protogray' to keepRoberto Ierusalimschy2017-05-041-7/+5
| | | | prototypes to have their caches visited again) + constant 'MAXMISS'
* added 'cachemiss' field to prototype to avoid wasting time checkingRoberto Ierusalimschy2017-04-301-3/+9
| | | | hits that fail too often
* new opcodes for table access with constant keys (strings and integers)Roberto Ierusalimschy2017-04-281-13/+63
|
* new opcode OP_ADDI (for immediate integer operand) (Experimental)Roberto Ierusalimschy2017-04-261-3/+24
|
* opcodes 'OP_GETTABUP'/'OP_SETTABUP' operate only with string keys,Roberto Ierusalimschy2017-04-241-7/+15
| | | | so they can use fast-track table access
* new opcode LOADI (for loading immediate integers)Roberto Ierusalimschy2017-04-201-1/+6
|
* Upvalues collected like everything else (with mark-sweep) insteadRoberto Ierusalimschy2017-04-111-3/+2
| | | | of reference count (simpler and better for generational mode)
* small changes in 'luaC_upvalbarrier'Roberto Ierusalimschy2017-04-061-2/+2
|
* new macro 'vmfetch' to help changing code to computed goto's (macroRoberto Ierusalimschy2016-02-051-8/+13
| | | | abstracts the code to run before each instruction)
* 'luaV_fastget' only treats the real fast case (table with a non-nilRoberto Ierusalimschy2016-01-051-24/+37
| | | | value at given key, so that it does not need to check metamethods)
* bug: Metatable may access its own dealocated field whenRoberto Ierusalimschy2016-01-041-21/+22
| | | | it has a self reference in __newindex + some refactoring
* details (comments)Roberto Ierusalimschy2015-11-231-2/+2
|
* details (typos in comments)Roberto Ierusalimschy2015-11-191-2/+2
|
* detailRoberto Ierusalimschy2015-11-171-2/+2
|
* trying to optimize a little 'luaD_poscall'Roberto Ierusalimschy2015-11-131-2/+2
|
* macro with empty argument can be seen as macro with no argument; betterRoberto Ierusalimschy2015-11-121-3/+3
| | | | to avoid that
* in 'luaD_call', use two functions instead of one with fixed booleanRoberto Ierusalimschy2015-11-021-2/+2
| | | | argument
* in 'luaD_precall', in vararg functions, complete missing parametersRoberto Ierusalimschy2015-11-021-10/+8
| | | | | only after moving them to final place (avoids checking the stack again)
* flag CIST_REENTRY changed to CIST_FRESH (its negation); fresh invocationsRoberto Ierusalimschy2015-11-021-3/+3
| | | | | seem to be less frequent than reentries. (So, avoid setting flag on the frequent case.)
* OP_SELF can use 'luaV_fastget' specialized for strings, as itRoberto Ierusalimschy2015-10-281-3/+8
| | | | is applied only to string keys
* hook test in 'luaV_execute' reduced to minimum (rest done inRoberto Ierusalimschy2015-10-221-8/+8
| | | | | | 'luaG_traceexec'; no difference in performance for the non-hook case, but keeps 'luaV_execute' a little simpler) + 'base' updates replaced by 'Protect' (which serves this rule)
* cleaner definition for 'luaC_condGC', using 'pre'/'pos' parametersRoberto Ierusalimschy2015-10-201-5/+4
|
* 'Protect' in table operations is not needed in the fast trackRoberto Ierusalimschy2015-10-201-20/+37
| | | | + removal of a few dead macros
* macros 'getaddrstr' and 'getstr' unified (they do the same thing)Roberto Ierusalimschy2015-09-171-2/+2
|
* 'setobj2t' incorporated into 'luaV_fastset' + 'invalidateTMcache'Roberto Ierusalimschy2015-09-091-6/+3
| | | | | is not needed in the fast track (as it does not create new entries)
* long strings are created directly in final position when possibleRoberto Ierusalimschy2015-09-081-15/+26
| | | | | (instead of using an auxiliar buffer to first create the string and then allocate the final string and copy result there)
* 'invalidateTMcache' not needed in all 'settable' usesRoberto Ierusalimschy2015-08-031-1/+2
|
* fast track for 'settable'Roberto Ierusalimschy2015-08-031-15/+18
|
* implementation of fast track for gettable operationsRoberto Ierusalimschy2015-07-201-17/+15
|
* computations in numerical for loop must avoid overflows tooRoberto Ierusalimschy2015-07-041-3/+3
|
* detail (cast to avoid mixing types in conditional expression)Roberto Ierusalimschy2015-06-251-2/+2
|
* bug in order NaN x int (tests must ensure that NaN does not getv5.3.1Roberto Ierusalimschy2015-06-091-11/+12
| | | | converted to integer)
* When comparing integers with floats, use float as common type whenRoberto Ierusalimschy2015-06-021-52/+69
| | | | | | possible (i.e., when integer fits in a float without losses); seems to be more efficient in architectures with native support for used Lua numbers
* bug: interpreter cannot pop activation frame before calling returnRoberto Ierusalimschy2015-05-221-3/+2
| | | | | hook (as it may want to access local variables active by the end of the function)
* 'l <= r' for numbers has its own function, instead of usingRoberto Ierusalimschy2015-05-201-14/+30
| | | | 'not (r < l)' (seems to be slightly more efficient)
* new semantics for numerical order (following math regardlessRoberto Ierusalimschy2015-05-201-28/+90
| | | | representation)
* new semantics for equality int-floatRoberto Ierusalimschy2015-04-291-5/+3
|
* Bug: suspended '__le' metamethod can give wrong resultRoberto Ierusalimschy2015-04-101-11/+21
|
* detail ('b + base' -> 'base + b' to follow all other similar uses)Roberto Ierusalimschy2015-03-301-2/+2
|