summaryrefslogtreecommitdiff
path: root/lvm.h
Commit message (Collapse)AuthorAgeFilesLines
* Negation in constant folding of '>>' may overflowRoberto Ierusalimschy2022-09-231-0/+5
|
* Broadening the use of branch hintsRoberto Ierusalimschy2021-02-241-2/+4
| | | | | | More uses of macros 'likely'/'unlikely' (renamed to 'l_likely'/'l_unlikely'), both in range (extended to the libraries) and in scope (extended to hooks, stack growth).
* Several details about 5.4.0 rc1Roberto Ierusalimschy2020-04-231-2/+2
| | | | | Corrected several small details: added 'const', adjusts in tabs x spaces, removed unused #includes and #defines, misspellings, etc.
* Using an enumeration for float->integer coercion modesRoberto Ierusalimschy2019-12-051-4/+15
|
* New macros for arithmetic/bitwise operations in 'luaV_execute'Roberto Ierusalimschy2018-11-051-1/+1
| | | | | | | The repetitive code of the arithmetic and bitwise operators in the main iterpreter loop was moved to appropriate macros. (As a detail, the function 'luaV_div' was renamed 'luaV_idiv', as it does an "integer division" (floor division).
* Corrections in the implementation of '%' for floats.Roberto Ierusalimschy2018-08-281-0/+1
| | | | | | | | | The multiplication (m*b) used to test whether 'm' is non-zero and 'm' and 'b' have different signs can underflow for very small numbers, giving a wrong result. The use of explicit comparisons solves this problem. This commit also adds several new tests for '%' (both for floats and for integers) to exercise more corner cases, such as very large and very small values.
* Removed extra information from RCS keyword stringsRoberto Ierusalimschy2018-08-231-1/+1
| | | | | Version numbers and dates (mostly wrong) from RCS keyword strings removed from all source files; only the file name are kept.
* field 'sizearray' in struct 'Table' changed to 'alimit', which canRoberto Ierusalimschy2018-06-151-2/+2
| | | | be used as a hint for '#t'
* first version of empty entries in tablesRoberto Ierusalimschy2018-02-231-5/+5
| | | | (so that, in the future, tables can contain regular nil entries)
* small reorganization of 'luaV_flttointeger'/'luaV_tointeger'Roberto Ierusalimschy2018-02-211-5/+5
|
* more generic way to handle 'gclist'Roberto Ierusalimschy2018-02-191-2/+2
|
* 'luaV_execute' gets call info as extra argument (it is alwaysRoberto Ierusalimschy2017-11-291-2/+2
| | | | available on call sites)
* new function 'luaV_flttointeger' to convert floats to integers (withoutRoberto Ierusalimschy2017-11-081-1/+8
| | | | | string coercions) + string operands to bitwise operations handled by string metamethods
* coercion string->number in arithmetic operations moved to stringRoberto Ierusalimschy2017-07-071-1/+11
| | | | library
* new type 'StackValue' for stack elementsRoberto Ierusalimschy2017-06-291-2/+2
| | | | (we may want to put extra info there in the future)
* detailRoberto Ierusalimschy2017-06-091-2/+2
| | | | (removed empty spaces at the end of lines)
* macro 'setobj2t' may not be an expressionRoberto Ierusalimschy2017-06-011-2/+3
|
* revamp of fast track for table access (table set uses the sameRoberto Ierusalimschy2017-05-111-28/+19
| | | | macros as table get + new macro for integer keys)
* detail (removing spaces at end of lines)Roberto Ierusalimschy2016-12-221-2/+2
|
* 'luaV_fastget' only treats the real fast case (table with a non-nilRoberto Ierusalimschy2016-01-051-16/+15
| | | | value at given key, so that it does not need to check metamethods)
* 'setobj2t' incorporated into 'luaV_fastset' + 'invalidateTMcache'Roberto Ierusalimschy2015-09-091-11/+21
| | | | | is not needed in the fast track (as it does not create new entries)
* 'invalidateTMcache' not needed in all 'settable' usesRoberto Ierusalimschy2015-08-031-4/+3
|
* fast track for 'settable'Roberto Ierusalimschy2015-08-031-3/+18
|
* implementation of fast track for gettable operationsRoberto Ierusalimschy2015-07-201-3/+25
|
* 'numisinteger' (for table keys) replaced by 'luaV_tointeger' (oldRoberto Ierusalimschy2015-02-201-3/+13
| | | | 'tointeger_aux'), which can do the same job.
* details in commentsRoberto Ierusalimschy2014-08-011-3/+3
|
* new macro 'cvt2num' to better control whether strings are convertibleRoberto Ierusalimschy2014-07-301-8/+15
| | | | to numbers
* new macro 'cvt2str' to better control whether numbers are convertibleRoberto Ierusalimschy2014-07-301-2/+8
| | | | to strings
* function 'luaV_numtointeger' changed to a global macroRoberto Ierusalimschy2014-05-261-2/+1
| | | | 'lua_numtointeger' (tricky, small, and useful in several places)
* no more integer exponentiationRoberto Ierusalimschy2014-05-121-2/+1
|
* n^-m gives float result (instead of error)Roberto Ierusalimschy2014-04-271-2/+2
|
* cast_u2s/cast_s2u renamed l_castS2U/l_castU2S to be configurable fromRoberto Ierusalimschy2014-04-151-2/+2
| | | | outside (mostly for testing)
* macros cast_integer/cast_unsigned replaced by cast_u2s/cast_s2u, thatRoberto Ierusalimschy2014-04-151-3/+2
| | | | should be used only between lua_Integer and lua_Unsigned
* macro 'tostring' is used only by 'luaV_concat'Roberto Ierusalimschy2014-03-311-3/+1
|
* first implementation of '<<', '>>', and '~' (bitwise not)Roberto Ierusalimschy2013-12-301-1/+2
|
* integer exponentiation with negative exponent is invalidRoberto Ierusalimschy2013-12-161-2/+2
|
* new macro 'intop' (to perform integer arithmetic on unsigned types)Roberto Ierusalimschy2013-05-021-1/+3
|
* new function 'tointeger' + 'luaV_arith' replaced by 'luaT_trybinTM'Roberto Ierusalimschy2013-04-291-3/+6
|
* new interface for 'tonumber'Roberto Ierusalimschy2013-04-261-3/+4
|
* integer handling for order comparisons, power, and modulo operationsRoberto Ierusalimschy2013-04-251-1/+4
|
* first steps in the support of integers: basic representation + table ↵Roberto Ierusalimschy2013-04-151-8/+4
| | | | indexing + basic API ops (tointeger/pushinteger) + equality + a few extra stuff
* detailRoberto Ierusalimschy2013-01-081-3/+2
|
* more uniform names for 'equalobj'-related functionsRoberto Ierusalimschy2011-05-311-5/+5
|
* no need for two different implementations for equality (one raw andRoberto Ierusalimschy2011-05-311-1/+5
| | | | one with metamethods)
* new macro 'ttisequal'Roberto Ierusalimschy2011-04-051-3/+2
|
* 'lua_objlen' replaced by 'lua_rawlen', 'lua_len', and 'luaL_len'Roberto Ierusalimschy2009-12-171-1/+2
|
* 'luaV_arith' must be marked 'LUAI_FUNC' (as all non-static functions)Roberto Ierusalimschy2009-11-191-3/+3
|
* avoid using 'ttype' when there is an explicit testRoberto Ierusalimschy2009-11-061-4/+3
|
* exports luaV_arith to be used by lua_arithRoberto Ierusalimschy2009-06-171-1/+3
|
* 'lessequal' renamed 'luaV_lessequal' and exported to be used byRoberto Ierusalimschy2009-06-171-1/+2
| | | | 'lua_compare'