aboutsummaryrefslogtreecommitdiff
path: root/src/lj_crecord.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_crecord.c')
-rw-r--r--src/lj_crecord.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lj_crecord.c b/src/lj_crecord.c
index 99344b79..6e3c36a1 100644
--- a/src/lj_crecord.c
+++ b/src/lj_crecord.c
@@ -1443,8 +1443,10 @@ void LJ_FASTCALL recff_cdata_arith(jit_State *J, RecordFFData *rd)
1443 } 1443 }
1444 { 1444 {
1445 TRef tr; 1445 TRef tr;
1446 if (!(tr = crec_arith_int64(J, sp, s, (MMS)rd->data)) && 1446 MMS mm = (MMS)rd->data;
1447 !(tr = crec_arith_ptr(J, sp, s, (MMS)rd->data)) && 1447 if ((mm == MM_len || mm == MM_concat ||
1448 (!(tr = crec_arith_int64(J, sp, s, mm)) &&
1449 !(tr = crec_arith_ptr(J, sp, s, mm)))) &&
1448 !(tr = crec_arith_meta(J, sp, s, cts, rd))) 1450 !(tr = crec_arith_meta(J, sp, s, cts, rd)))
1449 return; 1451 return;
1450 J->base[0] = tr; 1452 J->base[0] = tr;