Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Clearer distinction between types and tags | Roberto Ierusalimschy | 2020-01-31 | 1 | -23/+23 |
| | | | | | LUA_T* represents only types; tags (types + Variants) are represented by LUA_V* constants. | ||||
* | Changed internal representation of booleans | Roberto Ierusalimschy | 2020-01-06 | 1 | -5/+5 |
| | | | | | | | Instead of an explicit value (field 'b'), true and false use different tag variants. This avoids reading an extra field and results in more direct code. (Most code that uses booleans needs to distinguish between true and false anyway.) | ||||
* | Using an enumeration for float->integer coercion modes | Roberto Ierusalimschy | 2019-12-05 | 1 | -2/+2 |
| | |||||
* | Details (mostly comments) | Roberto Ierusalimschy | 2019-10-22 | 1 | -0/+3 |
| | |||||
* | Janitorial work | Roberto Ierusalimschy | 2019-10-01 | 1 | -20/+24 |
| | | | | | | | - Several details in 'lcode.c' - A few more tests for code generation - Bug in assert in 'lcode.c' ("=" x "==") - Comments in 'lopcodes.h' and 'ltable.c' | ||||
* | A few changes in tests about number of bits in integers | Roberto Ierusalimschy | 2019-05-13 | 1 | -2/+2 |
| | | | | | | - The preprocessor must work with at least 'long', and therefore must do shifts of up to 31 bits correctly. - Whenever possible, use unsigned types in shifts. | ||||
* | Small optimizations in range checks | Roberto Ierusalimschy | 2019-03-27 | 1 | -5/+5 |
| | | | | | | | | Checks of the form '1 <= x && x <= M' were rewritten in the form '(unsigned)x - 1 < (unsigned)M', which is usually more efficient. (Other similar checks have similar translations.) Although some compilers do these optimizations, that does not happen for all compilers or all cases. | ||||
* | 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. | ||||
* | warning (comparison between signed and unsigned integers) | Roberto Ierusalimschy | 2018-06-15 | 1 | -2/+3 |
| | |||||
* | field 'sizearray' in struct 'Table' changed to 'alimit', which can | Roberto Ierusalimschy | 2018-06-15 | 1 | -36/+161 |
| | | | | be used as a hint for '#t' | ||||
* | no more 'luaH_emptyobject' and comparisons of addresses of global variables | Roberto Ierusalimschy | 2018-06-01 | 1 | -9/+10 |
| | | | | | (instead, use a different kind of nil to signal the fake entry returned when a key is not found in a table) | ||||
* | new macros 'likely'/'unlikely' with hints for jump predictions | Roberto Ierusalimschy | 2018-05-30 | 1 | -5/+6 |
| | | | | (used only in errors for now) | ||||
* | detail ('l_castU2S' should only be used over lua_Unsigned values) | Roberto Ierusalimschy | 2018-05-29 | 1 | -2/+2 |
| | |||||
* | better names for macros for tags and types. | Roberto Ierusalimschy | 2018-02-26 | 1 | -6/+6 |
| | | | | | rttype -> rawtt; ttyperaw -> withvariant; ttype -> ttypetag; tnov -> ttype | ||||
* | first version of empty entries in tables | Roberto Ierusalimschy | 2018-02-23 | 1 | -30/+33 |
| | | | | (so that, in the future, tables can contain regular nil entries) | ||||
* | small reorganization of 'luaV_flttointeger'/'luaV_tointeger' | Roberto Ierusalimschy | 2018-02-21 | 1 | -4/+5 |
| | |||||
* | more generic way to handle 'gclist' | Roberto Ierusalimschy | 2018-02-19 | 1 | -2/+2 |
| | |||||
* | janitor work on casts | Roberto Ierusalimschy | 2018-01-28 | 1 | -5/+5 |
| | |||||
* | another try with table resize. | Roberto Ierusalimschy | 2017-12-29 | 1 | -41/+55 |
| | | | | | (Old version was leaving some elements unanchored while allocating new memory) | ||||
* | more freedom in handling memory-allocation errors (not all allocations | Roberto Ierusalimschy | 2017-12-08 | 1 | -32/+63 |
| | | | | | automatically raise an error), which allows fixing a bug when resizing a table. | ||||
* | using explicit tests for allocation overflow whenever possible | Roberto Ierusalimschy | 2017-12-07 | 1 | -9/+29 |
| | |||||
* | detail (typo in comments) | Roberto Ierusalimschy | 2017-11-23 | 1 | -2/+2 |
| | |||||
* | new function 'luaV_flttointeger' to convert floats to integers (without | Roberto Ierusalimschy | 2017-11-08 | 1 | -3/+3 |
| | | | | | string coercions) + string operands to bitwise operations handled by string metamethods | ||||
* | new type 'StackValue' for stack elements | Roberto Ierusalimschy | 2017-06-29 | 1 | -6/+6 |
| | | | | (we may want to put extra info there in the future) | ||||
* | no more 'DEADKEY'. Table traversals do not need to consider dead keys; | Roberto Ierusalimschy | 2017-06-12 | 1 | -37/+27 |
| | | | | | | if the key is dead, it cannot be given to 'next'. Instead, we now use a 'table' tag without the collectable bit, which makes it a unique tag good enough to reserve space. | ||||
* | in hash nodes, keys are stored in separate pieces to avoid wasting | Roberto Ierusalimschy | 2017-06-09 | 1 | -46/+85 |
| | | | | space with alignments | ||||
* | BUG: in 'computesizes', 'twotoi' overflows when a sequence has | Roberto Ierusalimschy | 2017-05-19 | 1 | -3/+6 |
| | | | | more than 2^30 elements. | ||||
* | better implementation for 'hash_search', without using 'size_t' | Roberto Ierusalimschy | 2017-05-19 | 1 | -28/+36 |
| | | | | (simpler to implement and to explain) | ||||
* | reimplementation of 'luaH_getn', trying to handle numeric limits | Roberto Ierusalimschy | 2017-05-16 | 1 | -33/+44 |
| | | | | properly. | ||||
* | detail ('1' -> '1u' in unsigned operation) | Roberto Ierusalimschy | 2017-05-09 | 1 | -2/+2 |
| | |||||
* | using 'lastfree == NULL' to signal that table is using the dummy | Roberto Ierusalimschy | 2016-11-07 | 1 | -23/+23 |
| | | | | node for its hash part + new macro 'allocsizenode' | ||||
* | details (typos in comments) | Roberto Ierusalimschy | 2015-11-19 | 1 | -2/+2 |
| | |||||
* | no need for a special case to get long strings (not that common) | Roberto Ierusalimschy | 2015-11-03 | 1 | -22/+16 |
| | |||||
* | added comment and assert about dead keys | Roberto Ierusalimschy | 2015-11-03 | 1 | -2/+3 |
| | |||||
* | bug: despite its name, 'luaH_getstr' did not work for strings in | Roberto Ierusalimschy | 2015-11-03 | 1 | -16/+35 |
| | | | | general, but only for short strings | ||||
* | avoid possibility of subtle arith. overflow | Roberto Ierusalimschy | 2015-07-04 | 1 | -2/+2 |
| | |||||
* | detail | Roberto Ierusalimschy | 2015-07-01 | 1 | -2/+2 |
| | |||||
* | comment (FALLTHROUGH position) | Roberto Ierusalimschy | 2015-06-09 | 1 | -3/+3 |
| | |||||
* | detail (removed useless '#include') | Roberto Ierusalimschy | 2015-05-20 | 1 | -2/+1 |
| | |||||
* | detail (comment) | Roberto Ierusalimschy | 2015-04-02 | 1 | -2/+2 |
| | |||||
* | janitor work (comments, variable names, some other details) | Roberto Ierusalimschy | 2015-03-30 | 1 | -25/+31 |
| | |||||
* | details (avoid 'lint' warnings) | Roberto Ierusalimschy | 2015-03-30 | 1 | -2/+2 |
| | |||||
* | 'point2int' -> 'point2uint' (to reflect its actual result type) | Roberto Ierusalimschy | 2015-03-03 | 1 | -2/+2 |
| | |||||
* | 'numisinteger' (for table keys) replaced by 'luaV_tointeger' (old | Roberto Ierusalimschy | 2015-02-20 | 1 | -17/+5 |
| | | | | 'tointeger_aux'), which can do the same job. | ||||
* | make 'hashfloat' configurable | Roberto Ierusalimschy | 2015-02-20 | 1 | -8/+8 |
| | |||||
* | detail (file does not need 'string.h') | Roberto Ierusalimschy | 2015-02-16 | 1 | -2/+1 |
| | |||||
* | some changes in 'hashfloat' to avoid undefined (in ISO C) numerical | Roberto Ierusalimschy | 2015-02-13 | 1 | -8/+21 |
| | | | | conversions | ||||
* | size of short strings stored in a single byte, to reduce the size | Roberto Ierusalimschy | 2015-01-16 | 1 | -2/+2 |
| | | | | of struct 'TString' | ||||
* | 'setkey' -> 'setnodekey' (to avoid conflicts with POSIX)v5.3.0 | Roberto Ierusalimschy | 2015-01-05 | 1 | -2/+2 |
| | |||||
* | added include for 'lprefix.h', for stuff that must be added before | Roberto Ierusalimschy | 2014-11-02 | 1 | -4/+6 |
| | | | | any other header file |