Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Details | Roberto Ierusalimschy | 2025-01-16 | 1 | -1/+1 |
| | | | | New year (2024->2025), typos in comments | ||||
* | Added gcc option '-Wconversion' | Roberto Ierusalimschy | 2024-07-27 | 1 | -2/+2 |
| | | | | | No warnings for standard numerical types. Still pending alternative numerical types. | ||||
* | 'luaH_get' functions return tag of the result | Roberto Ierusalimschy | 2024-03-21 | 1 | -11/+7 |
| | | | | | | | Undoing previous commit. Returning TValue increases code size without any visible gains. Returning the tag is a little simpler than returning a special code (HOK/HNOTFOUND) and the tag is useful by itself in some cases. | ||||
* | 'luaH_get' functions return 'TValue' | Roberto Ierusalimschy | 2024-03-18 | 1 | -7/+11 |
| | | | | | | Instead of receiving a parameter telling them where to put the result of the query, these functions return the TValue directly. (That is, they return a structure.) | ||||
* | Optimizations for 'lua_rawgeti' and 'lua_rawseti' | Roberto Ierusalimschy | 2024-01-12 | 1 | -23/+13 |
| | | | | | | 'lua_rawgeti' now uses "fast track"; 'lua_rawseti' still calls 'luaH_setint', but the latter was recoded to avoid extra overhead when writing to the array part after 'alimit'. | ||||
* | Full implementation of new representation for arrays | Roberto Ierusalimschy | 2023-11-03 | 1 | -2/+2 |
| | |||||
* | Full abstraction for representation of array values | Roberto Ierusalimschy | 2023-10-30 | 1 | -2/+2 |
| | |||||
* | Some cleaning in the new table API | Roberto Ierusalimschy | 2023-05-16 | 1 | -36/+13 |
| | |||||
* | New table API for 'set' functions | Roberto Ierusalimschy | 2023-05-16 | 1 | -5/+20 |
| | |||||
* | Towards a new implementation of arrays | Roberto Ierusalimschy | 2023-05-15 | 1 | -2/+15 |
| | | | | | | | | | | | The array part of a table wastes too much space, due to padding. To avoid that, we need to store values in the array as something different from a TValue. Therefore, the API for table access should not assume that any value in a table lives in a *TValue. This commit is the first step to remove that assumption: functions luaH_get*, instead of returning a *TValue where the value lives, receive a *TValue where to put the value being accessed. (We still have to change the luaH_set* functions.) | ||||
* | Negation in constant folding of '>>' may overflow | Roberto Ierusalimschy | 2022-09-23 | 1 | -0/+5 |
| | |||||
* | Broadening the use of branch hints | Roberto Ierusalimschy | 2021-02-24 | 1 | -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 rc1 | Roberto Ierusalimschy | 2020-04-23 | 1 | -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 modes | Roberto Ierusalimschy | 2019-12-05 | 1 | -4/+15 |
| | |||||
* | New macros for arithmetic/bitwise operations in 'luaV_execute' | Roberto Ierusalimschy | 2018-11-05 | 1 | -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 Ierusalimschy | 2018-08-28 | 1 | -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 strings | Roberto Ierusalimschy | 2018-08-23 | 1 | -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 can | Roberto Ierusalimschy | 2018-06-15 | 1 | -2/+2 |
| | | | | be used as a hint for '#t' | ||||
* | first version of empty entries in tables | Roberto Ierusalimschy | 2018-02-23 | 1 | -5/+5 |
| | | | | (so that, in the future, tables can contain regular nil entries) | ||||
* | small reorganization of 'luaV_flttointeger'/'luaV_tointeger' | Roberto Ierusalimschy | 2018-02-21 | 1 | -5/+5 |
| | |||||
* | more generic way to handle 'gclist' | Roberto Ierusalimschy | 2018-02-19 | 1 | -2/+2 |
| | |||||
* | 'luaV_execute' gets call info as extra argument (it is always | Roberto Ierusalimschy | 2017-11-29 | 1 | -2/+2 |
| | | | | available on call sites) | ||||
* | new function 'luaV_flttointeger' to convert floats to integers (without | Roberto Ierusalimschy | 2017-11-08 | 1 | -1/+8 |
| | | | | | string coercions) + string operands to bitwise operations handled by string metamethods | ||||
* | coercion string->number in arithmetic operations moved to string | Roberto Ierusalimschy | 2017-07-07 | 1 | -1/+11 |
| | | | | library | ||||
* | new type 'StackValue' for stack elements | Roberto Ierusalimschy | 2017-06-29 | 1 | -2/+2 |
| | | | | (we may want to put extra info there in the future) | ||||
* | detail | Roberto Ierusalimschy | 2017-06-09 | 1 | -2/+2 |
| | | | | (removed empty spaces at the end of lines) | ||||
* | macro 'setobj2t' may not be an expression | Roberto Ierusalimschy | 2017-06-01 | 1 | -2/+3 |
| | |||||
* | revamp of fast track for table access (table set uses the same | Roberto Ierusalimschy | 2017-05-11 | 1 | -28/+19 |
| | | | | macros as table get + new macro for integer keys) | ||||
* | detail (removing spaces at end of lines) | Roberto Ierusalimschy | 2016-12-22 | 1 | -2/+2 |
| | |||||
* | 'luaV_fastget' only treats the real fast case (table with a non-nil | Roberto Ierusalimschy | 2016-01-05 | 1 | -16/+15 |
| | | | | value at given key, so that it does not need to check metamethods) | ||||
* | 'setobj2t' incorporated into 'luaV_fastset' + 'invalidateTMcache' | Roberto Ierusalimschy | 2015-09-09 | 1 | -11/+21 |
| | | | | | is not needed in the fast track (as it does not create new entries) | ||||
* | 'invalidateTMcache' not needed in all 'settable' uses | Roberto Ierusalimschy | 2015-08-03 | 1 | -4/+3 |
| | |||||
* | fast track for 'settable' | Roberto Ierusalimschy | 2015-08-03 | 1 | -3/+18 |
| | |||||
* | implementation of fast track for gettable operations | Roberto Ierusalimschy | 2015-07-20 | 1 | -3/+25 |
| | |||||
* | 'numisinteger' (for table keys) replaced by 'luaV_tointeger' (old | Roberto Ierusalimschy | 2015-02-20 | 1 | -3/+13 |
| | | | | 'tointeger_aux'), which can do the same job. | ||||
* | details in comments | Roberto Ierusalimschy | 2014-08-01 | 1 | -3/+3 |
| | |||||
* | new macro 'cvt2num' to better control whether strings are convertible | Roberto Ierusalimschy | 2014-07-30 | 1 | -8/+15 |
| | | | | to numbers | ||||
* | new macro 'cvt2str' to better control whether numbers are convertible | Roberto Ierusalimschy | 2014-07-30 | 1 | -2/+8 |
| | | | | to strings | ||||
* | function 'luaV_numtointeger' changed to a global macro | Roberto Ierusalimschy | 2014-05-26 | 1 | -2/+1 |
| | | | | 'lua_numtointeger' (tricky, small, and useful in several places) | ||||
* | no more integer exponentiation | Roberto Ierusalimschy | 2014-05-12 | 1 | -2/+1 |
| | |||||
* | n^-m gives float result (instead of error) | Roberto Ierusalimschy | 2014-04-27 | 1 | -2/+2 |
| | |||||
* | cast_u2s/cast_s2u renamed l_castS2U/l_castU2S to be configurable from | Roberto Ierusalimschy | 2014-04-15 | 1 | -2/+2 |
| | | | | outside (mostly for testing) | ||||
* | macros cast_integer/cast_unsigned replaced by cast_u2s/cast_s2u, that | Roberto Ierusalimschy | 2014-04-15 | 1 | -3/+2 |
| | | | | should be used only between lua_Integer and lua_Unsigned | ||||
* | macro 'tostring' is used only by 'luaV_concat' | Roberto Ierusalimschy | 2014-03-31 | 1 | -3/+1 |
| | |||||
* | first implementation of '<<', '>>', and '~' (bitwise not) | Roberto Ierusalimschy | 2013-12-30 | 1 | -1/+2 |
| | |||||
* | integer exponentiation with negative exponent is invalid | Roberto Ierusalimschy | 2013-12-16 | 1 | -2/+2 |
| | |||||
* | new macro 'intop' (to perform integer arithmetic on unsigned types) | Roberto Ierusalimschy | 2013-05-02 | 1 | -1/+3 |
| | |||||
* | new function 'tointeger' + 'luaV_arith' replaced by 'luaT_trybinTM' | Roberto Ierusalimschy | 2013-04-29 | 1 | -3/+6 |
| | |||||
* | new interface for 'tonumber' | Roberto Ierusalimschy | 2013-04-26 | 1 | -3/+4 |
| | |||||
* | integer handling for order comparisons, power, and modulo operations | Roberto Ierusalimschy | 2013-04-25 | 1 | -1/+4 |
| |