Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [PATCH luajit] test: skip <string/dump.lua> test for table bump
@ 2024-12-03 11:22 Sergey Kaplun via Tarantool-patches
  2024-12-05  7:29 ` Sergey Bronnikov via Tarantool-patches
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Sergey Kaplun via Tarantool-patches @ 2024-12-03 11:22 UTC (permalink / raw)
  To: Maxim Kokryashkin, Sergey Bronnikov; +Cc: tarantool-patches

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 <string/dump.lua> 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 <LuaJIT-tests-deps>
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
-- 
2.47.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Tarantool-patches] [PATCH luajit] test: skip <string/dump.lua> test for table bump
  2024-12-03 11:22 [Tarantool-patches] [PATCH luajit] test: skip <string/dump.lua> test for table bump Sergey Kaplun via Tarantool-patches
@ 2024-12-05  7:29 ` Sergey Bronnikov via Tarantool-patches
  2024-12-12 10:31 ` Maxim Kokryashkin via Tarantool-patches
  2024-12-17 12:31 ` Sergey Kaplun via Tarantool-patches
  2 siblings, 0 replies; 4+ messages in thread
From: Sergey Bronnikov via Tarantool-patches @ 2024-12-05  7:29 UTC (permalink / raw)
  To: Sergey Kaplun, Maxim Kokryashkin; +Cc: tarantool-patches

[-- Attachment #1: Type: text/plain, Size: 1833 bytes --]

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 <string/dump.lua> 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 <LuaJIT-tests-deps>
> 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

[-- Attachment #2: Type: text/html, Size: 2336 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Tarantool-patches] [PATCH luajit] test: skip <string/dump.lua> test for table bump
  2024-12-03 11:22 [Tarantool-patches] [PATCH luajit] test: skip <string/dump.lua> test for table bump Sergey Kaplun via Tarantool-patches
  2024-12-05  7:29 ` Sergey Bronnikov via Tarantool-patches
@ 2024-12-12 10:31 ` Maxim Kokryashkin via Tarantool-patches
  2024-12-17 12:31 ` Sergey Kaplun via Tarantool-patches
  2 siblings, 0 replies; 4+ messages in thread
From: Maxim Kokryashkin via Tarantool-patches @ 2024-12-12 10:31 UTC (permalink / raw)
  To: Sergey Kaplun; +Cc: tarantool-patches

Hi, Sergey!
Thanks for the patch!
LGTM

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Tarantool-patches] [PATCH luajit] test: skip <string/dump.lua> test for table bump
  2024-12-03 11:22 [Tarantool-patches] [PATCH luajit] test: skip <string/dump.lua> test for table bump Sergey Kaplun via Tarantool-patches
  2024-12-05  7:29 ` Sergey Bronnikov via Tarantool-patches
  2024-12-12 10:31 ` Maxim Kokryashkin via Tarantool-patches
@ 2024-12-17 12:31 ` Sergey Kaplun via Tarantool-patches
  2 siblings, 0 replies; 4+ messages in thread
From: Sergey Kaplun via Tarantool-patches @ 2024-12-17 12:31 UTC (permalink / raw)
  To: Maxim Kokryashkin, Sergey Bronnikov; +Cc: tarantool-patches

I've applied the patch into all long-term branches in tarantool/luajit
and bumped a new version in master [1], release/3.3 [2], release/3.2 [3]
and release/2.11 [4].

[1]: https://github.com/tarantool/tarantool/pull/10936
[2]: https://github.com/tarantool/tarantool/pull/10937
[3]: https://github.com/tarantool/tarantool/pull/10938
[4]: https://github.com/tarantool/tarantool/pull/10939

-- 
Best regards,
Sergey Kaplun

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-12-17 12:32 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-03 11:22 [Tarantool-patches] [PATCH luajit] test: skip <string/dump.lua> test for table bump Sergey Kaplun via Tarantool-patches
2024-12-05  7:29 ` Sergey Bronnikov via Tarantool-patches
2024-12-12 10:31 ` Maxim Kokryashkin via Tarantool-patches
2024-12-17 12:31 ` Sergey Kaplun via Tarantool-patches

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox