Hi, Sergey, thanks for the patch! LGTM On 03.12.2024 14:22, Sergey Kaplun wrote: > If the `foo()` function itself starts to be recorded on the very first > call, it leads to the changing of TNEW bytecode when table bump > optimization is enabled. This patch skips the test for this type of > build. > --- > > Branch:https://github.com/tarantool/luajit/tree/skaplun/fix-luajit-tests-tablebump > > test/LuaJIT-tests/CMakeLists.txt | 8 ++++++++ > test/LuaJIT-tests/lib/string/dump.lua | 2 +- > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/test/LuaJIT-tests/CMakeLists.txt b/test/LuaJIT-tests/CMakeLists.txt > index 019762e0..d29bcb6e 100644 > --- a/test/LuaJIT-tests/CMakeLists.txt > +++ b/test/LuaJIT-tests/CMakeLists.txt > @@ -62,6 +62,14 @@ if(CMAKE_C_FLAGS MATCHES "-march=skylake-avx512") > list(APPEND LUAJIT_TEST_TAGS_EXTRA +avx512) > endif() > > +if(LUAJIT_ENABLE_TABLE_BUMP) > + # Test verifies that the bytecode is unchanged > + # for the prototype with the recorded trace. Table bump > + # optimization changes the TNEW/TDUP bytecodes, so skip the test > + # in that case. > + list(APPEND LUAJIT_TEST_TAGS_EXTRA +table_bump) > +endif() > + > set(TEST_SUITE_NAME "LuaJIT-tests") > > # XXX: The call produces both test and target > diff --git a/test/LuaJIT-tests/lib/string/dump.lua b/test/LuaJIT-tests/lib/string/dump.lua > index 216c6eb8..9c29ac50 100644 > --- a/test/LuaJIT-tests/lib/string/dump.lua > +++ b/test/LuaJIT-tests/lib/string/dump.lua > @@ -1,6 +1,6 @@ > local loadstring = loadstring or load > > -do --- Must unpatch modified bytecode with ILOOP/JLOOP etc. > +do --- Must unpatch modified bytecode with ILOOP/JLOOP etc. -table_bump > local function foo() > local t = {} > for i=1,100 do t[i] = i end