diff options
Diffstat (limited to 'src/lj_snap.c')
-rw-r--r-- | src/lj_snap.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lj_snap.c b/src/lj_snap.c index 1af7ef85..5fc90d8c 100644 --- a/src/lj_snap.c +++ b/src/lj_snap.c | |||
@@ -72,7 +72,7 @@ static MSize snapshot_slots(jit_State *J, SnapEntry *map, BCReg nslots) | |||
72 | (ir->op2 & (IRSLOAD_READONLY|IRSLOAD_PARENT)) != IRSLOAD_PARENT) | 72 | (ir->op2 & (IRSLOAD_READONLY|IRSLOAD_PARENT)) != IRSLOAD_PARENT) |
73 | sn |= SNAP_NORESTORE; | 73 | sn |= SNAP_NORESTORE; |
74 | } | 74 | } |
75 | if (LJ_SOFTFP && !irref_isk(ref) && irt_isnum(ir->t)) | 75 | if (LJ_SOFTFP && irt_isnum(ir->t)) |
76 | sn |= SNAP_SOFTFPNUM; | 76 | sn |= SNAP_SOFTFPNUM; |
77 | map[n++] = sn; | 77 | map[n++] = sn; |
78 | } | 78 | } |
@@ -316,7 +316,8 @@ void lj_snap_regspmap(uint16_t *rsmap, GCtrace *T, SnapNo snapno, int hi) | |||
316 | for (n = 0; n < nent; n++) { | 316 | for (n = 0; n < nent; n++) { |
317 | SnapEntry sn = map[n]; | 317 | SnapEntry sn = map[n]; |
318 | IRRef ref = snap_ref(sn); | 318 | IRRef ref = snap_ref(sn); |
319 | if ((LJ_SOFTFP && hi) ? (ref++, (sn & SNAP_SOFTFPNUM)) : !irref_isk(ref)) { | 319 | if (!irref_isk(ref) && |
320 | ((LJ_SOFTFP && hi) ? (ref++, (sn & SNAP_SOFTFPNUM)) : 1)) { | ||
320 | IRIns *ir = &T->ir[ref]; | 321 | IRIns *ir = &T->ir[ref]; |
321 | uint32_t rs = ir->prev; | 322 | uint32_t rs = ir->prev; |
322 | if (bloomtest(rfilt, ref)) | 323 | if (bloomtest(rfilt, ref)) |