Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Main thread is a regular field of global_State | Roberto Ierusalimschy | 2025-01-31 | 1 | -4/+4 |
| | | | | | They were already allocated as a single block, so there is no need for the global_State to point to its main thread. | ||||
* | New type 'TStatus' for thread status/error codes | Roberto Ierusalimschy | 2025-01-30 | 1 | -1/+1 |
| | |||||
* | Details | Roberto Ierusalimschy | 2025-01-16 | 1 | -2/+2 |
| | | | | New year (2024->2025), typos in comments | ||||
* | New way to keep hints for table length | Roberto Ierusalimschy | 2024-11-29 | 1 | -4/+4 |
| | | | | | | | | | | Instead of using 'alimit' for keeping the size of the array and at the same time being a hint for '#t', a table now keeps these two values separate. The Table structure has a field 'asize' with the size of the array, while the length hint is kept in the array itself. That way, tables with no array part waste no space with that field. Moreover, the space for the hint may have zero cost for small arrays, if the array of tags plus the hint still fits in a single word. | ||||
* | 'objsize' returns 'l_mem' | Roberto Ierusalimschy | 2024-11-15 | 1 | -13/+26 |
| | | | | Sums of size_t may not fit in a size_t. | ||||
* | Some changes in default GC parameters | Roberto Ierusalimschy | 2024-10-23 | 1 | -3/+1 |
| | |||||
* | Small bug in 'luaE_luaE_statesize' | Roberto Ierusalimschy | 2024-10-21 | 1 | -1/+1 |
| | | | | Plus, function was renamed to 'luaE_threadsize'. | ||||
* | Better support in 'ltests' for tracing the GC | Roberto Ierusalimschy | 2024-10-21 | 1 | -7/+10 |
| | |||||
* | Some adjustments in transition minor->major | Roberto Ierusalimschy | 2024-10-18 | 1 | -36/+42 |
| | | | | Plus extra comments and other details. | ||||
* | 'objsize' broke in smaller pieces | Roberto Ierusalimschy | 2024-09-30 | 1 | -38/+20 |
| | |||||
* | GC back to controling pace counting bytes | Roberto Ierusalimschy | 2024-09-19 | 1 | -125/+182 |
| | | | | Memory is the resource we want to save. Still to be reviewed again. | ||||
* | Rename of fields in global state that control GC | Roberto Ierusalimschy | 2024-09-06 | 1 | -14/+14 |
| | | | | | All fields in the global state that control the pace of the garbage collector prefixed with 'GC'. | ||||
* | Added gcc option '-Wconversion' | Roberto Ierusalimschy | 2024-07-27 | 1 | -7/+7 |
| | | | | | No warnings for standard numerical types. Still pending alternative numerical types. | ||||
* | Details | Roberto Ierusalimschy | 2024-05-08 | 1 | -1/+1 |
| | | | | | Corrections in comments and manual. Added note in the manual about local variables in the REPL. | ||||
* | Details | Roberto Ierusalimschy | 2024-03-28 | 1 | -3/+0 |
| | |||||
* | Removed "bulk operations" | Roberto Ierusalimschy | 2024-03-15 | 1 | -29/+7 |
| | | | | Negligible performance gains don't justify extra complexity. | ||||
* | Added "bulk operations" to arrays | Roberto Ierusalimschy | 2024-03-15 | 1 | -17/+42 |
| | | | | | A few operations on arrays can be performed "in bulk", treating all tags of a cell as a simple (or a few) word(s). | ||||
* | Removed uses of LUA_NUMTAGS | Roberto Ierusalimschy | 2024-01-13 | 1 | -1/+1 |
| | | | | That constant was already deprecated (see commit 6aabf4b15e7). | ||||
* | A few more tweaks in the garbage collector | Roberto Ierusalimschy | 2024-01-10 | 1 | -11/+12 |
| | |||||
* | New option "setparms" for 'collectgarbage' | Roberto Ierusalimschy | 2023-12-22 | 1 | -8/+8 |
| | | | | | | The generational mode also uses the parameters for the incremental mode in its major collections, so it should be easy to change those parameters without having to change the GC mode. | ||||
* | GC parameters encoded as floating-point bytes | Roberto Ierusalimschy | 2023-12-20 | 1 | -9/+9 |
| | | | | | This encoding brings more precision and a larger range for these parameters. | ||||
* | Option 0 for step multiplier makes GC non-incremental | Roberto Ierusalimschy | 2023-12-20 | 1 | -23/+44 |
| | |||||
* | Check minor->major made at the end of a minor cycle | Roberto Ierusalimschy | 2023-12-07 | 1 | -60/+35 |
| | | | | | It does not make sense to wait for another cycle to decide when much of the information about creation of old objects is already available. | ||||
* | First criteria for shifts minor<->major | Roberto Ierusalimschy | 2023-12-07 | 1 | -26/+55 |
| | |||||
* | Major collections done incrementally | Roberto Ierusalimschy | 2023-12-06 | 1 | -68/+73 |
| | | | | | Major collections do not need to "stop the world". Still pending: criteria for shifts minor-major, shifts generational-incremental. | ||||
* | Removed macro 'changeage' | Roberto Ierusalimschy | 2023-12-01 | 1 | -12/+12 |
| | | | | | It is simpler to use always 'setage'. The saving from 'changeage' is too irrelevant. | ||||
* | Comments detailing the ages for generational GC | Roberto Ierusalimschy | 2023-11-29 | 1 | -4/+7 |
| | | | | Plus other comments and small details. | ||||
* | External strings | Roberto Ierusalimschy | 2023-11-09 | 1 | -1/+3 |
| | | | | Strings can use external buffers to store their contents. | ||||
* | Towards external strings | Roberto Ierusalimschy | 2023-11-08 | 1 | -2/+2 |
| | | | | Long strings have a pointer to string contents. | ||||
* | Merge branch 'newarray' into nextversion | Roberto Ierusalimschy | 2023-11-07 | 1 | -7/+18 |
|\ | |||||
| * | Merge branch 'master' into newarray | Roberto Ierusalimschy | 2023-11-03 | 1 | -8/+12 |
| |\ | |||||
| * | | Full implementation of new representation for arrays | Roberto Ierusalimschy | 2023-11-03 | 1 | -4/+4 |
| | | | |||||
| * | | Full abstraction for representation of array values | Roberto Ierusalimschy | 2023-10-30 | 1 | -7/+18 |
| | | | |||||
* | | | Merge branch 'master' into nextversion | Roberto Ierusalimschy | 2023-08-23 | 1 | -6/+10 |
|\ \ \ | | |/ | |/| | |||||
| * | | More disciplined use of 'getstr' and 'tsslen' | Roberto Ierusalimschy | 2023-08-17 | 1 | -3/+5 |
| | | | | | | | | | | | | | | | We may want to add other string variants in the future; this change documents better where the code may need to handle those variants. | ||||
| * | | Thread stacks resized in the atomic phase | Roberto Ierusalimschy | 2023-07-13 | 1 | -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. | ||||
| * | | Several functions turned 'static' | Roberto Ierusalimschy | 2023-05-22 | 1 | -2/+2 |
| |/ | | | | | | | | | Several functions that were already being used only inside their own file have been declared as 'static'. | ||||
* | | Do not avoid major collections when GCdebt is zero | Roberto Ierusalimschy | 2022-12-29 | 1 | -5/+2 |
| | | | | | | | | | | 'collectgarbage("step")' (without an argument) does not have any special meaning, it means "do a step with some default size". | ||||
* | | Changed signal of GC debt | Roberto Ierusalimschy | 2022-12-13 | 1 | -8/+8 |
| | | | | | | | | Positive debts seems more natural then negative ones. | ||||
* | | Revamp of GC parameters | Roberto Ierusalimschy | 2022-12-13 | 1 | -9/+5 |
| | | | | | | | | | | More uniformity when handling GC parameters + avoid divisions by 100 when applying them. | ||||
* | | Merge branch 'master' into nextversion | Roberto Ierusalimschy | 2022-12-12 | 1 | -2/+6 |
|\| | |||||
| * | Reduce calls to 'luaC_step' when GC is stopped | Roberto Ierusalimschy | 2022-12-09 | 1 | -3/+6 |
| | | |||||
* | | Simplification in handling of GC debt | Roberto Ierusalimschy | 2022-12-06 | 1 | -7/+5 |
| | | | | | | | | | | Each incremental step has always the same size (stepsize), and the debt for next step also is always the same. | ||||
* | | Simpler control for major collections | Roberto Ierusalimschy | 2022-11-29 | 1 | -120/+70 |
| | | |||||
* | | Removed GC checks from function calls | Roberto Ierusalimschy | 2022-11-24 | 1 | -1/+2 |
| | | | | | | | | | | Function calls do not create new objects. (It may use memory with stack reallocation, but now that is irrelevant to the GC.) | ||||
* | | 'l_mem' renamed to 'l_obj' to count objects | Roberto Ierusalimschy | 2022-11-23 | 1 | -25/+25 |
| | | |||||
* | | First version of GC counting objects for control | Roberto Ierusalimschy | 2022-11-23 | 1 | -132/+121 |
| | | | | | | | | Still needs to review generational mode. | ||||
* | | Added a counter of the total number of existing objects | Roberto Ierusalimschy | 2022-11-03 | 1 | -0/+2 |
|/ | | | | It may simplify the control of the garbage collector. | ||||
* | Threads are created like other objects | Roberto Ierusalimschy | 2022-11-01 | 1 | -4/+10 |
| | | | | | Using a version of 'luaC_newobj' that allows offsets (extra space before the object itself). | ||||
* | Stack indices changed to union's | Roberto Ierusalimschy | 2022-10-29 | 1 | -10/+10 |
| | | | | | That will allow to change pointers to offsets while reallocating the stack. |