summaryrefslogtreecommitdiff
path: root/src/lj_record.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_record.c')
-rw-r--r--src/lj_record.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_record.c b/src/lj_record.c
index 35ec1456..c8502d5d 100644
--- a/src/lj_record.c
+++ b/src/lj_record.c
@@ -2047,6 +2047,7 @@ static void rec_setup_side(jit_State *J, GCtrace *T)
2047 SnapEntry *map = &T->snapmap[snap->mapofs]; 2047 SnapEntry *map = &T->snapmap[snap->mapofs];
2048 MSize n, nent = snap->nent; 2048 MSize n, nent = snap->nent;
2049 BloomFilter seen = 0; 2049 BloomFilter seen = 0;
2050 J->framedepth = 0;
2050 /* Emit IR for slots inherited from parent snapshot. */ 2051 /* Emit IR for slots inherited from parent snapshot. */
2051 for (n = 0; n < nent; n++) { 2052 for (n = 0; n < nent; n++) {
2052 SnapEntry sn = map[n]; 2053 SnapEntry sn = map[n];
@@ -2087,12 +2088,12 @@ static void rec_setup_side(jit_State *J, GCtrace *T)
2087 } 2088 }
2088 setslot: 2089 setslot:
2089 J->slot[s] = tr | (sn&(SNAP_CONT|SNAP_FRAME)); /* Same as TREF_* flags. */ 2090 J->slot[s] = tr | (sn&(SNAP_CONT|SNAP_FRAME)); /* Same as TREF_* flags. */
2091 J->framedepth += ((sn & (SNAP_CONT|SNAP_FRAME)) && s);
2090 if ((sn & SNAP_FRAME)) 2092 if ((sn & SNAP_FRAME))
2091 J->baseslot = s+1; 2093 J->baseslot = s+1;
2092 } 2094 }
2093 J->base = J->slot + J->baseslot; 2095 J->base = J->slot + J->baseslot;
2094 J->maxslot = snap->nslots - J->baseslot; 2096 J->maxslot = snap->nslots - J->baseslot;
2095 J->framedepth = snap->depth;
2096 lj_snap_add(J); 2097 lj_snap_add(J);
2097} 2098}
2098 2099