diff options
Diffstat (limited to '')
-rw-r--r-- | src/lj_crecord.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lj_crecord.c b/src/lj_crecord.c index 6e999cc9..e50fdbf7 100644 --- a/src/lj_crecord.c +++ b/src/lj_crecord.c | |||
@@ -1530,8 +1530,10 @@ void LJ_FASTCALL recff_cdata_arith(jit_State *J, RecordFFData *rd) | |||
1530 | } | 1530 | } |
1531 | { | 1531 | { |
1532 | TRef tr; | 1532 | TRef tr; |
1533 | if (!(tr = crec_arith_int64(J, sp, s, (MMS)rd->data)) && | 1533 | MMS mm = (MMS)rd->data; |
1534 | !(tr = crec_arith_ptr(J, sp, s, (MMS)rd->data)) && | 1534 | if ((mm == MM_len || mm == MM_concat || |
1535 | (!(tr = crec_arith_int64(J, sp, s, mm)) && | ||
1536 | !(tr = crec_arith_ptr(J, sp, s, mm)))) && | ||
1535 | !(tr = crec_arith_meta(J, sp, s, cts, rd))) | 1537 | !(tr = crec_arith_meta(J, sp, s, cts, rd))) |
1536 | return; | 1538 | return; |
1537 | J->base[0] = tr; | 1539 | J->base[0] = tr; |