diff --git a/src/lj_ir.c b/src/lj_ir.c index 567aec86..6eb77efc 100644 --- a/src/lj_ir.c +++ b/src/lj_ir.c @@ -323,7 +323,7 @@ TRef lj_ir_kgc(jit_State *J, GCobj *o, IRType t) { IRIns *ir, *cir = J->cur.ir; IRRef ref; - lua_assert(!LJ_GC64); /* TODO_GC64: major changes required. */ + //lua_assert(!LJ_GC64); /* TODO_GC64: major changes required. */ lua_assert(!isdead(J2G(J), o)); for (ref = J->chain[IR_KGC]; ref; ref = cir[ref].prev) if (ir_kgc(&cir[ref]) == o) diff --git a/src/lj_jit.h b/src/lj_jit.h index 10900bf6..080fc7cd 100644 --- a/src/lj_jit.h +++ b/src/lj_jit.h @@ -166,7 +166,11 @@ typedef struct SnapShot { #define SNAPCOUNT_DONE 255 /* Already compiled and linked a side trace. */ /* Compressed snapshot entry. */ +#ifdef LJ_GC64 +typedef uint64_t SnapEntry; +#else typedef uint32_t SnapEntry; +#endif #define SNAP_FRAME 0x010000 /* Frame slot. */ #define SNAP_CONT 0x020000 /* Continuation slot. */ @@ -178,7 +182,7 @@ LJ_STATIC_ASSERT(SNAP_CONT == TREF_CONT); #define SNAP(slot, flags, ref) (((SnapEntry)(slot) << 24) + (flags) + (ref)) #define SNAP_TR(slot, tr) \ (((SnapEntry)(slot) << 24) + ((tr) & (TREF_CONT|TREF_FRAME|TREF_REFMASK))) -#define SNAP_MKPC(pc) ((SnapEntry)u32ptr(pc)) +#define SNAP_MKPC(pc) ((SnapEntry)(pc)) #define SNAP_MKFTSZ(ftsz) ((SnapEntry)(ftsz)) #define snap_ref(sn) ((sn) & 0xffff) #define snap_slot(sn) ((BCReg)((sn) >> 24))