| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
| |
| |
| |
| |
| | |
Major collections do not need to "stop the world". Still pending:
criteria for shifts minor-major, shifts generational-incremental.
|
| |
| |
| |
| |
| | |
It is simpler to use always 'setage'. The saving from 'changeage'
is too irrelevant.
|
| |
| |
| |
| | |
A call to 'collectgarbage("step")' always performs one GC basic step.
|
| |
| |
| |
| | |
Options 'setpause' and 'setstepmul' were deprecated in Lua 5.4.
|
| |
| |
| |
| | |
Plus other comments and small details.
|
| | |
|
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| | |
The buffer system from the auxiliary library reuses its buffer
as external memory when closing long strings.
|
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| | |
Strings can use external buffers to store their contents.
|
| |
| |
| |
| | |
Long strings have a pointer to string contents.
|
| |
| |
| |
| | |
Comments and parameter name in header file.
|
| |
| |
| |
| |
| |
| | |
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.
|
|\ \ |
|
| |\| |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.)
|
|\ \ \
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | | |
'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).
|
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | | |
Test is too non portable. (For instance, it does not work for
different number types.)
|
| | |
| | |
| | |
| | | |
Old Microsoft compilers do not support those casts.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
A fixed buffer keeps a binary chunk "forever", so that the program
does not need to copy some of its parts when loading it.
|
| | |
| | |
| | |
| | | |
Accesses content and length of a 'TString'.
|
| | |
| | |
| | |
| | | |
So that the other bits can be used for other purposes.
|
| | | |
|
|\| | |
|
| | |
| | |
| | |
| | |
| | | |
Registry field "LUA_NOENV" (that signals to libraries that option -E
is on) now part of the "official" API of Lua stand-alone.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
We may want to add other string variants in the future; this change
documents better where the code may need to handle those variants.
|
| | |
| | |
| | |
| | |
| | | |
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).
|
| | |
| | |
| | |
| | |
| | | |
Took the opportunity and moved the code that controls call hooks
in 'luaV_execute' into a function.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
|\| | |
|
| | |
| | |
| | |
| | | |
String rendering now derived from the numeric original definitions.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Equality according to 'strcoll' does not imply that strings have
the same length.
|
| | |
| | |
| | |
| | |
| | | |
Several functions that were already being used only inside their
own file have been declared as 'static'.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|