diff options
author | Mike Pall <mike> | 2010-12-06 02:14:39 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-12-06 02:14:39 +0100 |
commit | e137408752d6339431977f0bbb123ceb051eddfd (patch) | |
tree | 1be69c47e4a85432c472ef922c5ac70a57e91dcf /src | |
parent | 73bc83cda155c690024254cab12069db92b753ac (diff) | |
download | luajit-e137408752d6339431977f0bbb123ceb051eddfd.tar.gz luajit-e137408752d6339431977f0bbb123ceb051eddfd.tar.bz2 luajit-e137408752d6339431977f0bbb123ceb051eddfd.zip |
Use native IRT_PTR instead of IRT_LIGHTUD workaround for FILE*.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_ffrecord.c | 4 | ||||
-rw-r--r-- | src/lj_ir.h | 3 |
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. */ |