aboutsummaryrefslogtreecommitdiff
path: root/src/lj_cconv.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_cconv.c')
-rw-r--r--src/lj_cconv.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_cconv.c b/src/lj_cconv.c
index e5abf3e9..642a4852 100644
--- a/src/lj_cconv.c
+++ b/src/lj_cconv.c
@@ -335,7 +335,8 @@ void lj_cconv_ct_ct(CTState *cts, CType *d, CType *s,
335 335
336 case CCX(P, F): 336 case CCX(P, F):
337 if (!(flags & CCF_CAST) || !(flags & CCF_FROMTV)) goto err_conv; 337 if (!(flags & CCF_CAST) || !(flags & CCF_FROMTV)) goto err_conv;
338 dinfo = CTINFO(CT_NUM, CTF_UNSIGNED); 338 /* The signed conversion is cheaper. x64 really has 47 bit pointers. */
339 dinfo = CTINFO(CT_NUM, (LJ_64 && dsize == 8) ? 0 : CTF_UNSIGNED);
339 goto conv_I_F; 340 goto conv_I_F;
340 341
341 case CCX(P, P): 342 case CCX(P, P):