[Tarantool-patches] [PATCH luajit v3 2/3] Don't compile math.modf() anymore.
Maxim Kokryashkin
max.kokryashkin at gmail.com
Fri Nov 12 01:58:22 MSK 2021
From: Mike Pall <mike>
It's rarely used and properly compiling it would be difficult,
so this commit disables compilation for it.
Part of tarantool/tarantool#6548
---
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 8dfa80ed..214d6314 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.33.0
More information about the Tarantool-patches
mailing list