[Tarantool-patches] Fwd: [PATCH luajit v2] Don't compile math.modf() anymore.
sergos
sergos at tarantool.org
Wed Nov 30 16:24:06 MSK 2022
> Begin forwarded message:
>
> From: sergos <sergos at tarantool.org>
> Subject: Re: [Tarantool-patches] [PATCH luajit v2] Don't compile math.modf() anymore.
> Date: 30 November 2022, 16:23:31 GMT+3
> To: Maxim Kokryashkin <m.kokryashkin at tarantool.org>
>
> Hi!
>
> The change looks like “I don’t know why it might not work, lets drop it”.
> But since it just leads to a FUNCC and trace can be stiched thereafter
> it LGTM.
>
> Sergos
>
>> От кого: Maxim Kokryashkin via Tarantool-patches <tarantool-patches at dev.tarantool.org>
>> Кому: tarantool-patches at dev.tarantool.org, imun at tarantool.org, skaplun at tarantool.org
>> Дата: Пятница, 19 августа 2022, 0:21 +03:00
>> Тема: [Tarantool-patches] [PATCH luajit v2] Don't compile math.modf() anymore.
>>
>> From: Mike Pall <mike>
>>
>> This commit disables compilation for the `math.modf` function since it's
>> rarely used and compiling it in a performant enough way would be
>> difficult.
>>
>> Part of tarantool/tarantool#7230
>> ---
>>
>> There are no issues with correctenss of compilation
>> of math.modf whatsoever. There are no known issues with it, and all of
>> the possible edge cases are handled well both with active
>> and inactivve JIT. It's safe to assume that the `properly compiling`
>> in the original commit message refers to performance rather than
>> correctness.
>>
>> PR: https://github.com/tarantool/tarantool/pull/7586
>> Branch: https://github.com/tarantool/luajit/tree/fckxorg/gh-7230-math-modf
>>
>> src/lib_math.c | 2 +-
>> src/lj_ffrecord.c | 16 ----------------
>> 2 files changed, 1 insertion(+), 17 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
>> @@ -45,7 +45,7 @@ LJLIB_ASM_(math_sinh) LJLIB_REC(math_htrig IRCALL_sinh)
>> LJLIB_ASM_(math_cosh) LJLIB_REC(math_htrig IRCALL_cosh)
>> LJLIB_ASM_(math_tanh) LJLIB_REC(math_htrig IRCALL_tanh)
>> LJLIB_ASM_(math_frexp)
>> -LJLIB_ASM_(math_modf) LJLIB_REC(.)
>> +LJLIB_ASM_(math_modf)
>>
>> LJLIB_ASM(math_log) LJLIB_REC(math_log)
>> {
>> diff --git a/src/lj_ffrecord.c b/src/lj_ffrecord.c
>> index be890a93..ac9c9ba1 100644
>> --- a/src/lj_ffrecord.c
>> +++ b/src/lj_ffrecord.c
>> @@ -601,22 +601,6 @@ static void LJ_FASTCALL recff_math_htrig(jit_State *J, RecordFFData *rd)
>> J->base[0] = emitir(IRTN(IR_CALLN), tr, rd->data);
>> }
>>
>> -static void LJ_FASTCALL recff_math_modf(jit_State *J, RecordFFData *rd)
>> -{
>> - TRef tr = J->base[0];
>> - if (tref_isinteger(tr)) {
>> - J->base[0] = tr;
>> - J->base[1] = lj_ir_kint(J, 0);
>> - } else {
>> - TRef trt;
>> - tr = lj_ir_tonum(J, tr);
>> - trt = emitir(IRTN(IR_FPMATH), tr, IRFPM_TRUNC);
>> - J->base[0] = trt;
>> - J->base[1] = emitir(IRTN(IR_SUB), tr, trt);
>> - }
>> - rd->nres = 2;
>> -}
>> -
>> static void LJ_FASTCALL recff_math_pow(jit_State *J, RecordFFData *rd)
>> {
>> J->base[0] = lj_opt_narrow_pow(J, J->base[0], J->base[1],
>> --
>> 2.36.1
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20221130/956647f6/attachment.htm>
More information about the Tarantool-patches
mailing list