Bladeren bron

Fix call unroll checks in the presence of metamethod frames.

Mike Pall 11 jaren geleden
bovenliggende
commit
0ded8e82a8
1 gewijzigde bestanden met toevoegingen van 1 en 0 verwijderingen
  1. 1 0
      src/lj_record.c

+ 1 - 0
src/lj_record.c

@@ -1389,6 +1389,7 @@ static void check_call_unroll(jit_State *J, TraceNo lnk)
   int32_t count = 0;
   if ((J->pt->flags & PROTO_VARARG)) depth--;  /* Vararg frame still missing. */
   for (; depth > 0; depth--) {  /* Count frames with same prototype. */
+    if (frame_iscont(frame)) depth--;
     frame = frame_prev(frame);
     if (mref(frame_func(frame)->l.pc, void) == pc)
       count++;