]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Use native IRT_PTR instead of IRT_LIGHTUD workaround for FILE*.
authorMike Pall <mike>
Mon, 6 Dec 2010 01:14:39 +0000 (02:14 +0100)
committerMike Pall <mike>
Mon, 6 Dec 2010 01:14:39 +0000 (02:14 +0100)
src/lj_ffrecord.c
src/lj_ir.h

index d695b8bfeaecbbc813192d706d932a35d3b44e89..0dccaa65145c50bbaca02f201f5d5c863522cc5d 100644 (file)
@@ -733,8 +733,8 @@ static TRef recff_io_fp(jit_State *J, uint32_t id)
     tr = emitir(IRT(IR_FLOAD, IRT_U8), ud, IRFL_UDATA_UDTYPE);
     emitir(IRTGI(IR_EQ), tr, lj_ir_kint(J, UDTYPE_IO_FILE));
   }
-  fp = emitir(IRT(IR_FLOAD, IRT_LIGHTUD), ud, IRFL_UDATA_FILE);
-  emitir(IRTG(IR_NE, IRT_LIGHTUD), fp, lj_ir_knull(J, IRT_LIGHTUD));
+  fp = emitir(IRT(IR_FLOAD, IRT_PTR), ud, IRFL_UDATA_FILE);
+  emitir(IRTG(IR_NE, IRT_PTR), fp, lj_ir_knull(J, IRT_PTR));
   return fp;
 }
 
index 3371a8a4c2d935398387f3c38c041b6873971f0b..72a4d6b492c0597868572e6b5fdc53834deca9fc 100644 (file)
@@ -338,6 +338,9 @@ typedef enum {
   IRT_U64,
   /* There is room for 10 more types. */
 
+  /* Native pointer type. */
+  IRT_PTR = LJ_64 ? IRT_P64 : IRT_P32,
+
   /* Additional flags. */
   IRT_MARK = 0x20,     /* Marker for misc. purposes. */
   IRT_ISPHI = 0x40,    /* Instruction is left or right PHI operand. */