summaryrefslogtreecommitdiff
path: root/src/lj_snap.c
diff options
context:
space:
mode:
authorMike Pall <mike>2011-05-22 17:41:59 +0200
committerMike Pall <mike>2011-05-22 17:44:58 +0200
commit138f54352ad604ef50f77cbcc15abec6dbd883c0 (patch)
treef8ac2d3599cec2af1007da1c894847d3d0e2ff95 /src/lj_snap.c
parentd0115c65f5ad80af2a113332906a0c5a010f9812 (diff)
downloadluajit2-138f54352ad604ef50f77cbcc15abec6dbd883c0.tar.gz
Split up FP IR instructions with SPLIT pass for soft-float targets.
Diffstat (limited to 'src/lj_snap.c')
-rw-r--r--src/lj_snap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_snap.c b/src/lj_snap.c
index dd70ece1..1af7ef85 100644
--- a/src/lj_snap.c
+++ b/src/lj_snap.c
@@ -307,7 +307,7 @@ static RegSP snap_renameref(GCtrace *T, SnapNo lim, IRRef ref, RegSP rs)
/* Convert a snapshot into a linear slot -> RegSP map.
** Note: unused slots are not initialized!
*/
-void lj_snap_regspmap(uint16_t *rsmap, GCtrace *T, SnapNo snapno)
+void lj_snap_regspmap(uint16_t *rsmap, GCtrace *T, SnapNo snapno, int hi)
{
SnapShot *snap = &T->snap[snapno];
MSize n, nent = snap->nent;
@@ -316,7 +316,7 @@ void lj_snap_regspmap(uint16_t *rsmap, GCtrace *T, SnapNo snapno)
for (n = 0; n < nent; n++) {
SnapEntry sn = map[n];
IRRef ref = snap_ref(sn);
- if (!irref_isk(ref)) {
+ if ((LJ_SOFTFP && hi) ? (ref++, (sn & SNAP_SOFTFPNUM)) : !irref_isk(ref)) {
IRIns *ir = &T->ir[ref];
uint32_t rs = ir->prev;
if (bloomtest(rfilt, ref))