aboutsummaryrefslogtreecommitdiff
path: root/src/lj_record.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lj_record.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_record.c b/src/lj_record.c
index 48018f42..a858ffa9 100644
--- a/src/lj_record.c
+++ b/src/lj_record.c
@@ -105,7 +105,7 @@ static void rec_check_slots(jit_State *J)
105 lua_assert(tref_isfunc(tr)); 105 lua_assert(tref_isfunc(tr));
106#if LJ_FR2 106#if LJ_FR2
107 } else if (s == 1) { 107 } else if (s == 1) {
108 lua_assert(0); 108 lua_assert((tr & ~TREF_FRAME) == 0);
109#endif 109#endif
110 } else if ((tr & TREF_FRAME)) { 110 } else if ((tr & TREF_FRAME)) {
111 GCfunc *fn = gco2func(frame_gc(tv)); 111 GCfunc *fn = gco2func(frame_gc(tv));
@@ -747,7 +747,7 @@ void lj_record_tailcall(jit_State *J, BCReg func, ptrdiff_t nargs)
747 } 747 }
748 /* Move func + args down. */ 748 /* Move func + args down. */
749 if (LJ_FR2 && J->baseslot == 2) 749 if (LJ_FR2 && J->baseslot == 2)
750 J->base[func+1] = 0; 750 J->base[func+1] = TREF_FRAME;
751 memmove(&J->base[-1-LJ_FR2], &J->base[func], sizeof(TRef)*(J->maxslot+1+LJ_FR2)); 751 memmove(&J->base[-1-LJ_FR2], &J->base[func], sizeof(TRef)*(J->maxslot+1+LJ_FR2));
752 /* Note: the new TREF_FRAME is now at J->base[-1] (even for slot #0). */ 752 /* Note: the new TREF_FRAME is now at J->base[-1] (even for slot #0). */
753 /* Tailcalls can form a loop, so count towards the loop unroll limit. */ 753 /* Tailcalls can form a loop, so count towards the loop unroll limit. */