aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lj_ffrecord.c4
-rw-r--r--src/lj_ir.h3
2 files changed, 5 insertions, 2 deletions
diff --git a/src/lj_ffrecord.c b/src/lj_ffrecord.c
index d695b8bf..0dccaa65 100644
--- a/src/lj_ffrecord.c
+++ b/src/lj_ffrecord.c
@@ -733,8 +733,8 @@ static TRef recff_io_fp(jit_State *J, uint32_t id)
733 tr = emitir(IRT(IR_FLOAD, IRT_U8), ud, IRFL_UDATA_UDTYPE); 733 tr = emitir(IRT(IR_FLOAD, IRT_U8), ud, IRFL_UDATA_UDTYPE);
734 emitir(IRTGI(IR_EQ), tr, lj_ir_kint(J, UDTYPE_IO_FILE)); 734 emitir(IRTGI(IR_EQ), tr, lj_ir_kint(J, UDTYPE_IO_FILE));
735 } 735 }
736 fp = emitir(IRT(IR_FLOAD, IRT_LIGHTUD), ud, IRFL_UDATA_FILE); 736 fp = emitir(IRT(IR_FLOAD, IRT_PTR), ud, IRFL_UDATA_FILE);
737 emitir(IRTG(IR_NE, IRT_LIGHTUD), fp, lj_ir_knull(J, IRT_LIGHTUD)); 737 emitir(IRTG(IR_NE, IRT_PTR), fp, lj_ir_knull(J, IRT_PTR));
738 return fp; 738 return fp;
739} 739}
740 740
diff --git a/src/lj_ir.h b/src/lj_ir.h
index 3371a8a4..72a4d6b4 100644
--- a/src/lj_ir.h
+++ b/src/lj_ir.h
@@ -338,6 +338,9 @@ typedef enum {
338 IRT_U64, 338 IRT_U64,
339 /* There is room for 10 more types. */ 339 /* There is room for 10 more types. */
340 340
341 /* Native pointer type. */
342 IRT_PTR = LJ_64 ? IRT_P64 : IRT_P32,
343
341 /* Additional flags. */ 344 /* Additional flags. */
342 IRT_MARK = 0x20, /* Marker for misc. purposes. */ 345 IRT_MARK = 0x20, /* Marker for misc. purposes. */
343 IRT_ISPHI = 0x40, /* Instruction is left or right PHI operand. */ 346 IRT_ISPHI = 0x40, /* Instruction is left or right PHI operand. */