aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | First criteria for shifts minor<->majorRoberto Ierusalimschy2023-12-078-128/+187
| |
* | Major collections done incrementallyRoberto Ierusalimschy2023-12-064-75/+80
| | | | | | | | | | Major collections do not need to "stop the world". Still pending: criteria for shifts minor-major, shifts generational-incremental.
* | Removed macro 'changeage'Roberto Ierusalimschy2023-12-012-14/+12
| | | | | | | | | | It is simpler to use always 'setage'. The saving from 'changeage' is too irrelevant.
* | Removed parameter in 'collectgarbage("step")'Roberto Ierusalimschy2023-12-012-57/+3
| | | | | | | | A call to 'collectgarbage("step")' always performs one GC basic step.
* | Removed deprecated options in 'lua_gc'Roberto Ierusalimschy2023-11-304-39/+10
| | | | | | | | Options 'setpause' and 'setstepmul' were deprecated in Lua 5.4.
* | Comments detailing the ages for generational GCRoberto Ierusalimschy2023-11-295-16/+59
| | | | | | | | Plus other comments and small details.
* | Details in the manualRoberto Ierusalimschy2023-11-241-21/+13
| |
* | Simpler coding for new representation for arraysRoberto Ierusalimschy2023-11-243-50/+36
| | | | | | | | | | With the tags comming first in a cell, we can define the whole cell as a C type and let C do part of the address computations.
* | Buffer in 'luai_makeseed' measured in bytesRoberto Ierusalimschy2023-11-152-12/+20
| | | | | | | | | | In the (rare) cases when sizeof(void*) or sizeof(time_t) are not multiples of sizeof(int), we still can use all their bytes in the seed.
* | Default paths stored as external stringsRoberto Ierusalimschy2023-11-131-2/+3
| |
* | Auxiliary buffer uses external stringsRoberto Ierusalimschy2023-11-133-27/+40
| | | | | | | | | | The buffer system from the auxiliary library reuses its buffer as external memory when closing long strings.
* | Correct anchoring and GC barriers in 'loadString'Roberto Ierusalimschy2023-11-132-42/+37
| | | | | | | | | | | | Call to 'luaH_setint' could call the GC with the string unanchored. Moreover, previously saved strings were being assigned to the prototype without a barrier.
* | Fixed buffers save long strings as external.Roberto Ierusalimschy2023-11-104-16/+29
| |
* | External stringsRoberto Ierusalimschy2023-11-099-14/+195
| | | | | | | | Strings can use external buffers to store their contents.
* | Towards external stringsRoberto Ierusalimschy2023-11-084-22/+36
| | | | | | | | Long strings have a pointer to string contents.
* | DetailsRoberto Ierusalimschy2023-11-081-9/+18
| | | | | | | | Comments and parameter name in header file.
* | Solving merge issue with use of tables in dump/undumpRoberto Ierusalimschy2023-11-082-6/+7
| | | | | | | | | | | | The use of tables in dump/undump to reuse strings did not exist in the version that changed the representation of arrays, so it was not corrected for the new API for tables.
* | Merge branch 'newarray' into nextversionRoberto Ierusalimschy2023-11-0712-273/+528
|\ \
| * | Merge branch 'master' into newarrayRoberto Ierusalimschy2023-11-0336-278/+369
| |\|
| * | Full implementation of new representation for arraysRoberto Ierusalimschy2023-11-035-29/+96
| | |
| * | Full abstraction for representation of array valuesRoberto Ierusalimschy2023-10-309-93/+128
| | |
| * | Avoid direct accesses to the array part of a tableRoberto Ierusalimschy2023-10-271-49/+79
| | |
| * | Some cleaning in the new table APIRoberto Ierusalimschy2023-05-168-210/+189
| | |
| * | New table API for 'set' functionsRoberto Ierusalimschy2023-05-165-71/+180
| | |
| * | Towards a new implementation of arraysRoberto Ierusalimschy2023-05-155-59/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.)
* | | Merge branch 'master' into nextversionRoberto Ierusalimschy2023-11-076-102/+137
|\ \ \ | | |/ | |/|
| * | Bug: Recursion in 'getobjname' can stack overflowRoberto Ierusalimschy2023-11-012-69/+87
| | | | | | | | | | | | | | | | | | 'getobjname' now broken in two, a basic version that handles locals, upvalues, and constants, and a full version, which uses the basic version to handle table accesses (globals and fields).
| * | Simpler test in 'luaH_getint'Roberto Ierusalimschy2023-10-261-11/+25
| | | | | | | | | | | | | | | The test whether key is inside the array part of a table uses a bit trick to avoid computing the real size of the array part.
| * | Removed test for "corrupted binary dump"Roberto Ierusalimschy2023-09-082-15/+1
| | | | | | | | | | | | | | | Test is too non portable. (For instance, it does not work for different number types.)
| * | Avoid casts from unsigned long to floating-pointRoberto Ierusalimschy2023-09-081-7/+24
| | | | | | | | | | | | Old Microsoft compilers do not support those casts.
| * | Cannot use 'getshrstr' before setting 'shrlen'Roberto Ierusalimschy2023-08-251-1/+1
| | |
* | | Added suport for Fixed BuffersRoberto Ierusalimschy2023-09-0512-34/+160
| | | | | | | | | | | | | | | A fixed buffer keeps a binary chunk "forever", so that the program does not need to copy some of its parts when loading it.
* | | New macro 'getlstr'Roberto Ierusalimschy2023-08-305-22/+37
| | | | | | | | | | | | Accesses content and length of a 'TString'.
* | | Field 'Proto.is_vararg' uses only one bitRoberto Ierusalimschy2023-08-308-13/+20
| | | | | | | | | | | | So that the other bits can be used for other purposes.
* | | Opcode in dumps is stored properly alignedRoberto Ierusalimschy2023-08-252-1/+30
| | |
* | | Merge branch 'master' into nextversionRoberto Ierusalimschy2023-08-2322-88/+134
|\| |
| * | Documentation for "LUA_NOENV"Roberto Ierusalimschy2023-08-231-0/+4
| | | | | | | | | | | | | | | Registry field "LUA_NOENV" (that signals to libraries that option -E is on) now part of the "official" API of Lua stand-alone.
| * | Bug: Wrong line number for function callsRoberto Ierusalimschy2023-08-232-10/+10
| | |
| * | More disciplined use of 'getstr' and 'tsslen'Roberto Ierusalimschy2023-08-179-33/+37
| | | | | | | | | | | | | | | We may want to add other string variants in the future; this change documents better where the code may need to handle those variants.
| * | More control over encoding of test filesRoberto Ierusalimschy2023-08-176-28/+49
| | | | | | | | | | | | | | | The few UTF-8 test files are commented as such, and there is only one non UTF-8 test file (to test non UTF-8 sources).
| * | Bug: Call hook may be called twice when count hook yieldsRoberto Ierusalimschy2023-07-254-11/+27
| | | | | | | | | | | | | | | Took the opportunity and moved the code that controls call hooks in 'luaV_execute' into a function.
| * | Thread stacks resized in the atomic phaseRoberto Ierusalimschy2023-07-131-3/+5
| | | | | | | | | | | | | | | | | | | | | Although stack resize can be a little expensive, it seems unusual to have too many threads needing resize during one GC cycle. On the other hand, the change allows full collections to skip the propagate phase, going straight from a pause to the atomic phase.
| * | DetailsRoberto Ierusalimschy2023-07-032-3/+2
| | |
* | | Merge branch 'master' into nextversionRoberto Ierusalimschy2023-06-2233-205/+305
|\| |
| * | Removed redundancy in definitions of version/releaseRoberto Ierusalimschy2023-06-211-11/+21
| | | | | | | | | | | | String rendering now derived from the numeric original definitions.
| * | Avoid inclusion loop in 'ltm.h'Roberto Ierusalimschy2023-06-161-3/+2
| | |
| * | Bug: read overflow in 'l_strcmp'Roberto Ierusalimschy2023-06-141-18/+20
| | | | | | | | | | | | | | | Equality according to 'strcoll' does not imply that strings have the same length.
| * | Several functions turned 'static'Roberto Ierusalimschy2023-05-227-23/+18
| | | | | | | | | | | | | | | Several functions that were already being used only inside their own file have been declared as 'static'.
| * | Option '-l' discards version sufix from file nameRoberto Ierusalimschy2023-05-154-11/+26
| | | | | | | | | | | | | | | | | | Like 'require', the command-line option '-l' discards an optional version suffix (everything after an hyphen) from a file name when creating the module name.
| * | Small improvements in testsRoberto Ierusalimschy2023-05-152-21/+24
| | |