Переглянути джерело

Fix 64 bit conversion warnings.

Mike Pall 15 роки тому
батько
коміт
4e73488985
3 змінених файлів з 5 додано та 5 видалено
  1. 1 1
      src/lib_jit.c
  2. 1 1
      src/lj_asm.c
  3. 3 3
      src/lj_record.c

+ 1 - 1
src/lib_jit.c

@@ -99,7 +99,7 @@ LJLIB_CF(jit_status)
   setboolV(L->top++, (J->flags & JIT_F_ON) ? 1 : 0);
   flagbits_to_strings(L, J->flags, JIT_F_CPU_FIRST, JIT_F_CPUSTRING);
   flagbits_to_strings(L, J->flags, JIT_F_OPT_FIRST, JIT_F_OPTSTRING);
-  return L->top - L->base;
+  return (int)(L->top - L->base);
 #else
   setboolV(L->top++, 0);
   return 1;

+ 1 - 1
src/lj_asm.c

@@ -1047,7 +1047,7 @@ static void asm_guardcc(ASMState *as, int cc)
   MCode *p = as->mcp;
   if (LJ_UNLIKELY(p == as->invmcp)) {
     as->loopinv = 1;
-    *(int32_t *)(p+1) = target - (p+5);
+    *(int32_t *)(p+1) = jmprel(p+5, target);
     target = p;
     cc ^= 1;
     if (as->realign) {

+ 3 - 3
src/lj_record.c

@@ -497,7 +497,7 @@ static void rec_call_setup(jit_State *J, BCReg func, ptrdiff_t nargs)
   trfunc = lj_ir_kfunc(J, funcV(functv));
   emitir(IRTG(IR_EQ, IRT_FUNC), fbase[0], trfunc);
   fbase[0] = trfunc | TREF_FRAME;
-  J->maxslot = nargs;
+  J->maxslot = (BCReg)nargs;
 }
 
 /* Record call. */
@@ -1568,12 +1568,12 @@ static void LJ_FASTCALL recff_string_range(jit_State *J, RecordFFData *rd)
     ptrdiff_t i, len = end - start;
     if (len > 0) {
       TRef trslen = emitir(IRTI(IR_SUB), trend, trstart);
-      emitir(IRTGI(IR_EQ), trslen, lj_ir_kint(J, len));
+      emitir(IRTGI(IR_EQ), trslen, lj_ir_kint(J, (int32_t)len));
       if (J->baseslot + len > LJ_MAX_JSLOTS)
 	lj_trace_err_info(J, LJ_TRERR_STACKOV);
       rd->nres = len;
       for (i = 0; i < len; i++) {
-	TRef tmp = emitir(IRTI(IR_ADD), trstart, lj_ir_kint(J, i));
+	TRef tmp = emitir(IRTI(IR_ADD), trstart, lj_ir_kint(J, (int32_t)i));
 	tmp = emitir(IRT(IR_STRREF, IRT_PTR), trstr, tmp);
 	J->base[i] = emitir(IRT(IR_XLOAD, IRT_U8), tmp, IRXLOAD_READONLY);
       }