mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
Don't copy SNAP_NORESTORE mark into loops and suppress restore in exit.
This commit is contained in:
parent
23189fa40d
commit
db756430ee
@ -140,7 +140,7 @@ LJ_STATIC_ASSERT(SNAP_CONT == TREF_CONT);
|
||||
#define snap_slot(sn) ((BCReg)((sn) >> 24))
|
||||
#define snap_isframe(sn) ((sn) & SNAP_FRAME)
|
||||
#define snap_pc(sn) ((const BCIns *)(uintptr_t)(sn))
|
||||
#define snap_setref(sn, ref) (((sn) & 0xffff0000) | (ref))
|
||||
#define snap_setref(sn, ref) (((sn) & (0xffff0000&~SNAP_NORESTORE)) | (ref))
|
||||
|
||||
/* Snapshot and exit numbers. */
|
||||
typedef uint32_t SnapNo;
|
||||
|
@ -267,7 +267,7 @@ const BCIns *lj_snap_restore(jit_State *J, void *exptr)
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
} else if (!(sn & SNAP_NORESTORE)) {
|
||||
IRType1 t = ir->t;
|
||||
RegSP rs = ir->prev;
|
||||
lua_assert(!(sn & (SNAP_CONT|SNAP_FRAME)));
|
||||
|
Loading…
Reference in New Issue
Block a user