[Tarantool-patches] [PATCH luajit v4 2/3] Don't compile math.modf() anymore.
Sergey Kaplun
skaplun at tarantool.org
Thu Apr 14 11:53:36 MSK 2022
Hi, Maxim!
Thanks for the patch.
It generally LGTM, except the following concerns:
1) The tests kinda useless since they check that `modf()` just not compiled
instead checking incorrect behaviour of `modf()` -- the reason for
disabling compilation.
2) These tests are not related to min/max functions, so they should be
moved to the separate test file.
On 30.03.22, Maxim Kokryashkin wrote:
> From: Mike Pall <mike>
>
> This commit disables compilation for the `math.modf` function since it's
> rarely used and properly compiling it would be difficult.
>
> Part of tarantool/tarantool#6163
> ---
> src/lib_math.c | 2 +-
> src/lj_ffrecord.c | 16 -------------
> .../gh-6163-jit-min-max.test.lua | 23 +++++++++++++++----
> 3 files changed, 20 insertions(+), 21 deletions(-)
>
> diff --git a/src/lib_math.c b/src/lib_math.c
> index ef9dda2d..4e6d2458 100644
> --- a/src/lib_math.c
> +++ b/src/lib_math.c
<snipped>
> diff --git a/test/tarantool-tests/gh-6163-jit-min-max.test.lua b/test/tarantool-tests/gh-6163-jit-min-max.test.lua
> index d6eb3f3b..4594b968 100644
> --- a/test/tarantool-tests/gh-6163-jit-min-max.test.lua
> +++ b/test/tarantool-tests/gh-6163-jit-min-max.test.lua
> @@ -1,12 +1,12 @@
> local tap = require('tap')
> +local jutil = require('jit.util')
> jit.off()
> jit.flush()
>
> local test = tap.test("gh-6163-jit-min-max")
> -test:plan(2)
> ---
> --- gh-6163: math.min/math.max success with no args
> ---
> +test:plan(6)
> +
> +-- `math.min`/`math.max` success with no args.
> local pcall = pcall
>
> jit.opt.start(0, 'hotloop=1')
> @@ -17,4 +17,19 @@ test:ok(false == r)
> r, _ = pcall(function() math.min() end)
> test:ok(false == r)
>
> +jit.off()
> +jit.flush()
> +jit.on()
> +
> +-- `math.modf` shouldn't be compiled.
> +for _ = 1, 3 do math.modf(5.32) end
> +
> +local tr1_info = jutil.traceinfo(1)
> +local tr2_info = jutil.traceinfo(2)
> +
> +test:ok(tr1_info ~= nil)
> +test:ok(tr2_info ~= nil)
> +test:ok(tr1_info.link == 2)
> +test:ok(tr1_info.linktype == "stitch")
> +
> os.exit(test:check() and 0 or 1)
> --
> 2.35.1
>
--
Best regards,
Sergey Kaplun
More information about the Tarantool-patches
mailing list