[Tarantool-patches] [PATCH v2 luajit 08/30] test: disable JIT for GC step counting tests

Sergey Ostanevich sergos at tarantool.org
Fri Mar 26 14:32:04 MSK 2021


LGTM.

Sergos

> On 26 Mar 2021, at 10:42, Sergey Kaplun <skaplun at tarantool.org> wrote:
> 
> JIT compilation can unpredictable allocate or reference objects (or
> traces itself). So, the amount of GC steps can vary from run to run.
> 
> This patch disables JIT machinery, if it is enabled, for stable GC
> results.
> 
> Part of tarantool/tarantool#5845
> Part of tarantool/tarantool#4473
> ---
> test/PUC-Lua-5.1-tests/gc.lua | 10 ++++++++++
> 1 file changed, 10 insertions(+)
> 
> diff --git a/test/PUC-Lua-5.1-tests/gc.lua b/test/PUC-Lua-5.1-tests/gc.lua
> index 86a9f75..072bbe9 100644
> --- a/test/PUC-Lua-5.1-tests/gc.lua
> +++ b/test/PUC-Lua-5.1-tests/gc.lua
> @@ -108,11 +108,21 @@ local function dosteps (siz)
>   return i
> end
> 
> +-- LuaJIT: JIT compilation can unpredictable allocate or reference
> +-- objects (or traces itself). Disable it if necessary for
> +-- this chunk for stable GC results.
> +local jit_is_enabled = jit.status()
> +if jit_is_enabled then
> +  jit.off()
> +end
> assert(dosteps(0) > 10)
> assert(dosteps(6) < dosteps(2))
> assert(dosteps(10000) == 1)
> assert(collectgarbage("step", 1000000) == true)
> assert(collectgarbage("step", 1000000))
> +if jit_is_enabled then
> +  jit.on()
> +end
> 
> 
> do
> -- 
> 2.31.0
> 



More information about the Tarantool-patches mailing list