[ANN] Lua 5.4.0 (rc6) now available

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANN] Lua 5.4.0 (rc6) now available

Luiz Henrique de Figueiredo
Lua 5.4.0 (rc6) is now available for testing at
        http://www.lua.org/work/lua-5.4.0-rc6.tar.gz

The checksums are
        MD5 dbf155764e5d433fc55ae80ea7060b60  -
        SHA1 8cdbffa8a214a23d190d7c45f38c19518ae62e89  -

This is the final version of Lua 5.4.0 (rc6).

The main changes in Lua 5.4.0 are listed at
        http://www.lua.org/work/doc/#changes

An updated reference manual is included and also available at
        http://www.lua.org/work/doc

The complete diffs from rc5 to rc6 are available at
        http://www.lua.org/work/diffs-lua-5.4.0-rc5-rc6.html
        http://www.lua.org/work/diffu-lua-5.4.0-rc5-rc6.html

To build Lua in a common Unix-like platform, just do
        make
The Makefile will guess your platform using uname and build Lua for it.
We welcome feedback on this, which is new, especially more uname targets
with explicit rules and fixes for existing ones.

We also welcome feedback on the listings output by luac -l -l, because
luac has been rewritten to account for the new VM instructions.

All feedback welcome. Thanks.
--lhf
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Lua 5.4.0 (rc6) now available

Lorenzo Donati-3
On 18/06/2020 18:18, Luiz Henrique de Figueiredo wrote:

> Lua 5.4.0 (rc6) is now available for testing at
> http://www.lua.org/work/lua-5.4.0-rc6.tar.gz
>
> The checksums are
> MD5 dbf155764e5d433fc55ae80ea7060b60  -
> SHA1 8cdbffa8a214a23d190d7c45f38c19518ae62e89  -
>
> This is the final version of Lua 5.4.0 (rc6).
>
> The main changes in Lua 5.4.0 are listed at
> http://www.lua.org/work/doc/#changes
>
> An updated reference manual is included and also available at
> http://www.lua.org/work/doc
>
> The complete diffs from rc5 to rc6 are available at
> http://www.lua.org/work/diffs-lua-5.4.0-rc5-rc6.html
> http://www.lua.org/work/diffu-lua-5.4.0-rc5-rc6.html
>
> To build Lua in a common Unix-like platform, just do
> make
> The Makefile will guess your platform using uname and build Lua for it.
> We welcome feedback on this, which is new, especially more uname targets
> with explicit rules and fixes for existing ones.
>
> We also welcome feedback on the listings output by luac -l -l, because
> luac has been rewritten to account for the new VM instructions.
>
> All feedback welcome. Thanks.
> --lhf
>

Compiled and checked using the test suite with the following setup:

OS: Windows 7 SP1 - 64bit

Compilers:

TDM-GCC 9.2.0 (32 bit)
TDM-GCC 9.2.0 (64 bit)

TDM-GCC 5.1.0 (32 bit)
TDM-GCC 4.9.2 (32 bit)
TDM-GCC 4.8.1 (32 bit)


Everything is ok.

-- Lorenzo





Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Lua 5.4.0 (rc6) now available

Roberto Ierusalimschy
> Compiled and checked using the test suite with the following setup:
>
> OS: Windows 7 SP1 - 64bit
>
> Compilers:
>
> TDM-GCC 9.2.0 (32 bit)
> TDM-GCC 9.2.0 (64 bit)
>
> TDM-GCC 5.1.0 (32 bit)
> TDM-GCC 4.9.2 (32 bit)
> TDM-GCC 4.8.1 (32 bit)
>
>
> Everything is ok.

Many thanks for the feedback.

-- Roberto
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Lua 5.4.0 (rc6) now available

Luiz Henrique de Figueiredo
In reply to this post by Luiz Henrique de Figueiredo
Lua 5.4.0 (rc6) is available for testing at
        http://www.lua.org/work/
Download it and give it a try.

We thank everyone for their feedback on Lua 5.4.0 till now.

If there is no further feedback on Lua 5.4.0, we'll freeze it next week,
and it will become the current release of Lua.

All feedback welcome. Thanks.
--lhf
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Lua 5.4.0 (rc6) now available

Lorenzo Donati-3
On 24/06/2020 21:38, Luiz Henrique de Figueiredo wrote:

> Lua 5.4.0 (rc6) is available for testing at
> http://www.lua.org/work/
> Download it and give it a try.
>
> We thank everyone for their feedback on Lua 5.4.0 till now.
>
> If there is no further feedback on Lua 5.4.0, we'll freeze it next week,
> and it will become the current release of Lua.
>
> All feedback welcome. Thanks.
> --lhf
>

May I suggest versioning also the test suite? I mean, giving the test
suite here:

http://www.lua.org/work/

a name that matches the RC or beta or release version it is intended to
be applied to. Even if it doesn't change. It would be clearer and it
won't cause confusion about whether or not the test suite changed.

I mean, e.g.:

lua-5.4.0-rc6-tests.tar.gz

instead of simply:

lua-5.4.0-tests.tar.gz

Moreover, as an added bonus, it will be useful for archiving purposes.
For example people could have had issues with an RC and a specific suite
(issues non necessarily caused by Lua). Archiving an RC (or beta, etc.)
with the corresponding suite could be useful.

Thanks.

-- Lorenzo
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Lua 5.4.0 (rc6) now available

Simon Hug
In reply to this post by Luiz Henrique de Figueiredo
I'm a bit late, but just wanted to mention that when LTCG and the default 1 MiB
stack size is used with some MSVC versions (details below) to compile a 64-bit
Lua, the cstack.lua test fails at the simple recursion. Looks like the
generated code from this option uses up more stack space and the default
LUAI_MAXCSTACK value of 2000 is too high for it. I'm guessing LTCG is not used
often enough that it should be taken into consideration for the default value,
right?

I compiled all Lua files with the following command:
cl.exe /nologo /MD /c /O2 /GL

Linked all obj files to a DLL:
link.exe /nologo /LTCG /DLL /OUT:lua54.dll

And then linked the standalone interpreter:
link.exe /nologo /LTCG /OUT:lua.exe lua54.lib

MSVC from Visual Studio 15.9.21 (cl.exe 19.16.27038, link.exe 14.16.27038.0)
testing simple recursion: 1931

MSVC from Visual Studio 16.6.0 (cl.exe 19.26.28805, link.exe 14.26.28805.0)
testing simple recursion: 1822

Older versions (14 and 10) generate code that passes the test with the 2000
value. I thought this may be interesting to someone who changes compiler
versions and uses LTCG.

Oh, and the other (basic) tests are all OK of course.

Thanks for the new Lua version.

This is my first email to the list, I hope it works correctly. My apologies if
something got messed up.
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Lua 5.4.0 (rc6) now available

Gé Weijers


On Sat, Jun 27, 2020 at 1:00 AM Simon Hug <[hidden email]> wrote:
I'm a bit late, but just wanted to mention that when LTCG and the default 1 MiB
stack size is used with some MSVC versions (details below) to compile a 64-bit
Lua, the cstack.lua test fails at the simple recursion. Looks like the
generated code from this option uses up more stack space and the default
LUAI_MAXCSTACK value of 2000 is too high for it. I'm guessing LTCG is not used
often enough that it should be taken into consideration for the default value,
right?

The linker has a /STACK parameter to set that stack size. /STACK:0x200000 should set it to 2MB. This only works for .EXE files.
I don't currently have access to a Windows machine, but I remember doing this in the past.

BTW: I've built Lua with link time optimization on Linux many times, and this problem does not occur, even if you set LUAI_MAXCSTACK to 10000.

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Lua 5.4.0 (rc6) now available

Andrew Gierth
>>>>> "Gé" == Gé Weijers <[hidden email]> writes:

 Gé> BTW: I've built Lua with link time optimization on Linux many
 Gé> times, and this problem does not occur, even if you set
 Gé> LUAI_MAXCSTACK to 10000.

This is because stack limits on linux (and other unix-style systems)
usually default to massive values compared to windows; for example on my
freebsd amd64 system the default limit is 512MB, and even on my 32-bit
arm system it is 32MB.

Link time optimization (or just building from a single source file) does
(at least in my tests) increase the stack usage because more code is
inlined into luaV_execute, requiring more stack temporaries. (And in
some tests a speedup on the order of 20%)

Stack usage remains a _major_ concern for those of us working in
environments where space is more limited. I am having to resort to
measuring the size of the luaV_execute stack frame at runtime
initialization in order to set a C stack limit small enough to ensure
that Lua code can't blow up the environment.

--
Andrew.
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Lua 5.4.0 (rc6) now available

Gé Weijers


On Tue, Jun 30, 2020 at 4:35 PM Andrew Gierth <[hidden email]> wrote:
Stack usage remains a _major_ concern for those of us working in
environments where space is more limited. I am having to resort to
measuring the size of the luaV_execute stack frame at runtime
initialization in order to set a C stack limit small enough to ensure
that Lua code can't blow up the environment.


I commented on stack use on Windows, if you can't afford to grow the stack allocation from 1MB to 2MB your system does not have enough memory to begin with. I work on "embedded" Windows 10 systems, they get unstable if memory is that tight. If you're running Lua on a small system (e.g. an ARM Cortex-M4 or M7) you definitely have to limit stack use, or the stack will go out of bounds with typically ugly results.


--