summaryrefslogtreecommitdiff
path: root/lvm.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Lua 5.3.5 ported to gitv5.3.5Roberto Ierusalimschy2018-12-171-1/+1
| | | | | | | This is the first commit for the branch Lua 5.3. All source files were copied from the official distribution of 5.3.5 in the Lua site. The test files are the same of 5.3.4. The manual came from the previous RCS repository, revision 1.167.1.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
|
* always use macros to operate on lua_NumbersRoberto Ierusalimschy2015-03-071-2/+2
|
* new macros 'chgfltvalue'/'chgivalue' (numerical for loop doesRoberto Ierusalimschy2015-03-021-3/+3
| | | | not need to set the type of its internal variable at each iteration)
* 'numisinteger' (for table keys) replaced by 'luaV_tointeger' (oldRoberto Ierusalimschy2015-02-201-21/+3
| | | | 'tointeger_aux'), which can do the same job.
* macros 'luai_num*' (for float arithmetic operations) moved toRoberto Ierusalimschy2015-02-051-1/+2
| | | | llimits.h.
* size of short strings stored in a single byte, to reduce the sizeRoberto Ierusalimschy2015-01-161-13/+19
| | | | of struct 'TString'
* change in macro 'vmcase', avoding code inside it. (Code inside theRoberto Ierusalimschy2014-12-271-97/+142
| | | | macro harms tools such as debuggers.)
* new macro 'nvalue' (to convert an object to a float when we knowRoberto Ierusalimschy2014-12-191-3/+2
| | | | object is a number)
* 'x//y' extended to floats + more comments about module and floorRoberto Ierusalimschy2014-11-211-22/+27
| | | | division operations
* simpler definition for 'luaV_tonumber_'Roberto Ierusalimschy2014-11-191-11/+8
|
* macro to change method of conversion from float to integer (make itRoberto Ierusalimschy2014-11-031-6/+15
| | | | use floor intead of requiring an exact integral value)
* added include for 'lprefix.h', for stuff that must be added beforeRoberto Ierusalimschy2014-11-021-4/+6
| | | | any other header file
* `name' in comments changed to 'name'Roberto Ierusalimschy2014-10-251-9/+9
|
* 'lua_numtointeger' -> 'lua_numbertointeger'Roberto Ierusalimschy2014-10-241-2/+2
|
* macros 'LUA_QL'/'LUA_QL' deprecatedRoberto Ierusalimschy2014-10-171-4/+4
|
* size for array part of a table ('sizearray') changed from 'int' toRoberto Ierusalimschy2014-09-041-2/+2
| | | | 'unsigned int', which allows twice as many elements in the array part
* new macro 'cvt2num' to better control whether strings are convertibleRoberto Ierusalimschy2014-07-301-3/+3
| | | | to numbers
* new macro 'cvt2str' to better control whether numbers are convertibleRoberto Ierusalimschy2014-07-301-33/+4
| | | | to strings
* 'iswhite' and related macros now can work directly on any objectRoberto Ierusalimschy2014-07-211-2/+2
| | | | (no need to convert to 'GCObject')